/* PALETTE: neon - electric cyan -> blue -> violet on deep midnight navy (from the user's reference design).
   Cyan = brand/action, blue = assurance, violet = depth. Coral stays the "risk" status colour. */
:root{
  --navy-950:#030816; --navy-900:#050C1F; --navy-850:#08142E; --navy-800:#0D1B3D;
  --line-dark:rgba(120,170,255,.16); --line-dark-strong:rgba(120,170,255,.30);
  --on-dark:#F2F6FF; --on-dark-muted:#AEBBD6; --on-dark-subtle:#7F8FB0;
  --paper:#F4F7FD; --surface:#FFFFFF;
  --line:#E1E8F4; --line-strong:#C7D2E6; --ink:#081226; --body:#374157; --muted:#566178;

  --ac:#2FE0F2; --ac-bright:#3FE6F6; --ac-bright2:#BBAAFF; --ac-ink:#0A6D93;
  --ac2:#4F8CFF; --ac2-bright:#6FA0FF; --ac2-ink:#2652D9;
  --ac3:#8B6CF6;
  --hl2-ink:#6D4AE8; --hl2-bright:#6FA0FF;
  --g1:47,224,242; --g1b:63,230,246; --g2:79,140,255; --g2b:111,160,255; --g3:139,108,246; --g4:66,170,255; --g5:45,212,191;
  --btn1:#52E8F7; --btn2:#7C95FA; --btn1h:#7AF0FA; --btn2h:#9AA9FF; --btn-ink:#04122B;
  --tint:#E6F7FB; --tint-ink:#0B4A63; --tint2:#ECF1FF; --tint2-line:#CBD8FF; --tint2-ink:#1B3A8A;
  --chip-bg:#EDF4FD; --chip-line:#D3E0F5; --chip-ink:#23405F; --th-bg:#EDF2FB;
  --grad-line:linear-gradient(90deg,#3FE6F6 0%,#4F8CFF 55%,#8B6CF6 100%);
  --grad-prog:linear-gradient(90deg,#3FE6F6,#8B6CF6);

  --teal:#3FE6F6; --teal-hover:#7AF0FA; --teal-ink:#0A6D93;
  --risk:#FF7A8A; --connected:#3FE6F6; --focus:var(--ac2-ink);
}

/* =====================================================================
   NEXALIAN THEME LAYER  -  loaded after each page's own stylesheet.
   Palette carried over from the previous site: signal red, cobalt blue,
   deep navy. Red = exposure / action, blue = assurance / connected.
   Display type: Fraunces (self-hosted). UI/body: Geist (client's choice).
   Everything is same-origin external CSS: the site's CSP forbids inline.
   ===================================================================== */
@font-face{font-family:"Fraunces";src:url(/assets/fonts/Fraunces.woff2) format("woff2");font-weight:400 800;font-style:normal;font-display:swap}
@font-face{font-family:"Fraunces";src:url(/assets/fonts/Fraunces-Italic.woff2) format("woff2");font-weight:400 800;font-style:italic;font-display:swap}

:root{
  --serif:"Fraunces",Georgia,"Times New Roman",serif;
  --shadow:0 1.625rem 3.125rem -1.875rem rgba(10,18,38,.38);
}
.dark{--focus:var(--ac-bright)}
html{accent-color:var(--ac2-ink);scrollbar-color:#9AA6BC var(--paper)}
body{background:var(--paper);caret-color:var(--ac2-ink)}
::selection{background:rgba(var(--g2),.22)}

/* ------------------------------------------------------------ type ---- */
h1,h2{font-family:var(--serif);font-weight:560;font-optical-sizing:auto;letter-spacing:-.022em}
.hero h1{max-width:16ch;font-size:clamp(2.75rem,5.3vw,4.75rem);line-height:1.02;letter-spacing:-.032em}
.sectionHead h2,.demoIntro h2{font-size:clamp(2rem,3.7vw,3.25rem);line-height:1.07}
.ctaBand h2{font-size:clamp(1.9375rem,3.4vw,2.875rem);line-height:1.08;max-width:22ch}
.planCard h3{font-family:var(--serif);font-weight:560;letter-spacing:-.02em}
.intelligenceCore strong,.ai b{font-family:var(--serif);font-weight:560}
.grcStoryHead h3,.compare h3,.cell:nth-child(1) h3{font-family:var(--serif);font-weight:560;letter-spacing:-.02em}

/* the accent phrase inside headlines (italic serif, colour = meaning) */
.ac,.gradientText{font-style:italic;font-weight:500;letter-spacing:-.018em;color:var(--ac-ink)}
.ac.b{color:var(--hl2-ink)}
.hero .ac,.ctaBand .ac,.darkPanel .ac,.dark .ac{color:var(--ac-bright)}
.hero .ac.b,.ctaBand .ac.b,.dark .ac.b{color:var(--hl2-bright)}
.gradientText{
  color:var(--ac-bright);
  background:linear-gradient(100deg,var(--ac-bright) 10%,var(--ac-bright2) 85%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  -webkit-box-decoration-break:clone;box-decoration-break:clone;
  padding-right:.06em;
}

/* --------------------------------------------------- top bar + nav ---- */
.liveTopbar{background:#04060C;border-bottom-color:rgba(255,255,255,.06)}
.nav{
  background:rgba(7,11,20,.97);
  -webkit-backdrop-filter:saturate(1.4) blur(0.875rem);backdrop-filter:saturate(1.4) blur(0.875rem);
  border-bottom:0;
}
.nav::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:0.125rem;pointer-events:none;
  background:var(--grad-line);
}
.navlinks a::after,.links a::after{background:var(--ac-bright)}
#nxProgress{background:var(--grad-prog)}

/* ---------------------------------------------------------- buttons ---- */
.btn:not(.ghost),.btn.primary{
  border-radius:62.4375rem;color:var(--btn-ink);border-color:rgba(255,255,255,.14);
  background:linear-gradient(180deg,var(--btn1) 0%,var(--btn2) 100%);
  box-shadow:0 0.75rem 1.625rem -0.75rem rgba(var(--g1),.85),inset 0 0.0625rem 0 rgba(255,255,255,.24);
}
.nav .btn{padding:0 1.25rem}
.btn.ghost{color:var(--on-dark)}
.mnavPanel .mdemo{background:linear-gradient(180deg,var(--btn1),var(--btn2));color:var(--btn-ink)}
.mnavPanel a[aria-current="page"]{color:var(--ac-bright)}
@media (hover:hover) and (pointer:fine){
  .btn:not(.ghost):hover,.btn.primary:hover{background:linear-gradient(180deg,var(--btn1h),var(--btn2h));box-shadow:0 1rem 2rem -0.75rem rgba(var(--g1b),.9),inset 0 0.0625rem 0 rgba(255,255,255,.3)}
  .btn.ghost:hover{color:var(--ac-bright)}
}

/* ------------------------------------------------------------- hero ---- */
.hero{
  background:
    radial-gradient(62.5rem 35rem at 6% -14%,rgba(var(--g1),.50),transparent 62%),
    radial-gradient(56.25rem 40rem at 104% 110%,rgba(var(--g2),.55),transparent 62%),
    radial-gradient(32.5rem 22.5rem at 58% 42%,rgba(var(--g3),.16),transparent 72%),
    #070B14;
}
.hero::before{
  left:0;right:0;top:0;bottom:0;width:auto;height:auto;
  background:url(/assets/images/net-dark.webp?v=1791062990) 62% 40%/cover no-repeat;
  opacity:.42;
  -webkit-mask-image:linear-gradient(95deg,transparent 4%,#000 48%);mask-image:linear-gradient(95deg,transparent 4%,#000 48%);
}
.hero::after{
  content:"";position:absolute;left:0;right:0;top:0;bottom:0;z-index:-1;pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.04) 0.0625rem,transparent 0.0625rem),linear-gradient(90deg,rgba(255,255,255,.04) 0.0625rem,transparent 0.0625rem);
  background-size:4rem 4rem;
  -webkit-mask-image:radial-gradient(ellipse 70% 80% at 40% 30%,#000 10%,transparent 78%);mask-image:radial-gradient(ellipse 70% 80% at 40% 30%,#000 10%,transparent 78%);
}
.lead,.heroCopy>p{color:#C3CDDF}
.heroAICISO{color:var(--ac-bright);border-color:rgba(var(--g1b),.5);background:rgba(var(--g1b),.08)}

/* glass panels inside heroes */
.heroPanel,.storyOrbit{
  background:linear-gradient(160deg,rgba(24,36,64,.72),rgba(10,16,30,.78));
  -webkit-backdrop-filter:blur(0.75rem);backdrop-filter:blur(0.75rem);
  border:0.0625rem solid rgba(255,255,255,.11);
  box-shadow:0 3.125rem 5.625rem -3.125rem rgba(2,8,18,.95),0 0 5.625rem -1.875rem rgba(var(--g2),.45);
}
.signal .dot{background:var(--ac-bright)}
.signal:nth-of-type(even) .dot{background:var(--ac2-bright)}
.eyebrow{color:var(--ac-ink)}
.dark .eyebrow,.hero .eyebrow{color:var(--ac-bright)}

/* the dark bands under the home hero continue the same night field */
.heroProof,.aiCisoModulesSection,.nxStats{background:linear-gradient(180deg,#070B14,#05080F)}
.heroProof{border-top-color:rgba(255,255,255,.07)}
.aiCisoModulesSection{background:radial-gradient(43.75rem 16.25rem at 88% 10%,rgba(var(--g2),.16),transparent 70%),linear-gradient(180deg,#070B14,#05080F)}
/* the client's CSS put a 4.5rem pale strip (border-top in the paper colour) between two dark bands */
.nxStats{
  border-top:0;padding-top:3.5rem;
  background:radial-gradient(45rem 18.75rem at 8% 100%,rgba(var(--g1),.13),transparent 70%),linear-gradient(180deg,#05080F,#070B14);
}
.nxStatsGrid{border-top:0.0625rem solid rgba(255,255,255,.08)}
.nxStat b{background:linear-gradient(180deg,#fff,#C9D4F2);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}

/* ---------------------------------------------------- light sections ---- */
.section{
  position:relative;isolation:isolate;
  background:
    radial-gradient(56.25rem 26.25rem at 100% 0%,rgba(var(--g2),.07),transparent 70%),
    radial-gradient(47.5rem 23.75rem at 0% 100%,rgba(var(--g1),.055),transparent 70%),
    var(--paper);
}
.section::before{
  content:"";position:absolute;left:0;right:0;top:0;height:32.5rem;z-index:-1;pointer-events:none;
  background-image:radial-gradient(rgba(10,18,38,.085) 0.0625rem,transparent 0.0813rem);background-size:1.625rem 1.625rem;
  -webkit-mask-image:linear-gradient(180deg,#000,transparent);mask-image:linear-gradient(180deg,#000,transparent);
}
.section.alt{
  background:
    radial-gradient(48.75rem 23.75rem at 0% 0%,rgba(var(--g1),.065),transparent 70%),
    radial-gradient(52.5rem 27.5rem at 100% 100%,rgba(var(--g2),.08),transparent 70%),
    #FBFCFF;
}
.tag,.num{color:var(--ac-ink)}
.section.alt .tag,.section.alt .num{color:var(--ac2-ink)}

/* open columns: a short signal rule on top */
.cols>.item,.pairItem{position:relative;border-top:0.0625rem solid var(--line-strong)}
.cols>.item::before,.pairItem::before{content:"";position:absolute;left:0;top:-0.125rem;width:2.875rem;height:0.1875rem;border-radius:0.1875rem;background:var(--ac)}
.section.alt .cols>.item::before,.section.alt .pairItem::before{background:var(--ac2)}

/* joined hairline grids become separate lifted cards */
.ruledGrid{gap:1.25rem;background:none;border:0;border-radius:0;overflow:visible}
.ruledGrid>.item,.section.alt .ruledGrid>.item{
  position:relative;padding:2rem 1.75rem 2.125rem;background:#fff;
  border:0.0625rem solid var(--line);border-radius:1.375rem;box-shadow:var(--shadow);
  transition:transform 260ms var(--ease-out),box-shadow 260ms var(--ease-out);
}
.ruledGrid>.item::before{content:"";position:absolute;left:1.75rem;top:0;width:2.875rem;height:0.25rem;border-radius:0 0 0.25rem 0.25rem;background:var(--ac)}
.ruledGrid>.item:nth-child(3n+2)::before{background:var(--ac2)}
.ruledGrid>.item:nth-child(3n)::before{background:var(--ac3)}
.ruledGrid[data-n="3"]>.item:last-child:nth-child(3n+1){grid-column:1/-1}
.ruledGrid[data-n="3"]>.item:last-child:nth-child(3n+2){grid-column:span 2}
.ruledGrid[data-n="2"]>.item:last-child:nth-child(2n+1){grid-column:1/-1}
@media (hover:hover) and (pointer:fine){
  .ruledGrid>.item:hover{transform:translateY(-0.25rem);box-shadow:0 2.125rem 3.75rem -2rem rgba(10,18,38,.5)}
}
.pill{border-color:var(--line-strong)}
.pillrow .pill{background:var(--chip-bg);border-color:var(--chip-line);color:var(--chip-ink);border-radius:62.4375rem;padding:0.3125rem 0.75rem}

/* steps = a real sequence, so the markers stay */
.flowLine{background:var(--line-strong)}
.flowLine::after,.stepFlow .flowLine::after,.flow .flowLine::after{background:var(--grad-prog)}
.flowStep::before{border-color:var(--ac-ink);background:#fff}
.section.alt .flowStep::before{background:#FBFCFF}
.flowStep:nth-of-type(even)::before{border-color:var(--ac2-ink)}

/* ----------------------------------------------------- dark panels ---- */
.darkPanel{
  position:relative;isolation:isolate;overflow:hidden;
  background:
    radial-gradient(33.75rem 17.5rem at 0% 0%,rgba(var(--g1),.34),transparent 70%),
    radial-gradient(36.25rem 20rem at 100% 100%,rgba(var(--g2),.42),transparent 70%),
    var(--navy-900);
  border:0.0625rem solid rgba(255,255,255,.08);
}
.darkPanel>.panelItem{background:rgba(255,255,255,.05);border:0.0625rem solid rgba(255,255,255,.08);-webkit-backdrop-filter:blur(0.375rem);backdrop-filter:blur(0.375rem)}
.darkPanel .tag{color:var(--ac-bright)}
.darkPanel>.panelItem:nth-child(even) .tag{color:var(--ac2-bright)}

/* ---------------------------------------------------------- CTA band ---- */
.ctaBand{
  background:url(/assets/images/aurora-dark.webp?v=1791062990) center/cover no-repeat,#070B14;
  border:0.0625rem solid rgba(255,255,255,.1);
}
.ctaBand::before{display:none}
.ctaBand .eyebrow{color:var(--ac-bright)}

/* ------------------------------------------------------------ footer ---- */
footer{position:relative;isolation:isolate;background:#05080F}
footer::before{content:"";position:absolute;left:0;right:0;top:0;height:0.1875rem;background:var(--grad-line)}
footer::after{content:"";position:absolute;left:0;right:0;top:0;bottom:0;z-index:-1;pointer-events:none;background:url(/assets/images/net-dark.webp?v=1791062990) 90% 100%/cover no-repeat;opacity:.14}
.nxFooterCol h3{color:var(--on-dark)}
.partnerBadge{border-color:rgba(var(--g1b),.4);background:rgba(var(--g1b),.06)}
.badgeText small{color:var(--ac-bright)}

/* ----------------------------------------------------------- pricing ---- */
.planGrid{gap:1.5rem;align-items:stretch}
.planCard{border-radius:1.625rem;background:#fff;box-shadow:var(--shadow);padding:2.25rem 2rem}
.planLabel{color:var(--ac-ink)}
.planCard.featured{
  position:relative;isolation:isolate;overflow:hidden;color:var(--on-dark-muted);
  border:0.0625rem solid rgba(255,255,255,.12);
  background:
    radial-gradient(26.25rem 15rem at 0% 0%,rgba(var(--g1),.42),transparent 70%),
    radial-gradient(28.75rem 17.5rem at 100% 100%,rgba(var(--g2),.5),transparent 70%),
    var(--navy-900);
  box-shadow:0 2.5rem 5rem -2.25rem rgba(7,11,20,.8);
}
@media (min-width:1001px){.planCard.featured{margin-top:-0.875rem;margin-bottom:-0.875rem}}
.planCard.featured h3,.planCard.featured .includes strong,.planCard.featured .includes div{color:var(--on-dark)}
.planCard.featured .planLabel{color:var(--ac-bright)}
.planCard.featured .for,.planCard.featured .desc{color:var(--on-dark-muted)}
.planCard.featured .includes{border-top-color:rgba(255,255,255,.14)}
.tick{border-right-color:var(--ac2-ink);border-bottom-color:var(--ac2-ink)}
.planCard.featured .tick{border-right-color:var(--ac2-bright);border-bottom-color:var(--ac2-bright)}
.pricingTable th.plus{color:var(--ac-ink)}
.pricingTable th{background:var(--th-bg)}
.full{color:var(--ac2-ink)}
.compareBox{border-radius:1.375rem;box-shadow:var(--shadow);background:#fff}

/* ------------------------------------------------------------- forms ---- */
.demoForm{border-radius:1.5rem;background:#fff;box-shadow:var(--shadow)}
.demoForm input:focus,.demoForm textarea:focus{border-color:var(--ac2-ink);box-shadow:0 0 0 0.1875rem rgba(var(--g2),.18)}
.topic:has(input:checked){border-color:var(--ac2-ink);background:var(--tint2);color:var(--ink)}
.topic:has(input:focus-visible){outline-color:var(--ac2-ink)}
.demoDirect a,.privacyNote a{color:var(--ac-ink)}
.callout{background:var(--tint);color:var(--tint-ink);border-left:0.1875rem solid var(--ac)}
.formStatus .ok{background:var(--tint2);color:var(--tint2-ink)}

/* --------------------------------------------- home page components ---- */
.storyProgress{background:var(--grad-prog)}
.storyStep.on .storyIcon{background:var(--ac2-ink);border-color:var(--ac2-ink)}
.storyStep small{color:var(--ac2-ink)}
.indexItem .num::before{background:var(--ac)}
.indexItem:nth-child(even) .num::before{background:var(--ac2)}
.compare.good{
  background:
    radial-gradient(26.25rem 15rem at 100% 0%,rgba(var(--g2),.45),transparent 70%),
    radial-gradient(23.75rem 13.75rem at 0% 100%,rgba(var(--g1),.3),transparent 70%),
    var(--navy-900);
  border-color:rgba(255,255,255,.1);
}
.compare.good li::before{border-color:var(--ac2-bright)}
.cell{border-radius:1.5rem;background:#fff}
.cell:nth-child(1){
  background:
    radial-gradient(32.5rem 17.5rem at 100% 0%,rgba(var(--g1),.42),transparent 70%),
    radial-gradient(32.5rem 18.75rem at 0% 100%,rgba(var(--g2),.45),transparent 70%),
    var(--navy-900);
  border-color:rgba(255,255,255,.1);
}
.cell:nth-child(4){background:var(--tint2);border-color:var(--tint2-line)}
.cell:nth-child(4) .num{color:var(--ac2-ink)}
.cell:nth-child(1) .num{color:var(--ac2-bright)}
.stackGrid{
  background:
    radial-gradient(35rem 18.75rem at 0% 0%,rgba(var(--g1),.3),transparent 70%),
    radial-gradient(37.5rem 21.25rem at 100% 100%,rgba(var(--g2),.38),transparent 70%),
    var(--navy-900);
  border:0.0625rem solid rgba(255,255,255,.08);
}
.storyResult{background:linear-gradient(110deg,#0B1222,#101C3A)}

/* hero diagram: "connected" state is blue, "risk" state is red */
.chaosLabel{color:var(--risk)}

/* sector tiles (home) - only the direct children of .industries */
.industries{gap:1rem;background:none;border:0;border-radius:0;overflow:visible}
.industries::after{display:none} /* client's sheen sweep (inset:-40%) leaked horizontally once the grid stopped clipping */
.industries>.pill{
  --t1:rgba(var(--g1),.55);--t2:rgba(var(--g2),.28);
  position:relative;isolation:isolate;overflow:hidden;min-height:9.75rem;padding:1.375rem 1.375rem 1.5rem;
  background:radial-gradient(15rem 11.25rem at 88% 8%,var(--t1),transparent 72%),radial-gradient(13.75rem 10.625rem at 0% 100%,var(--t2),transparent 72%),#0A1122;
  border:0.0625rem solid rgba(255,255,255,.08);border-radius:1.375rem;color:#fff;
  box-shadow:0 1.5rem 2.75rem -1.75rem rgba(10,18,38,.6);
  transition:transform 260ms var(--ease-out),box-shadow 260ms var(--ease-out);
}
.industries>.pill::after{
  content:"";position:absolute;right:0;bottom:0;width:62%;height:46%;z-index:-1;opacity:.9;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 60' preserveAspectRatio='none'%3E%3Cg fill='white' fill-opacity='.13'%3E%3Crect x='6' y='34' width='10' height='26'/%3E%3Crect x='20' y='24' width='10' height='36'/%3E%3Crect x='34' y='38' width='10' height='22'/%3E%3Crect x='48' y='14' width='10' height='46'/%3E%3Crect x='62' y='30' width='10' height='30'/%3E%3Crect x='76' y='20' width='10' height='40'/%3E%3Crect x='90' y='36' width='10' height='24'/%3E%3Crect x='104' y='10' width='10' height='50'/%3E%3C/g%3E%3C/svg%3E") right bottom/100% 100% no-repeat;
}
.industries>.pill:nth-child(2),.industries>.pill:nth-child(6){--t1:rgba(var(--g2),.62);--t2:rgba(var(--g3),.22)}
.industries>.pill:nth-child(3),.industries>.pill:nth-child(8){--t1:rgba(var(--g4),.5);--t2:rgba(var(--g1),.22)}
.industries>.pill:nth-child(4){--t1:rgba(var(--g5),.5);--t2:rgba(var(--g2),.22)}
.industries>.pill:nth-child(5){--t1:rgba(var(--g3),.62);--t2:rgba(var(--g2),.22)}
.industries>.pill:nth-child(7){--t1:rgba(var(--g1),.58);--t2:rgba(var(--g3),.22)}
.industries>.pill .pillName{font-family:var(--serif);font-weight:560;font-size:1.3125rem;line-height:1.18;color:#fff;letter-spacing:-.012em}
.industries>.pill .pillNum{color:rgba(255,255,255,.55)}
.industries>.pill .pillBar{background:#fff;opacity:.85}
@media (hover:hover) and (pointer:fine){
  .industries>.pill:hover{background:radial-gradient(15rem 11.25rem at 88% 8%,var(--t1),transparent 72%),radial-gradient(13.75rem 10.625rem at 0% 100%,var(--t2),transparent 72%),#0A1122;color:#fff;transform:translateY(-0.25rem);box-shadow:0 2.125rem 3.5rem -1.75rem rgba(10,18,38,.8)}
  .industries>.pill:hover .pillNum{color:#fff}
  .industries>.pill:hover .pillName{color:#fff}
}

/* U.S. map (home, "Local engagement" block) */
.usMap{position:relative;margin:2.5rem 0 0;border-radius:1.625rem;overflow:hidden;background:#070B14;border:0.0625rem solid rgba(255,255,255,.1);box-shadow:0 2.5rem 4.375rem -2.5rem rgba(7,11,20,.85)}
.usMap img{display:block;width:100%;height:auto}
.usMap figcaption{position:absolute;left:1rem;right:1rem;bottom:1rem;display:flex;flex-wrap:wrap;gap:0.5rem}
.usMap .chip{display:inline-flex;align-items:center;gap:0.5rem;padding:0.4375rem 0.6875rem;border-radius:62.4375rem;background:rgba(7,11,20,.74);-webkit-backdrop-filter:blur(0.5rem);backdrop-filter:blur(0.5rem);border:0.0625rem solid rgba(255,255,255,.14);color:#F4F6FB;font-size:0.7812rem;font-weight:500;line-height:1.2;white-space:nowrap}
.usMap .chip i{flex:none;width:0.4375rem;height:0.4375rem;border-radius:50%;background:var(--ac-bright);box-shadow:0 0 0 0.25rem rgba(var(--g1b),.2)}
.usMap .chip.b i{background:var(--ac2-bright);box-shadow:0 0 0 0.25rem rgba(var(--g2b),.22)}

/* legal pages */
.legalBody h2{font-size:clamp(1.5rem,2.4vw,1.875rem);margin:2.75rem 0 0.875rem;line-height:1.15}
.legalBody h3{margin:1.625rem 0 0.5rem;font-size:1.1875rem}
.legalBody p,.legalBody li{font-size:1.0625rem;line-height:1.7;margin:0 0 0.875rem}
.legalBody ul{padding-left:1.375rem;margin:0 0 1.125rem}
.legalBody a{color:var(--ac-ink);text-decoration:underline;text-underline-offset:0.1875rem}

/* -------------------------------------------------------- responsive ---- */
@media (max-width:1000px){
  .ruledGrid>.item:last-child{grid-column:auto!important}
  .planCard.featured{margin:0}
}
@media (max-width:900px){
  .industries{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  .hero h1{font-size:clamp(2.375rem,11vw,3.125rem)}
  .industries>.pill{min-height:8.625rem;padding:1.125rem 1rem 1.25rem}
  .industries>.pill .pillName{font-size:1.125rem}
  .ruledGrid>.item{padding:1.75rem 1.375rem 1.875rem}
  .usMap figcaption{left:0.625rem;right:0.625rem;bottom:0.625rem}
  .usMap .chip{font-size:0.7812rem;padding:0.4375rem 0.6875rem}
}
@media (prefers-reduced-motion:reduce){
  .ruledGrid>.item,.industries>.pill{transition:none}
}

/* =====================================================================
   NEON LAYER - appended after theme-core.css when PALETTE=neon.
   Reference: holographic globe, glowing glass panel, icon cards, journey band.
   Everything is same-origin CSS (the site's CSP forbids inline styles).
   ===================================================================== */

/* -------------------------------------------------------- atmosphere ---- */
.hero{
  background:
    linear-gradient(90deg,rgba(4,10,28,.62) 0%,rgba(4,10,28,.30) 42%,rgba(4,10,28,0) 68%),
    url(/assets/images/globe.webp?v=1791062990) calc(50vw - 45.8125rem) 50%/70rem 45.3125rem no-repeat,
    radial-gradient(47.5rem 40rem at 22% 50%,rgba(30,100,255,.26),transparent 66%),
    radial-gradient(56.25rem 35rem at 100% -10%,rgba(125,86,255,.34),transparent 62%),
    radial-gradient(62.5rem 40rem at 106% 110%,rgba(28,120,255,.46),transparent 62%),
    #040A1C;
  background-blend-mode:normal,screen,normal,normal,normal,normal;
}
.hero::before{display:none}
.hero::after{opacity:.30}
/* inner pages: the globe sits far right behind the panel, dimmed */
.hero:not(:has(.storyOrbit)){
  background:
    linear-gradient(90deg,rgba(4,10,28,.80) 0%,rgba(4,10,28,.40) 50%,rgba(4,10,28,.05) 100%),
    url(/assets/images/globe.webp?v=1791062990) calc(50vw - 10rem) 50%/62.5rem 40.4375rem no-repeat,
    radial-gradient(47.5rem 32.5rem at 8% 0%,rgba(30,100,255,.28),transparent 66%),
    radial-gradient(56.25rem 35rem at 100% -10%,rgba(125,86,255,.32),transparent 62%),
    radial-gradient(62.5rem 40rem at 106% 110%,rgba(28,120,255,.40),transparent 62%),
    #040A1C;
  background-blend-mode:normal,screen,normal,normal,normal,normal;
}
.hero>.container{max-width:80rem}

/* ---------------------------------------------------------- type ---- */
.ac,.gradientText{
  background:linear-gradient(100deg,#1E6FE0 0%,#6D4AE8 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  -webkit-box-decoration-break:clone;box-decoration-break:clone;padding-right:.06em;
}
.ac.b{background:linear-gradient(100deg,#0A86AE 0%,#2E5FE0 100%);-webkit-background-clip:text;background-clip:text}
.hero .ac,.hero .gradientText,.ctaBand .ac,.dark .ac,.darkPanel .ac,.hero .ac.b,.ctaBand .ac.b,.dark .ac.b{
  background:linear-gradient(100deg,#3FE6F6 0%,#5C9CFF 52%,#BBAAFF 100%);
  -webkit-background-clip:text;background-clip:text;
}
.hero h1{font-size:clamp(2.375rem,4.2vw,3.875rem);line-height:1.04;max-width:none}
.heroPlatformDescriptor{color:#C9D5F0}
.heroAICISO{color:#3FE6F6;border-color:rgba(63,230,246,.55);background:rgba(63,230,246,.07);box-shadow:0 0 1.375rem -0.5rem rgba(63,230,246,.7)}
.lead,.heroCopy>p{color:#BFCBE6}

/* --------------------------------------------------------- nav/buttons ---- */
.nav{background:rgba(4,10,28,.94)}
.liveTopbar{background:#030816}
.btn:not(.ghost),.btn.primary{
  background:linear-gradient(100deg,#3FE6F6 0%,#6FA0FF 58%,#9B8CFF 100%);
  border-color:rgba(255,255,255,.18);
  box-shadow:0 0.75rem 1.875rem -0.625rem rgba(63,230,246,.75),0 0 0 0.0625rem rgba(63,230,246,.10),inset 0 0.0625rem 0 rgba(255,255,255,.35);
}
.btn:not(.ghost)::after{content:"\2192";font-size:1.05em;line-height:1;font-weight:500;margin-left:0.125rem;transition:transform 200ms var(--ease-out)}
.mnavPanel .mdemo{background:linear-gradient(100deg,#3FE6F6,#9B8CFF);color:#04122B}
@media (hover:hover) and (pointer:fine){
  .btn:not(.ghost):hover,.btn.primary:hover{background:linear-gradient(100deg,#6AF0FB 0%,#86B2FF 58%,#B2A6FF 100%);box-shadow:0 1rem 2.25rem -0.625rem rgba(63,230,246,.95),0 0 0 0.0625rem rgba(63,230,246,.2),inset 0 0.0625rem 0 rgba(255,255,255,.45)}
  .btn:not(.ghost):hover::after{transform:translateX(0.1875rem)}
}

/* ------------------------------------------------ glass panel + border ---- */
.storyOrbit,.heroPanel{
  position:relative;border:0;border-radius:1.875rem;
  background:linear-gradient(160deg,rgba(14,32,78,.60),rgba(5,13,40,.74));
  -webkit-backdrop-filter:blur(0.875rem);backdrop-filter:blur(0.875rem);
  box-shadow:0 2.5rem 6.25rem -2.5rem rgba(31,90,255,.7),0 0 5rem -1.5rem rgba(63,230,246,.42),inset 0 0 3.75rem -1.875rem rgba(79,140,255,.5);
}
.storyOrbit::before,.heroPanel::before{
  content:"";position:absolute;inset:0;border-radius:inherit;padding:0.0938rem;pointer-events:none;
  background:linear-gradient(135deg,#3FE6F6 0%,#4F8CFF 48%,#8B6CF6 100%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;
  mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);
}

/* ------------------------------------------------------------ stage ---- */
.storyStage{--chipW:clamp(9.375rem,12.6vw,11.375rem);--coreD:clamp(10.375rem,13.2vw,11.875rem)}
.chaosLabel{top:0.875rem;font-size:0.7188rem;letter-spacing:.2em}

/* the six information cards */
.dataChip{
  width:var(--chipW);min-height:4rem;padding:0.625rem 0.625rem;gap:0.5625rem;align-items:center;
  border-radius:1rem;white-space:normal;color:var(--on-dark);font-size:0.875rem;
  background:linear-gradient(160deg,rgba(15,34,80,.86),rgba(6,16,46,.9));
  border:0.0625rem solid rgba(255,122,138,.38);
  box-shadow:0 0.875rem 1.875rem -1rem rgba(0,0,0,.8);
}
.dataChip span{min-width:0}
.dataChip b{display:block;font-size:0.8438rem;font-weight:600;line-height:1.2;letter-spacing:-.005em}
.dataChip small{display:block;margin-top:0.1875rem;font-size:0.6562rem;line-height:1.32;color:#8FA2C8;font-weight:400}
.dataChip i.ic{
  flex:none;width:2rem;height:2rem;border-radius:0.625rem;display:grid;place-items:center;
  color:#FF7A8A;background:rgba(255,122,138,.10);border:0.0625rem solid rgba(255,122,138,.32);
  transition:color 400ms ease,background-color 400ms ease,border-color 400ms ease,box-shadow 400ms ease;
}
.dataChip i.ic svg{width:1.125rem;height:1.125rem}
.storyStage.is-connected .dataChip{
  border-color:rgba(63,230,246,.5);
  box-shadow:0 0 1.75rem -0.5rem rgba(63,230,246,.55),inset 0 0 1.5rem rgba(79,140,255,.13);
}
.storyStage.is-connected .dataChip i.ic{color:#3FE6F6;background:rgba(63,230,246,.10);border-color:rgba(63,230,246,.4);box-shadow:0 0 1rem -0.25rem rgba(63,230,246,.7)}
.storyStage.is-connected .dc2 i.ic,.storyStage.is-connected .dc6 i.ic{color:#9DB0FF;background:rgba(139,108,246,.14);border-color:rgba(139,108,246,.5);box-shadow:0 0 1rem -0.25rem rgba(139,108,246,.7)}
/* glowing connector node on the card edge */
.dataChip::after{
  content:"";position:absolute;top:50%;width:0.5625rem;height:0.5625rem;margin-top:-0.2812rem;border-radius:50%;
  background:#3FE6F6;box-shadow:0 0 0.75rem 0.1875rem rgba(63,230,246,.85);opacity:0;transition:opacity 400ms ease;
}
.dc1::after,.dc3::after,.dc5::after{right:-0.3125rem}
.dc2::after,.dc4::after,.dc6::after{left:-0.3125rem}
.storyStage.is-connected .dataChip::after{opacity:1}
/* three rows at 18% / 50% / 82% of the stage so connectors line up at any height */
.dc1,.dc3,.dc5{left:0.875rem;right:auto}
.dc2,.dc4,.dc6{right:0.875rem;left:auto}
.dc1,.dc2{top:calc(18% - 2.0625rem);bottom:auto}
.dc3,.dc4{top:calc(50% - 2.0625rem);bottom:auto}
.dc5,.dc6{top:auto;bottom:calc(18% - 2.0625rem)}

/* glowing connectors */
.flowSvg{inset:0;height:100%;overflow:visible;filter:drop-shadow(0 0 0.3125rem rgba(63,230,246,.7))}
.flowSvg path{stroke:url(#nxFlowGrad);stroke-width:1.8;stroke-dasharray:none;stroke-dashoffset:0;vector-effect:non-scaling-stroke;stroke-linecap:round}
.flowSvg path.on{animation:none}

/* the AI CISO ring */
.intelligenceCore{
  --r:calc(var(--coreD) / 2);
  width:var(--coreD);height:var(--coreD);padding:1rem;gap:0.3125rem;border:0;
  background:radial-gradient(circle at 50% 34%,#12346F 0%,#08183B 58%,#050C1F 100%);
  box-shadow:0 0 0 0.0625rem rgba(63,230,246,.18),0 0 1.875rem rgba(63,230,246,.18);
}
.intelligenceCore::before{
  content:"";position:absolute;inset:-0.1875rem;border-radius:50%;padding:0.1875rem;pointer-events:none;opacity:.55;
  background:conic-gradient(from 200deg,#3FE6F6,#4F8CFF,#8B6CF6,#3FE6F6);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;
  mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);
  transition:opacity 500ms ease;
}
.intelligenceCore.live{
  border-color:transparent;
  box-shadow:0 0 0 0.5625rem rgba(63,230,246,.06),0 0 0 0.625rem rgba(63,230,246,.26),0 0 2.75rem rgba(63,230,246,.55),0 0 6.875rem rgba(79,140,255,.5),inset 0 0 2.75rem rgba(63,230,246,.24);
}
.intelligenceCore.live::before{opacity:1}
.intelligenceCore small{font-size:clamp(0.5rem,.62vw,0.5938rem);color:#3FE6F6;letter-spacing:.16em}
.intelligenceCore strong{font-family:var(--sans);font-weight:700;font-size:clamp(1.75rem,2.7vw,2.5rem);letter-spacing:-.02em;text-shadow:0 0 1.375rem rgba(63,230,246,.55)}
.intelligenceCore span{color:#B6C6EA;font-size:clamp(0.5rem,.62vw,0.5938rem);max-width:calc(var(--coreD) * .8)}
.corePulse{border-color:rgba(63,230,246,.4)}
.nd{position:absolute;width:0.5625rem;height:0.5625rem;margin:-0.2812rem 0 0 -0.2812rem;border-radius:50%;background:#3FE6F6;box-shadow:0 0 0.75rem 0.1875rem rgba(63,230,246,.85);opacity:0;transition:opacity 500ms ease}
.live .nd{opacity:1}
.nd1{left:calc(50% + var(--r) * -.766);top:calc(50% + var(--r) * -.643)}
.nd2{left:calc(50% + var(--r) * .766);top:calc(50% + var(--r) * -.643)}
.nd3{left:calc(50% - var(--r));top:50%}
.nd4{left:calc(50% + var(--r));top:50%}
.nd5{left:calc(50% + var(--r) * -.766);top:calc(50% + var(--r) * .643)}
.nd6{left:calc(50% + var(--r) * .766);top:calc(50% + var(--r) * .643)}

/* the in-panel step rail is replaced by the journey band below the hero */
.decisionRail{display:none}
.outcomeCard,.execDash{border-color:rgba(63,230,246,.5);box-shadow:0 0 3.125rem -0.875rem rgba(63,230,246,.5)}
.execDash{background:linear-gradient(160deg,#0A1B42,#060F2B)}

/* ----------------------------------------------------- hero mini-trio ---- */
.heroTrio{display:flex;flex-wrap:wrap;gap:1.25rem 1.875rem;margin-top:2.375rem}
.heroTrio>div{display:flex;align-items:center;gap:0.75rem;max-width:12.25rem;color:#C0CCE8;font-size:0.8438rem;line-height:1.35}
.heroTrio i{
  flex:none;width:2.75rem;height:2.75rem;border-radius:50%;display:grid;place-items:center;color:#3FE6F6;
  border:0.0625rem solid rgba(63,230,246,.5);background:rgba(63,230,246,.06);
  box-shadow:0 0 1.25rem -0.25rem rgba(63,230,246,.55),inset 0 0 0.875rem rgba(63,230,246,.14);
}
.heroTrio i svg{width:1.3125rem;height:1.3125rem}

/* ------------------------------------------------------- journey band ---- */
.hero:has(.journey){padding-top:3.25rem;padding-bottom:2.75rem}
.journey{margin-top:4.125rem;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.875rem}
.jstep{
  position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);gap:0 1rem;align-items:center;
  padding:1.375rem 1.375rem 1.375rem 1.25rem;border-radius:1.375rem;
  background:linear-gradient(160deg,rgba(14,32,78,.55),rgba(5,13,40,.7));
  border:0.0625rem solid rgba(80,150,255,.28);
  box-shadow:0 1.375rem 3.125rem -1.875rem rgba(31,90,255,.6),inset 0 0 2.5rem -1.625rem rgba(63,230,246,.5);
}
.jstep .jn{position:absolute;left:1.25rem;top:0.5625rem;font-family:var(--mono);font-size:0.6875rem;color:#7F8FB0;letter-spacing:.06em}
.jstep .ji{
  width:3.5rem;height:3.5rem;border-radius:50%;display:grid;place-items:center;color:#4F9BFF;margin-top:0.5rem;
  border:0.0625rem solid rgba(79,155,255,.55);background:rgba(79,140,255,.08);
  box-shadow:0 0 1.375rem -0.25rem rgba(79,155,255,.65),inset 0 0 1rem rgba(79,155,255,.16);
}
.jstep:nth-child(1) .ji{color:#3FE6F6;border-color:rgba(63,230,246,.55);box-shadow:0 0 1.375rem -0.25rem rgba(63,230,246,.65),inset 0 0 1rem rgba(63,230,246,.16)}
.jstep:nth-child(4) .ji{color:#9DB0FF;border-color:rgba(139,108,246,.6);box-shadow:0 0 1.375rem -0.25rem rgba(139,108,246,.7),inset 0 0 1rem rgba(139,108,246,.18)}
.jstep .ji svg{width:1.625rem;height:1.625rem}
.jstep small{display:block;color:#3FE6F6;font-family:var(--mono);font-size:0.6875rem;font-weight:600;letter-spacing:.14em}
.jstep b{display:block;margin:0.1875rem 0 0.25rem;color:#fff;font-size:1.0625rem;font-weight:600;line-height:1.2}
.jstep p{margin:0;color:#9FB0D2;font-size:0.8125rem;line-height:1.4}
.jstep:not(:last-child)::after{
  content:"";position:absolute;right:-1.3125rem;top:50%;width:0.5625rem;height:0.5625rem;margin-top:-0.3125rem;
  border-top:0.125rem solid #4F9BFF;border-right:0.125rem solid #4F9BFF;transform:rotate(45deg);filter:drop-shadow(0 0 0.375rem rgba(79,155,255,.9));
}

/* ----------------------------------------------- the rest of the site ---- */
.section.alt{
  background:
    radial-gradient(48.75rem 23.75rem at 0% 0%,rgba(63,230,246,.10),transparent 70%),
    radial-gradient(52.5rem 27.5rem at 100% 100%,rgba(111,100,255,.10),transparent 70%),
    #FBFDFF;
}
.ruledGrid>.item{border-color:#DCE6F6}
.ctaBand{border-color:rgba(63,230,246,.28);box-shadow:0 1.875rem 5rem -2.5rem rgba(31,90,255,.7),0 0 3.75rem -1.625rem rgba(63,230,246,.5)}
footer::before{height:0.1875rem}

/* ---------------------------------------------------------- responsive ---- */
@media (min-width:1181px){
  .heroGrid{grid-template-columns:minmax(0,.9fr) minmax(0,1fr);gap:3.5rem}
}
@media (max-width:1180px){
  .heroGrid{grid-template-columns:1fr;gap:3.5rem}
  .heroVisual{width:100%;max-width:42.5rem;margin:0 auto}
  /* stacked layouts: copy spans the full width, so darken from the top instead of from the left */
  .hero,.hero:not(:has(.storyOrbit)){
    background:
      linear-gradient(180deg,rgba(4,10,28,.78) 0%,rgba(4,10,28,.56) 42%,rgba(4,10,28,0) 70%),
      url(/assets/images/globe.webp?v=1791062990) 50% 0/53.75rem 34.75rem no-repeat,
      radial-gradient(47.5rem 40rem at 50% 20%,rgba(30,100,255,.26),transparent 66%),
      radial-gradient(56.25rem 35rem at 100% -10%,rgba(125,86,255,.34),transparent 62%),
      radial-gradient(62.5rem 40rem at 106% 110%,rgba(28,120,255,.46),transparent 62%),
      #040A1C;
    background-blend-mode:normal,screen,normal,normal,normal,normal;
  }
  .journey{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.375rem}
  .jstep:nth-child(2n)::after{display:none}
}
@media (max-width:640px){
  .hero h1{font-size:clamp(2.25rem,10.4vw,2.875rem)}
  .heroTrio{gap:1rem 1.125rem;margin-top:1.875rem}
  .heroTrio>div{max-width:none;flex:1 1 9.375rem}
  .journey{grid-template-columns:1fr;gap:0.875rem;margin-top:4rem}
  .jstep::after{display:none}
  .jstep{padding:1.125rem 1.125rem 1.125rem 1rem}
  /* compact pills on phones: icon + title only */
  .storyStage{--chipW:auto;--coreD:8.625rem;height:32.5rem}
  .dataChip{width:auto;min-height:0;padding:0.375rem 0.5625rem 0.375rem 0.375rem;gap:0.4375rem;border-radius:0.75rem}
  .dataChip small{display:none}
  .dataChip b{font-size:0.75rem}
  .dataChip i.ic{width:1.625rem;height:1.625rem;border-radius:0.5rem}
  .dataChip i.ic svg{width:0.9375rem;height:0.9375rem}
  .dataChip::after{display:none}
  .dc1{left:0.25rem;top:2.75rem}.dc2{right:0.25rem;top:5.75rem;left:auto}
  .dc3{left:0.25rem;top:12.25rem}.dc4{right:0.25rem;top:12.75rem;left:auto}
  .dc5{left:0.375rem;top:auto;bottom:7.375rem}.dc6{right:0.375rem;left:auto;top:auto;bottom:10.5rem}
  .intelligenceCore{top:47%}
  .intelligenceCore small,.intelligenceCore span{font-size:0.4688rem}
  .intelligenceCore strong{font-size:1.4375rem}
  .nd{display:none}
  .flowSvg{display:none}
}

/* fluid scale: see build.py (px -> rem). 1.111vw = 16px at 1440 wide, 1.778vh = 16px at 900 high, capped at 3x */
html{font-size:max(100%,min(1.111vw,1.778vh,3rem))}
