/* ================= PREMIUM LAYER — advanced-tech feel (additive, theme-consistent) ================= */
:root{--glow-blue:rgba(18,134,255,.45);--glow-purple:rgba(120,57,245,.4);--glass:rgba(255,255,255,.72)}

/* ---- scroll progress bar ---- */
.scroll-progress{position:fixed;top:0;left:0;height:3px;width:0;z-index:200;background:linear-gradient(90deg,var(--cyan),var(--blue),var(--purple));box-shadow:0 0 14px rgba(18,134,255,.6);transition:width .08s linear}

/* ---- glass nav w/ scroll state + gradient hairline ---- */
header{transition:background .35s ease,box-shadow .35s ease,border-color .35s ease}
header.scrolled{background:rgba(255,255,255,.7);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);box-shadow:0 10px 34px rgba(7,31,68,.10);border-bottom-color:transparent;position:sticky}
header.scrolled::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,var(--glow-blue),var(--glow-purple),transparent)}

/* ---- animated mesh-gradient hero + dot grid + floating orbs ---- */
.hero,.page-hero,.trust-hero{position:relative;overflow:hidden;isolation:isolate}
.hero::before,.page-hero::before{content:"";position:absolute;inset:-25%;z-index:-2;background:
  radial-gradient(38% 48% at 14% 18%,rgba(18,134,255,.30),transparent 60%),
  radial-gradient(34% 44% at 86% 12%,rgba(120,57,245,.26),transparent 60%),
  radial-gradient(46% 56% at 78% 88%,rgba(32,200,232,.22),transparent 62%);
  animation:heroDrift 20s ease-in-out infinite alternate}
@keyframes heroDrift{0%{transform:translate3d(0,0,0) scale(1)}100%{transform:translate3d(-4%,3%,0) scale(1.1)}}
.hero::after,.page-hero::after{content:"";position:absolute;inset:0;z-index:-1;background-image:radial-gradient(rgba(7,31,68,.05) 1px,transparent 1px);background-size:28px 28px;-webkit-mask:linear-gradient(180deg,#000,transparent 82%);mask:linear-gradient(180deg,#000,transparent 82%);pointer-events:none}

/* ---- shimmering gradient headline ---- */
.hero h1 span{background:linear-gradient(90deg,#0670e6,#7a2ff2,#0a6fff,#0670e6);background-size:280% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shimmer 7s linear infinite}
@keyframes shimmer{to{background-position:280% center}}

/* ---- proofbar: gradient numerals + subtle glass ---- */
.proofbar{background:linear-gradient(180deg,#fff,#f7fbff)}
.proofbar strong{background:linear-gradient(90deg,var(--blue),var(--purple));-webkit-background-clip:text;background-clip:text;color:transparent}

/* ---- premium glass cards: gradient border on hover + glow + depth ---- */
.signal,.solution-card,.case-card,.shield,.metric-box{
  background:rgba(255,255,255,.88);
  border:1px solid rgba(255,255,255,.7);position:relative}
.signal::after,.solution-card::after,.case-card::after,.shield::after{
  content:"";position:absolute;inset:0;border-radius:inherit;padding:1.2px;pointer-events:none;
  background:linear-gradient(135deg,var(--glow-blue),var(--glow-purple) 45%,transparent 70%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;
  opacity:0;transition:opacity .35s ease}
.signal:hover::after,.solution-card:hover::after,.case-card:hover::after,.shield:hover::after{opacity:1}
.signal:hover,.solution-card:hover,.case-card:hover,.shield:hover,.metric-box:hover{
  box-shadow:0 32px 64px rgba(7,31,68,.18),0 0 44px rgba(18,134,255,.12)}

/* ---- glow + shine-sweep buttons ---- */
.btn.primary,.nav-cta{position:relative;overflow:hidden;isolation:isolate;transition:transform .12s ease,box-shadow .3s ease}
.btn.primary::after,.nav-cta::after{content:"";position:absolute;top:0;left:-120%;width:55%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.4),transparent);transform:skewX(-20deg);transition:left .6s ease;pointer-events:none}
.btn.primary:hover::after,.nav-cta:hover::after{left:170%}
.btn.primary:hover,.nav-cta:hover{box-shadow:0 18px 44px var(--glow-blue),0 0 26px var(--glow-purple)}

/* ---- floating orb accents in alt / cta / booking sections ---- */
.alt,.cta,.booking-section{position:relative;overflow:hidden}
.alt::before{content:"";position:absolute;width:520px;height:520px;right:-180px;top:-180px;border-radius:50%;z-index:0;background:radial-gradient(circle,rgba(120,57,245,.12),transparent 70%);pointer-events:none;animation:orbFloat 16s ease-in-out infinite alternate}
.cta::before{content:"";position:absolute;width:600px;height:600px;left:-200px;bottom:-260px;border-radius:50%;z-index:0;background:radial-gradient(circle,rgba(18,134,255,.14),transparent 70%);pointer-events:none;animation:orbFloat 18s ease-in-out infinite alternate-reverse}
.alt>*,.cta>*{position:relative;z-index:1}
@keyframes orbFloat{to{transform:translate(30px,-24px) scale(1.12)}}

/* ---- agent console: cyan glow + row interactions ---- */
.agent-console{position:relative;overflow:hidden}
.agent-console::before{content:"";position:absolute;inset:0;background:radial-gradient(58% 60% at 82% 8%,rgba(32,200,232,.22),transparent 60%);pointer-events:none}
.agent-console>*{position:relative}
.activity div{transition:transform .25s cubic-bezier(.2,.7,.2,1),background .25s ease,border-color .25s ease}
.activity div:hover{transform:translateX(7px);background:rgba(255,255,255,.13);border-color:rgba(32,200,232,.5);box-shadow:0 0 26px rgba(32,200,232,.15)}

/* ---- scenes / tiles: deeper zoom + gradient veil on hover ---- */
.scene::after,.tile::after{content:"";position:absolute;inset:0;background:linear-gradient(140deg,rgba(18,134,255,.0),rgba(120,57,245,.0));transition:background .4s ease;z-index:-1}
.scene:hover::after,.tile:hover::after{background:linear-gradient(140deg,rgba(18,134,255,.18),rgba(120,57,245,.22))}
.scene:hover img,.tile:hover img{transform:scale(1.08)}

/* ---- section rhythm: gradient hairline dividers ---- */
section+section::before{content:"";display:block;height:1px;width:min(1120px,calc(100% - 40px));margin:0 auto;background:linear-gradient(90deg,transparent,rgba(18,134,255,.14),rgba(120,57,245,.14),transparent);transform:translateY(-42px)}

/* ---- eyebrow: gradient pill accent ---- */
.eyebrow{display:inline-flex;align-items:center;gap:8px}
.eyebrow::before{content:"";width:22px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--blue),var(--purple))}

/* (scroll-driven parallax removed — caused compositor jank; other motion covers the scroll feel) */

/* ---- reduced motion: quiet everything ---- */
@media(prefers-reduced-motion:reduce){
  .hero::before,.page-hero::before,.hero h1 span,.alt::before,.cta::before{animation:none!important}
  .scroll-progress{display:none}
}

/* ---- v2: dramatic dark closing CTA (site-wide) for premium contrast ---- */
.cta{background:linear-gradient(135deg,#06152d,#0b2f66 55%,#3a1e78);color:#fff;border-top:0}
.cta h2{color:#fff}
.cta p{color:#c8d6ee}
.cta .eyebrow{color:#57b8ff}
.cta::before{background:radial-gradient(circle,rgba(32,200,232,.22),transparent 70%)}
.cta::after{content:"";position:absolute;width:520px;height:520px;right:-170px;top:-210px;border-radius:50%;z-index:0;background:radial-gradient(circle,rgba(120,57,245,.30),transparent 70%);pointer-events:none;animation:orbFloat 15s ease-in-out infinite alternate}
.cta .btn.secondary{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.25);color:#fff;backdrop-filter:blur(6px)}
.cta .btn.secondary:hover{background:rgba(255,255,255,.16);border-color:#fff;color:#fff}
/* faint tech grid in the dark cta */
.cta{position:relative}
.cta > .container{position:relative;z-index:1}
.cta::before{z-index:0}

/* ---- v3: animated glow on the dark trust hero ---- */
.trust-hero::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:
  radial-gradient(48% 58% at 14% 22%,rgba(32,200,232,.24),transparent 60%),
  radial-gradient(44% 54% at 86% 82%,rgba(120,57,245,.30),transparent 62%);
  animation:heroDrift 22s ease-in-out infinite alternate}
.trust-hero>*{position:relative;z-index:1}

/* ---- v4: micro-refinements ---- */
/* animated nav underline on hover + active */
.navlinks a:not(.nav-cta){position:relative}
.navlinks a:not(.nav-cta)::after{content:"";position:absolute;left:0;right:0;bottom:-7px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--blue),var(--purple));transform:scaleX(0);transform-origin:left;transition:transform .28s cubic-bezier(.2,.7,.2,1)}
.navlinks a:not(.nav-cta):hover::after,.navlinks a.active:not(.nav-cta)::after{transform:scaleX(1)}
/* footer: gradient top accent + link hover */
footer{position:relative}
footer::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--blue),var(--purple),var(--cyan),transparent)}
.footer-grid a{transition:color .2s ease,transform .2s ease}
.footer-grid a:hover{color:var(--blue);transform:translateX(3px)}
/* gradient timeline step numbers */
.timeline-row .step{background:linear-gradient(90deg,var(--blue),var(--purple));-webkit-background-clip:text;background-clip:text;color:transparent}
