/* Progressive homepage interactions. Existing layout and brand colors stay intact. */
.gt-tech-video { position:absolute; z-index:0; inset:0; width:100%; height:100%; max-width:none; object-fit:cover; object-position:center; pointer-events:none; }
.gt-tech-video-veil { position:absolute; z-index:1; inset:0; background:linear-gradient(180deg,rgba(7,8,15,.56),rgba(22,24,58,.7)); pointer-events:none; }
#gt-sec-tech.gt-tech-gradient { background:#07080f!important; }
#gt-sec-tech.gt-tech-gradient::before { z-index:2; opacity:.36; }
#gt-sec-tech .gt-tech-gradient-inner { z-index:3; }
#gt-sec-tech .gt-tech-gradient-eyebrow,#gt-sec-tech .gt-tech-gradient-tagline { color:rgba(255,255,255,.9); text-shadow:0 2px 18px rgba(0,0,0,.45); }
#gt-sec-tech .gt-tech-wordmark { opacity:.96; }
.gt-hero-spotlight { position:absolute; z-index:1; left:0; top:0; width:420px; height:420px; border-radius:50%; pointer-events:none; opacity:0; transform:translate3d(-50%,-50%,0); background:radial-gradient(circle,rgba(79,125,253,.14),rgba(216,177,92,.06) 40%,transparent 70%); transition:opacity .35s ease; }
#gt-sec-hero:hover .gt-hero-spotlight { opacity:1; }
#gt-sec-hero .gt-hero-content { z-index:2; }

.gt-magnetic { --gt-mx:0px; --gt-my:0px; transform:translate3d(var(--gt-mx),var(--gt-my),0); transition:transform .28s cubic-bezier(.2,.8,.2,1); will-change:transform; }
.gt-magnetic.is-tracking { transition-duration:.08s; }

@media (hover:hover) and (pointer:fine) {
  #gt-sec-services .gt-stagger-grid.has-card-focus .gt-service-card:not(.is-focused) { opacity:.62; transform:scale(.985); }
  #gt-sec-services .gt-service-card { transition:opacity .3s ease,transform .3s ease,box-shadow .3s ease; }
  #gt-sec-services .gt-service-card.is-focused { transform:translateY(-5px); box-shadow:0 20px 44px rgba(22,24,58,.14); }
  .gt-industry-link { position:relative; transition:padding .25s ease,background .25s ease; }
  .gt-industry-link::before { content:""; position:absolute; left:-8px; top:50%; width:4px; height:0; transform:translateY(-50%); background:var(--gt-gold); transition:height .22s ease; }
  .gt-industry-link:hover { padding-left:12px; background:rgba(255,255,255,.34); }
  .gt-industry-link:hover::before { height:65%; }
  #gt-sec-testimonials.has-testimonial-focus .gt-testimonial-card:not(.is-focused) { opacity:.55; }
  #gt-sec-testimonials .gt-testimonial-card { transition:opacity .3s ease,transform .3s ease,filter .3s ease; }
  #gt-sec-testimonials .gt-testimonial-card.is-focused { transform:translateY(-6px) scale(1.015); filter:saturate(1.08); }
}

.gt-project-cursor { position:fixed; z-index:10001; left:0; top:0; display:grid; place-items:center; width:92px; height:92px; border-radius:50%; color:#fff; background:rgba(22,24,58,.92); font-size:10px; font-weight:600; letter-spacing:.04em; text-align:center; pointer-events:none; opacity:0; transform:translate3d(-50%,-50%,0) scale(.75); transition:opacity .2s ease,transform .2s ease; }
.gt-project-cursor.is-visible { opacity:1; transform:translate3d(-50%,-50%,0) scale(1); }

.gt-stat-value.is-counting { font-variant-numeric:tabular-nums; }
.gt-pressable { -webkit-tap-highlight-color:transparent; }
.gt-pressable:active { transform:scale(.975); transition-duration:.08s!important; }

@view-transition { navigation:auto; }
::view-transition-old(root),::view-transition-new(root) { animation-duration:.32s; animation-timing-function:ease-out; }

@media (max-width:768px), (hover:none), (pointer:coarse) {
  .gt-hero-spotlight,.gt-project-cursor { display:none; }
  .gt-magnetic { transform:none!important; }
}
@media (prefers-reduced-motion:reduce) {
  .gt-tech-video { display:none; }
  .gt-hero-spotlight,.gt-project-cursor { display:none; }
  .gt-magnetic,.gt-pressable,#gt-sec-services .gt-service-card,#gt-sec-testimonials .gt-testimonial-card { transform:none!important; transition:none!important; }
  ::view-transition-old(root),::view-transition-new(root) { animation:none; }
}
