/* GhostShield AI Technologies — component layer styles (companion to fx.js / globe.js) */

/* 3D hero globe (Three.js canvas injected by globe.js) */
.hero-dark{position:relative}
#globe{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
html.globe-on #net{display:none}

/* BlurText headline reveal (React Bits port) */
.wi{display:inline-block;opacity:0;filter:blur(8px);transform:translateY(16px);
  transition:opacity .7s cubic-bezier(0.23,1,0.32,1),filter .7s cubic-bezier(0.23,1,0.32,1),transform .7s cubic-bezier(0.23,1,0.32,1)}
.words-in .wi{opacity:1;filter:blur(0);transform:translateY(0)}

/* SpotlightCard glow (React Bits / Aceternity port) */
.rowlink,.feat{position:relative;overflow:hidden}
.rowlink>*,.feat>*{position:relative;z-index:1}
.card-glow{position:absolute;top:0;left:0;width:340px;height:340px;border-radius:50%;
  background:rgba(34,211,238,.09);filter:blur(42px);opacity:0;transition:opacity .45s ease;
  pointer-events:none;z-index:0}
.glow-on .card-glow{opacity:1}

@media (prefers-reduced-motion: reduce){
  .wi{transition:none;opacity:1;filter:none;transform:none}
  .card-glow{display:none}
}
