/* Agentic LOP global layer: shared layout, header, mobile nav and utilities. */
:root{
  --agentic-lime:#A6F20D;
  --agentic-lime-soft:#D9FFB3;
  --agentic-bg:#020907;
  --agentic-ink:#F6FFF9;
  --agentic-muted:#9FB0A7;
  --agentic-stroke:rgba(166,242,13,.18);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
img,svg,video{max-width:100%;height:auto}
a{color:inherit}

/* Unified sticky header glass layer. */
header.nav,
header.pricing-nav{
  position:sticky!important;
  top:0!important;
  left:auto!important;
  transform:none!important;
  z-index:1600!important;
  isolation:isolate;
  background:rgba(3,10,8,.42)!important;
  border-bottom:0!important;
  box-shadow:0 18px 55px rgba(0,0,0,.22)!important;
  backdrop-filter:blur(18px) saturate(132%)!important;
  -webkit-backdrop-filter:blur(18px) saturate(132%)!important;
}
header.nav::before,
header.pricing-nav::before{
  content:"";
  position:absolute;
  inset:0 auto 0 50%;
  width:100vw;
  transform:translateX(-50%);
  z-index:-1;
  background:linear-gradient(180deg,rgba(2,9,7,.74),rgba(2,9,7,.38));
  border-bottom:0;
  backdrop-filter:blur(18px) saturate(132%);
  -webkit-backdrop-filter:blur(18px) saturate(132%);
  pointer-events:none;
}
body.hero-video-index header.wrap.nav{
  width:min(1240px,calc(100vw - 48px))!important;
  margin:auto!important;
}

/* Shared desktop agents dropdown. */
.nav-item{position:relative}
.nav-trigger{min-height:44px;align-items:center}
.nav-item.is-open .nav-trigger{color:var(--accent,var(--agentic-lime))}
.nav-item.is-open .nav-trigger::after{transform:rotate(225deg) translateY(-1px)}
.agents-menu{z-index:4200}
.nav-item.is-open .agents-menu{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  transform:translateX(-50%) translateY(0)!important;
}

/* Mobile menu normalization across home, agent pages and pricing. */
@media(max-width:980px){
  header.nav,
  header.pricing-nav{
    min-height:78px;
    overflow:visible!important;
  }
  header.nav.open,
  header.pricing-nav.open{
    z-index:5200!important;
    background:rgba(3,10,8,.78)!important;
  }
  header.nav .menu-toggle,
  header.pricing-nav .menu-toggle{
    display:inline-flex!important;
    position:relative;
    z-index:5300;
    flex:0 0 auto;
  }
  header.nav .navlinks,
  header.pricing-nav .navlinks{
    position:absolute!important;
    top:calc(100% + 8px)!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    display:none!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:0!important;
    max-height:calc(100vh - 104px);
    overflow:auto;
    padding:12px!important;
    border:1px solid rgba(166,242,13,.24)!important;
    border-radius:22px!important;
    background:rgba(6,19,15,.96)!important;
    box-shadow:0 24px 80px rgba(0,0,0,.42),0 0 38px rgba(166,242,13,.08)!important;
    backdrop-filter:blur(18px)!important;
    -webkit-backdrop-filter:blur(18px)!important;
    z-index:5250!important;
  }
  header.nav.open .navlinks,
  header.pricing-nav.open .navlinks{display:flex!important}
  header.nav .navlinks>a,
  header.nav .nav-trigger,
  header.pricing-nav .navlinks>a,
  header.pricing-nav .nav-trigger{
    width:100%!important;
    justify-content:space-between!important;
    padding:14px 12px!important;
    border-radius:14px!important;
    font-size:14px!important;
  }
  header.nav .nav-trigger::after,
  header.pricing-nav .nav-trigger::after{display:none!important}
  header.nav .nav-actions,
  header.pricing-nav .nav-actions{display:none!important}
  header.nav .agents-menu,
  header.pricing-nav .agents-menu{
    position:static!important;
    left:auto!important;
    width:100%!important;
    margin:4px 0 8px!important;
    padding:8px!important;
    transform:none!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    border-radius:18px!important;
    background:rgba(0,0,0,.16)!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
  }
  header.nav .agent-menu-link,
  header.pricing-nav .agent-menu-link{width:100%;padding:10px!important}
}

@media(max-width:620px){
  body.hero-video-index header.wrap.nav{width:min(100vw - 28px,560px)!important}
}

/* Shared footer legal links. */
.brand-footer-links{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:16px;color:rgba(246,255,249,.72);font-size:12px}
.brand-footer-links a{color:var(--agentic-lime);text-decoration:none}
.brand-footer-links a:hover{text-decoration:underline}

/* Utility for JS-driven count-up numbers before animation starts. */
.count-up,.count-up-auto{font-variant-numeric:tabular-nums}

/* QA fix: keep animated logo marquees from expanding mobile document width. */
.client-logo-marquee{
  max-width:100vw;
  overflow:hidden;
  overflow:clip;
  contain:layout paint;
}
.client-logo-marquee{
  min-height:82px;
}
.client-logo-marquee .client-logo-track{
  position:absolute;
  top:50%;
  left:0;
}
@keyframes clientLogosRight{
  from{transform:translate3d(-50%,-50%,0)}
  to{transform:translate3d(0,-50%,0)}
}
@media(max-width:900px){
  .client-logo-marquee{min-height:68px}
}
@media(max-width:620px){
  body.hero-video-index header.wrap.nav,
  header.wrap.nav{
    width:100%!important;
    max-width:100%!important;
  }
}
html,
body{
  max-width:100%;
  overflow-x:hidden;
}
@supports (overflow:clip){
  html,
  body{overflow-x:clip}
}

/* Hero badge: one aligned glowing trace, no duplicated offset capsule. */
body.hero-video-index .hero.hero-clean .eyebrow{
  border:1px solid rgba(166,242,13,.34)!important;
  box-shadow:0 0 18px rgba(166,242,13,.18), inset 0 0 18px rgba(166,242,13,.05)!important;
  overflow:hidden!important;
}
body.hero-video-index .hero.hero-clean .eyebrow-border{
  inset:0!important;
  width:100%!important;
  height:100%!important;
  filter:drop-shadow(0 0 7px rgba(166,242,13,.75)) drop-shadow(0 0 16px rgba(166,242,13,.28))!important;
  z-index:3!important;
}
body.hero-video-index .hero.hero-clean .eyebrow-base{
  stroke:transparent!important;
}
body.hero-video-index .hero.hero-clean .eyebrow-trace{
  stroke:#A6F20D!important;
  stroke-width:2!important;
  stroke-dasharray:12 88!important;
}
body.hero-video-index .hero.hero-clean .eyebrow-text{
  z-index:4!important;
}

/* Hero badge final: CSS-native border trace locked to the badge box. */
@property --agentic-badge-angle{
  syntax:"<angle>";
  inherits:false;
  initial-value:0deg;
}
body.hero-video-index .hero.hero-clean .eyebrow{
  position:relative!important;
  overflow:hidden!important;
  border:1px solid rgba(166,242,13,.28)!important;
  background:linear-gradient(180deg,rgba(12,28,10,.86),rgba(5,12,8,.94))!important;
  box-shadow:0 0 18px rgba(166,242,13,.16), inset 0 0 16px rgba(166,242,13,.045)!important;
}
body.hero-video-index .hero.hero-clean .eyebrow-border{
  display:none!important;
}
body.hero-video-index .hero.hero-clean .eyebrow:before{
  content:none!important;
  display:none!important;
}
body.hero-video-index .hero.hero-clean .eyebrow:after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  inset:0!important;
  z-index:3!important;
  pointer-events:none!important;
  border-radius:inherit!important;
  padding:1.5px!important;
  background:conic-gradient(from var(--agentic-badge-angle),
    rgba(166,242,13,.18) 0deg,
    rgba(166,242,13,.24) 56deg,
    rgba(217,255,179,1) 76deg,
    rgba(166,242,13,.88) 96deg,
    rgba(166,242,13,.16) 130deg,
    rgba(166,242,13,.08) 360deg
  )!important;
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0)!important;
  -webkit-mask-composite:xor!important;
  mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0)!important;
  mask-composite:exclude!important;
  filter:drop-shadow(0 0 5px rgba(166,242,13,.75)) drop-shadow(0 0 14px rgba(166,242,13,.26))!important;
  animation:agenticBadgeOrbit 4.35s cubic-bezier(.65,0,.35,1) infinite!important;
}
body.hero-video-index .hero.hero-clean .eyebrow-text{
  position:relative!important;
  z-index:4!important;
}
@keyframes agenticBadgeOrbit{
  0%{--agentic-badge-angle:0deg;filter:drop-shadow(0 0 4px rgba(166,242,13,.55)) drop-shadow(0 0 10px rgba(166,242,13,.18))}
  42%{--agentic-badge-angle:142deg;filter:drop-shadow(0 0 5px rgba(166,242,13,.8)) drop-shadow(0 0 14px rgba(166,242,13,.24))}
  50%{--agentic-badge-angle:180deg;filter:drop-shadow(0 0 7px rgba(217,255,179,.95)) drop-shadow(0 0 18px rgba(166,242,13,.34))}
  58%{--agentic-badge-angle:218deg;filter:drop-shadow(0 0 5px rgba(166,242,13,.8)) drop-shadow(0 0 14px rgba(166,242,13,.24))}
  100%{--agentic-badge-angle:360deg;filter:drop-shadow(0 0 4px rgba(166,242,13,.55)) drop-shadow(0 0 10px rgba(166,242,13,.18))}
}
@media(prefers-reduced-motion:reduce){
  body.hero-video-index .hero.hero-clean .eyebrow:after{animation:none!important;--agentic-badge-angle:90deg}
}

/* Specificity override for legacy page rule that disabled hero-copy eyebrow pseudo elements. */
body.hero-video-index .hero.hero-clean .hero-copy .eyebrow:after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  inset:0!important;
  z-index:3!important;
  pointer-events:none!important;
  border-radius:inherit!important;
  padding:1.5px!important;
  background:conic-gradient(from var(--agentic-badge-angle),
    rgba(166,242,13,.18) 0deg,
    rgba(166,242,13,.24) 56deg,
    rgba(217,255,179,1) 76deg,
    rgba(166,242,13,.88) 96deg,
    rgba(166,242,13,.16) 130deg,
    rgba(166,242,13,.08) 360deg
  )!important;
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0)!important;
  -webkit-mask-composite:xor!important;
  mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0)!important;
  mask-composite:exclude!important;
  filter:drop-shadow(0 0 5px rgba(166,242,13,.75)) drop-shadow(0 0 14px rgba(166,242,13,.26))!important;
  animation:agenticBadgeOrbit 4.35s cubic-bezier(.65,0,.35,1) infinite!important;
}

/* Home header alignment: keep desktop navigation items on one baseline. */
@media(min-width:981px){
  body.hero-video-index header.wrap.nav{
    align-items:center!important;
  }
  body.hero-video-index header.nav .brand,
  body.hero-video-index header.nav .navlinks,
  body.hero-video-index header.nav .nav-actions,
  body.hero-video-index header.nav .lang-switch{
    align-items:center!important;
  }
  body.hero-video-index header.nav .navlinks{
    flex:1 1 auto!important;
    justify-content:center!important;
    gap:24px!important;
    min-width:0!important;
  }
  body.hero-video-index header.nav .navlinks>a,
  body.hero-video-index header.nav .nav-trigger,
  body.hero-video-index header.nav .lang-switch,
  body.hero-video-index header.nav .btn{
    white-space:nowrap!important;
    line-height:1!important;
  }
  body.hero-video-index header.nav .nav-trigger{
    min-height:auto!important;
    height:auto!important;
  }
}

/* Home header hardening: avoid nav item wrapping or vertical drift on medium desktop. */
@media(min-width:981px){
  body.hero-video-index header.wrap.nav{
    display:flex!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    height:84px!important;
  }
  body.hero-video-index header.nav .brand,
  body.hero-video-index header.nav .navlinks,
  body.hero-video-index header.nav .nav-actions,
  body.hero-video-index header.nav .lang-switch,
  body.hero-video-index header.nav .nav-item{
    flex-shrink:0!important;
  }
  body.hero-video-index header.nav .navlinks{
    display:flex!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
  }
  body.hero-video-index header.nav .navlinks>a,
  body.hero-video-index header.nav .nav-trigger{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex:0 0 auto!important;
    white-space:nowrap!important;
    line-height:1!important;
    text-align:center!important;
  }
}
@media(min-width:981px) and (max-width:1160px){
  body.hero-video-index header.wrap.nav{
    gap:16px!important;
    padding-left:20px!important;
    padding-right:20px!important;
  }
  body.hero-video-index header.nav .brand img{
    height:26px!important;
  }
  body.hero-video-index header.nav .navlinks{
    gap:18px!important;
    font-size:13px!important;
  }
  body.hero-video-index header.nav .navlinks>a,
  body.hero-video-index header.nav .nav-trigger{
    font-size:13px!important;
  }
  body.hero-video-index header.nav .btn.primary{
    padding:13px 18px!important;
    font-size:13px!important;
  }
  body.hero-video-index header.nav .lang-switch a{
    min-width:30px!important;
    padding:6px 8px!important;
  }
}

/* Header is a full-width bar, not a constrained .wrap container. */
body.hero-video-index > header.wrap.nav{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}
@supports (width:100dvw){
  body.hero-video-index > header.wrap.nav{width:100dvw!important}
}

/* Mobile hero CTAs side-by-side. */
@media(max-width:620px){
  body.hero-video-index .hero.hero-clean .hero-actions{
    width:100%!important;
    max-width:360px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:10px!important;
    align-items:center!important;
  }
  body.hero-video-index .hero.hero-clean .hero-actions .btn{
    width:100%!important;
    min-width:0!important;
    justify-content:center!important;
    padding:13px 12px!important;
    font-size:14px!important;
    white-space:nowrap!important;
  }
}
@media(max-width:360px){
  body.hero-video-index .hero.hero-clean .hero-actions{gap:8px!important}
  body.hero-video-index .hero.hero-clean .hero-actions .btn{font-size:13px!important;padding:12px 9px!important}
}

/* iOS/Safari-safe hero video fallback. */
body.hero-video-index .site-video-bg{
  background:
    radial-gradient(circle at 50% 58%,rgba(166,242,13,.26),transparent 34%),
    radial-gradient(circle at 82% 18%,rgba(38,168,255,.16),transparent 32%),
    url("../video/bg-video-poster.svg") center / cover no-repeat,
    #020907!important;
}

body.hero-video-index .site-video-bg video{
  display:block!important;
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
  transform-style:preserve-3d;
}

@supports (-webkit-touch-callout:none){
  body.hero-video-index .site-video-bg video{
    width:100%!important;
    height:100%!important;
    min-width:100%!important;
    min-height:100%!important;
    object-fit:cover!important;
    opacity:.86!important;
  }
}
