:root{
  --gt-navy:#0b2e5c;
  --gt-blue:#1155cc;
  --gt-cyan:#38bdf8;
  --gt-teal:#0ea5a8;
  --gt-ink:#10243e;
  --gt-muted:#607389;
  --gt-line:#dbe7f1;
  --gt-soft:#f5f9fd;
}
html{scroll-behavior:smooth}
body{font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--gt-ink);background:#fff;overflow-x:hidden}
::selection{background:rgba(56,189,248,.24);color:var(--gt-navy)}
.brand-gradient{background:linear-gradient(135deg,var(--gt-blue),var(--gt-teal))}
.brand-text{background:linear-gradient(135deg,var(--gt-blue),var(--gt-teal));-webkit-background-clip:text;background-clip:text;color:transparent}
.grid-bg{background-image:linear-gradient(rgba(11,46,92,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(11,46,92,.045) 1px,transparent 1px);background-size:32px 32px}
.dot-bg{background-image:radial-gradient(rgba(17,85,204,.16) 1.2px,transparent 1.2px);background-size:20px 20px}
.hero-glow:before{content:"";position:absolute;inset:-10%;background:radial-gradient(circle at 18% 12%,rgba(56,189,248,.18),transparent 34%),radial-gradient(circle at 86% 8%,rgba(14,165,168,.14),transparent 31%),radial-gradient(circle at 65% 84%,rgba(17,85,204,.10),transparent 30%);pointer-events:none}
.glass{background:rgba(255,255,255,.76);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(219,231,241,.78)}
.card-lift{transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}.card-lift:hover{transform:translateY(-6px);box-shadow:0 22px 55px rgba(11,46,92,.12);border-color:rgba(56,189,248,.55)}
.nav-link{position:relative}.nav-link:after{content:"";position:absolute;height:2px;left:0;right:100%;bottom:-8px;background:linear-gradient(90deg,var(--gt-blue),var(--gt-teal));transition:right .22s ease}.nav-link:hover:after,.nav-link.active:after{right:0}.nav-link.active{color:var(--gt-blue)}
.icon-box{width:46px;height:46px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,rgba(17,85,204,.10),rgba(14,165,168,.12));color:var(--gt-blue);border:1px solid rgba(56,189,248,.22)}
[data-icon]{width:1.25rem;height:1.25rem;display:inline-block;vertical-align:middle}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s ease}.reveal.is-visible{opacity:1;transform:none}
.float-slow{animation:floatSlow 5.6s ease-in-out infinite}.float-delayed{animation:floatSlow 6.6s ease-in-out .9s infinite}@keyframes floatSlow{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
.marquee-mask{mask-image:linear-gradient(to right,transparent,#000 12%,#000 88%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,#000 12%,#000 88%,transparent)}
.marquee-track{display:flex;width:max-content;animation:marquee 26s linear infinite}@keyframes marquee{to{transform:translateX(-50%)}}
.portfolio-item{transition:opacity .25s ease,transform .25s ease}.portfolio-item.is-hidden{display:none}.filter-btn.active{background:var(--gt-navy);color:#fff;border-color:var(--gt-navy)}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .32s ease}.faq-item.open .faq-answer{max-height:260px}.faq-item.open .faq-chevron{transform:rotate(180deg)}.faq-chevron{transition:transform .25s ease}
.toast{position:fixed;right:24px;bottom:24px;z-index:80;transform:translateY(120px);opacity:0;transition:.35s ease}.toast.show{transform:none;opacity:1}
.prose-gt p{color:#607389;line-height:1.85}.prose-gt h2,.prose-gt h3{color:#0b2e5c}
.contact-map{background:radial-gradient(circle at 50% 48%,rgba(56,189,248,.20),transparent 23%),linear-gradient(145deg,#eef8ff,#f8fffd);position:relative;overflow:hidden}.contact-map:before,.contact-map:after{content:"";position:absolute;border:1px solid rgba(17,85,204,.12);border-radius:50%}.contact-map:before{width:310px;height:310px;left:-82px;top:-88px}.contact-map:after{width:240px;height:240px;right:-80px;bottom:-90px}
.scan-paper{background-color:#fff;background-image:linear-gradient(rgba(11,46,92,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(11,46,92,.018) 1px,transparent 1px);background-size:4px 4px;box-shadow:0 16px 45px rgba(11,46,92,.12)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal,.card-lift,.float-slow,.float-delayed,.marquee-track{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
