:root{
  --bg:#07080b; --bg2:#0d0f14; --bg3:#12151c; --line:rgba(255,255,255,.08); --line2:rgba(255,255,255,.14);
  --text:#eef0f4; --muted:#8b91a1; --dim:#5b6070;
  --green:#74C255; --purple:#784FB2; --violet:#a98be0; --amber:#e3b341; --red:#e5675e; --blue:#5aa9e6;
  --bgend:#090a0e; --header:rgba(7,8,11,.72); --chip:#c3c7d1; --accent:#74C255; --glow:1;
}
:root[data-theme=light]{
  --bg:#f6f6f3; --bg2:#ffffff; --bg3:#eef0f2; --line:rgba(12,14,18,.09); --line2:rgba(12,14,18,.16);
  --text:#0c0e12; --muted:#535968; --dim:#666c7a; --bgend:#fafaf8; --header:rgba(246,246,243,.8); --chip:#2c3038; --accent:#357a1e; --violet:#6a43a6; --glow:.55;
}
/* product screens stay dark in both themes */
:root[data-theme=light] .app,:root[data-theme=light] .case .viz{
  --bg:#07080b; --bg2:#0d0f14; --line:rgba(255,255,255,.08); --line2:rgba(255,255,255,.14); --text:#eef0f4; --muted:#8b91a1; --dim:#5b6070; --violet:#a98be0;
  background:#0a0c11;
}
:root[data-theme=light] .case .viz{background:#0a0c11}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--text);transition:background .25s,color .25s;font-family:Geist,system-ui,sans-serif;font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
.mono{font-family:"Geist Mono",ui-monospace,monospace}
.wrap{max-width:1240px;margin:0 auto;padding:0 24px}
/* nav */
header{position:sticky;top:0;z-index:20;backdrop-filter:blur(14px);background:var(--header);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;gap:40px;height:68px}
.logo{display:flex;align-items:center;gap:10px;font-weight:750;font-size:20px;letter-spacing:-.02em}
.mark{display:flex;gap:3px;transform:skewX(-12deg)}
.mark i{display:block;width:6px;border-radius:1.5px;background:var(--green)}
.mark i:nth-child(1),.mark i:nth-child(3){height:22px}
.mark i:nth-child(2){height:10px;background:var(--purple);margin-top:6px}
.nav nav{display:flex;gap:28px;font-size:15px;color:var(--muted)}
.nav nav a:hover{color:var(--text)}
.nav .right{margin-left:auto;display:flex;gap:14px;align-items:center;font-size:15px}
.btn{display:inline-flex;align-items:center;gap:8px;padding:11px 20px;border-radius:999px;font-weight:550;font-size:15px;transition:.2s}
.btn.primary{background:var(--text);color:var(--bg)}
.btn.primary:hover{background:var(--green);color:#07080b}
.btn.ghost{border:1px solid var(--line2)}
.btn.ghost:hover{border-color:var(--text)}
/* hero */
.hero{position:relative;padding:44px 0 56px;overflow:hidden}
.glow{position:absolute;inset:-200px -200px auto;height:900px;pointer-events:none;opacity:var(--glow);
  background:radial-gradient(600px 380px at 25% 30%,rgba(120,79,178,.34),transparent 70%),
             radial-gradient(500px 340px at 78% 18%,rgba(116,194,85,.18),transparent 70%)}
.grid-bg{position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:64px 64px;mask-image:radial-gradient(ellipse at 50% 20%,#000 20%,transparent 70%);pointer-events:none}
.eyebrow{position:relative;font-family:"Geist Mono",monospace;font-size:13px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase}
h1{position:relative;font-size:clamp(44px,7.2vw,96px);line-height:.98;letter-spacing:-.048em;font-weight:650;margin:24px 0 28px;max-width:14ch}
h1 em,h2 em{font-style:normal;background:linear-gradient(90deg,var(--green),var(--violet));-webkit-background-clip:text;background-clip:text;color:transparent}
.lede{position:relative;font-size:21px;color:var(--muted);max-width:62ch}
.cta{position:relative;display:flex;gap:14px;margin-top:38px;flex-wrap:wrap}
.what{position:relative;display:flex;flex-wrap:wrap;gap:10px;margin-top:44px}
.what span{font-size:14px;color:var(--chip);border:1px solid var(--line2);border-radius:999px;padding:7px 15px;background:rgba(255,255,255,.02)}
/* proof bar */
.proof{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--bg2)}
.proof .wrap{display:grid;grid-template-columns:repeat(5,1fr)}
.proof .wrap>div{padding:30px 22px 30px 0}
.proof .wrap>div+div{padding-left:22px;border-left:1px solid var(--line)}
.proof strong{display:block;white-space:nowrap;font-size:clamp(24px,1.95vw,34px);font-weight:600;letter-spacing:-.03em;line-height:1.1}
.proof span{color:var(--muted);font-size:13.5px;display:block;margin-top:6px}
/* sections */
section{padding:46px 0;border-top:1px solid var(--line)}
.kicker{font-family:"Geist Mono",monospace;font-size:13px;color:var(--accent);letter-spacing:.08em;text-transform:uppercase}
h2{font-size:clamp(34px,4.6vw,58px);line-height:1.04;letter-spacing:-.037em;font-weight:620;margin:16px 0 20px;max-width:21ch}
.sub{color:var(--muted);font-size:19px;max-width:64ch}
/* flagship case */
.flag{margin-top:44px;border:1px solid var(--line2);border-radius:24px;overflow:hidden;background:linear-gradient(180deg,var(--bg2),var(--bgend))}
.flag-top{display:grid;grid-template-columns:1fr 1.25fr;gap:0}
.flag-copy{padding:40px}
.tag{display:inline-block;font-family:"Geist Mono",monospace;font-size:12px;color:var(--muted);border:1px solid var(--line2);border-radius:6px;padding:3px 8px}
.flag-copy h3{font-size:34px;letter-spacing:-.03em;font-weight:620;line-height:1.1;margin:16px 0 14px}
.flag-copy p{color:var(--muted)}
.results{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:32px}
.results div{border-top:1px solid var(--line2);padding-top:14px}
.results b{display:block;font-size:26px;font-weight:600;letter-spacing:-.02em}
.results span{font-size:13.5px;color:var(--muted)}
/* app vignette */
.app{margin:28px 28px 28px 0;border:1px solid var(--line2);border-radius:14px;background:#0a0c11;overflow:hidden;font-size:13px;box-shadow:0 40px 100px -40px rgba(120,79,178,.5)}
.app-bar{display:flex;align-items:center;gap:12px;padding:11px 16px;border-bottom:1px solid var(--line);color:var(--dim);font-family:"Geist Mono",monospace;font-size:12px}
.app-bar i{width:9px;height:9px;border-radius:50%;background:#262a33;display:inline-block;margin-right:4px}
.app-body{display:grid;grid-template-columns:1.1fr 1fr}
.timeline{padding:18px;border-right:1px solid var(--line)}
.timeline h5,.findings h5{font-size:12px;font-weight:500;color:var(--dim);font-family:"Geist Mono",monospace;text-transform:uppercase;letter-spacing:.06em;margin-bottom:12px}
.step{display:flex;gap:10px;align-items:flex-start;padding:7px 0;position:relative}
.step:before{content:"";position:absolute;left:6px;top:22px;bottom:-8px;width:1px;background:var(--line2)}
.step:last-child:before{display:none}
.dot{flex:none;width:13px;height:13px;border-radius:50%;margin-top:3px;border:2px solid var(--green);background:var(--green)}
.dot.now{background:transparent;border-color:var(--amber);box-shadow:0 0 0 4px rgba(227,179,65,.15)}
.dot.next{background:transparent;border-color:var(--dim)}
.step b{display:block;font-weight:550;color:#dfe2e8;font-size:13px}
.step small{color:var(--dim);font-size:12px}
.findings{padding:18px}
.fd{border:1px solid var(--line);border-radius:9px;padding:10px 12px;margin-bottom:9px;background:#0d1016}
.fd .h{display:flex;justify-content:space-between;gap:8px;font-size:12.5px;font-weight:550;color:#dfe2e8}
.fd p{font-size:12px;color:var(--muted);margin-top:3px;line-height:1.45}
.sev{font-family:"Geist Mono",monospace;font-size:10.5px;padding:1px 6px;border-radius:4px}
.sev.h{background:rgba(229,103,94,.15);color:var(--red)}
.sev.m{background:rgba(227,179,65,.15);color:var(--amber)}
.sev.ok{background:rgba(116,194,85,.15);color:var(--green)}
/* modules */
.modules{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}
.modules div{padding:26px 26px 30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.modules div:nth-child(4n){border-right:0}
.modules div:nth-last-child(-n+4){border-bottom:0}
.modules h4{font-size:15.5px;font-weight:600;margin-bottom:6px;display:flex;align-items:center;gap:9px}
.modules h4:before{content:"";width:8px;height:8px;border-radius:2px;background:var(--violet);flex:none}
.modules p{font-size:14px;color:var(--muted);line-height:1.5}
/* capabilities */
.caps{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:22px;overflow:hidden;margin-top:44px}
.cap{background:var(--bg);padding:32px 30px 32px;min-height:0;transition:.2s}
.cap:hover{background:var(--bg2)}
.cap .num{font-family:"Geist Mono",monospace;color:var(--dim);font-size:13px}
.cap h4{font-size:23px;font-weight:600;letter-spacing:-.02em;margin:22px 0 10px}
.cap p{color:var(--muted);font-size:15px}
.cap ul{list-style:none;margin-top:18px;font-size:14px;color:var(--chip)}
.cap li{padding:7px 0;border-top:1px solid var(--line)}
/* second row cases */
.cases{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:44px}
.case{border:1px solid var(--line2);border-radius:22px;overflow:hidden;background:var(--bg2)}
.case .viz{height:290px;position:relative;border-bottom:1px solid var(--line);overflow:hidden}
.case .body{padding:34px}
.case h3{font-size:26px;letter-spacing:-.025em;font-weight:600;margin:14px 0 10px}
.case p{color:var(--muted);font-size:15.5px}
.case .results{grid-template-columns:repeat(3,1fr);margin-top:24px}
.case .results b{font-size:22px}
.term{position:absolute;inset:26px;border:1px solid var(--line2);border-radius:12px;background:#050608;overflow:hidden}
.term pre{font-family:"Geist Mono",monospace;font-size:12.5px;line-height:1.85;padding:18px 20px;color:#b8bdc9;white-space:pre-wrap}
.g{color:var(--green)} .p{color:var(--violet)} .d{color:var(--dim)}
/* compare */
.compare{margin-top:40px;border:1px solid var(--line);border-radius:18px;overflow:hidden}
.compare table{width:100%;border-collapse:collapse;font-size:15.5px}
.compare th,.compare td{padding:17px 24px;border-bottom:1px solid var(--line);text-align:left}
.compare th{font-weight:600;background:var(--bg2)}
.compare td:nth-child(2){color:var(--muted)}
.compare th:last-child,.compare td:last-child{background:rgba(116,194,85,.06)}
.compare td:last-child{color:var(--accent);font-weight:550}
.compare tr:last-child td{border-bottom:0}
/* industries */
.inds{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:40px}
.ind{border:1px solid var(--line);border-radius:16px;padding:24px;background:var(--bg2)}
.ind h4{font-size:16px;font-weight:600;margin-bottom:6px}
.ind p{font-size:13.5px;color:var(--muted);line-height:1.5}
/* process */
.process{display:grid;grid-template-columns:repeat(4,1fr);margin-top:44px;border-top:1px solid var(--line2)}
.process div{position:relative;padding:26px 28px 0 0}
.process div:before{content:"";position:absolute;top:-4px;left:0;width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px var(--bg)}
.process h5{font-size:19px;font-weight:600;margin:0 0 6px}
.process p{color:var(--muted);font-size:15px}
/* engage */
.engage{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px}
.ecard{border:1px solid var(--line);border-radius:20px;padding:34px;background:linear-gradient(180deg,var(--bg2),var(--bgend))}
.ecard h3{font-size:22px;font-weight:600;margin:14px 0 8px}
.ecard p{color:var(--muted);font-size:15.5px}
.ecard.feat{border-color:rgba(116,194,85,.45)}
/* close */
.close{text-align:center;padding:64px 0;position:relative;overflow:hidden;border-top:1px solid var(--line)}
.close h2{margin:0 auto 22px;max-width:16ch}
.close .sub{margin:0 auto}
.close .cta{justify-content:center}
footer{border-top:1px solid var(--line);padding:56px 0;color:var(--dim);font-size:14px}

.review{margin:0 auto 60px;max-width:1240px;padding:20px 24px;border:1px dashed #6b5a1e;border-radius:12px;background:#15130a;color:#d8c98a;font-size:14px;line-height:1.7}
.review b{color:#f1df9a}
.theme{width:38px;height:38px;border-radius:50%;border:1px solid var(--line2);background:transparent;color:var(--text);display:grid;place-items:center;cursor:pointer}
.theme:hover{border-color:var(--text)}
.theme svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.theme .moon{display:none}
:root[data-theme=light] .theme .sun{display:none}
:root[data-theme=light] .theme .moon{display:block}
.pillars3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:44px}
.pl{display:block;border:1px solid var(--line2);border-radius:20px;padding:32px;background:linear-gradient(180deg,var(--bg2),var(--bgend));transition:.2s}
.pl:hover{border-color:var(--green);transform:translateY(-2px)}
.pl .num{font-family:"Geist Mono",monospace;font-size:12.5px;color:var(--accent);letter-spacing:.1em}
.pl h4{font-size:23px;font-weight:600;letter-spacing:-.02em;margin:16px 0 10px}
.pl p{color:var(--muted);font-size:15.5px}
.pl .more{display:inline-block;margin-top:20px;font-size:14.5px;font-weight:550}
.faq{margin-top:36px;border-top:1px solid var(--line2)}
.faq details{border-bottom:1px solid var(--line2);padding:4px 0}
.faq summary{cursor:pointer;list-style:none;padding:20px 40px 20px 0;font-size:19px;font-weight:550;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"+";position:absolute;right:6px;top:16px;font-size:24px;color:var(--muted);font-weight:300}
.faq details[open] summary:after{content:"–"}
.faq p{color:var(--muted);max-width:72ch;padding:0 0 22px}
.flownotes h5{font-size:16px;font-weight:600;margin-bottom:6px}
.flownotes p{font-size:14.5px;color:var(--muted)}
.flownotes{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:30px}
.scen{display:flex;flex-wrap:wrap;gap:10px;margin-top:40px}
.scen button{font:inherit;font-size:15px;font-weight:550;color:var(--text);background:transparent;border:1px solid var(--line2);border-radius:999px;padding:10px 18px;cursor:pointer;display:inline-flex;gap:10px;align-items:center;transition:.2s}
.scen button span{font-family:"Geist Mono",monospace;font-size:12px;color:var(--dim)}
.scen button:hover{border-color:var(--text)}
.scen button.on{border-color:var(--green);background:rgba(116,194,85,.1);box-shadow:0 0 0 4px rgba(116,194,85,.08)}
.scen button.on span{color:var(--green)}
.stage{margin-top:18px;border:1px solid rgba(255,255,255,.14);border-radius:24px;overflow:hidden;background:radial-gradient(700px 320px at 60% 30%,rgba(120,79,178,.16),transparent 70%),radial-gradient(500px 260px at 15% 70%,rgba(116,194,85,.08),transparent 70%),#08090d}
.stage svg{display:block;width:100%;height:auto}
.capbar{display:flex;align-items:center;gap:12px;padding:16px 24px;border-top:1px solid rgba(255,255,255,.08);min-height:60px}
.live{flex:none;width:8px;height:8px;border-radius:50%;background:#74C255;box-shadow:0 0 0 4px rgba(116,194,85,.18);animation:livep 1.6s ease-in-out infinite}
@keyframes livep{50%{box-shadow:0 0 0 8px rgba(116,194,85,0)}}
.stage-cap{color:#eef0f4;font-size:18px;font-weight:550;letter-spacing:-.01em;opacity:0;transform:translateY(6px);transition:opacity .35s,transform .35s}
.stage-cap.in{opacity:1;transform:none}
.stage .box{fill:#0d1016;stroke:rgba(255,255,255,.15);stroke-width:1.2;transition:stroke .3s,fill .3s}
.stage .node{transition:filter .3s}
.stage .node.lit .box{stroke:#74C255;stroke-width:2;fill:#0f1a0e}
.stage .node.lit{filter:drop-shadow(0 0 14px rgba(116,194,85,.45))}
.stage .node.warn .box{stroke:#ff6b61;stroke-width:2;fill:#1c0f0f}
.stage .node.warn{filter:drop-shadow(0 0 14px rgba(255,107,97,.5));animation:throb 1s ease-in-out infinite}
.stage .node.hit .box{stroke:#ff6b61;stroke-width:2.5}
@keyframes throb{50%{filter:drop-shadow(0 0 4px rgba(255,107,97,.2))}}
.stage .node.dim .box{fill:#0a0b10;stroke-dasharray:5 5}
.stage .t{fill:#eef0f4;font:600 17px Geist,system-ui,sans-serif}
.stage .s{fill:#8b91a1;font:13px Geist,system-ui,sans-serif}
.stage .ic{fill:rgba(169,139,224,.15);transition:fill .3s}
.stage .ig{fill:#a98be0;font:16px system-ui,sans-serif;text-anchor:middle;dominant-baseline:central;transition:fill .3s}
.stage .node.lit .ic{fill:rgba(116,194,85,.2)}.stage .node.lit .ig{fill:#74C255}
.stage .node.warn .ic{fill:rgba(255,107,97,.2)}.stage .node.warn .ig{fill:#ff6b61}
.stage .spin .ig{animation:spin 1.1s linear infinite;transform-box:fill-box;transform-origin:center}
@keyframes spin{to{transform:rotate(360deg)}}
.stage .route{fill:none;stroke:rgba(255,255,255,.13);stroke-width:1.5;stroke-dasharray:3 6;transition:opacity .4s}
.stage .route.red{stroke:rgba(255,107,97,.4)}
.stage .route.hide{opacity:0}
.stage .wall{stroke:rgba(169,139,224,.55);stroke-width:2;stroke-dasharray:9 6;transition:stroke .2s}
.stage .wall.hit{stroke:#ff6b61;stroke-width:3}
.stage .walltxt{fill:#7d73a0;font:500 11px "Geist Mono",monospace;letter-spacing:.12em}
.stage .copy{fill:#0d1016;stroke:rgba(116,194,85,.55);stroke-width:1.2;opacity:0;transition:opacity .6s}
.stage .copy.show{opacity:1}
.stage .pk-g{fill:#74C255}.stage .pk-r{fill:#ff6b61}.stage .pk-v{fill:#c0a6f5}
.stage .tail{opacity:.45}.stage .tail2{opacity:.2}
.stage .verbox{fill:rgba(116,194,85,.14)}
.stage .ver{fill:#74C255;font:600 12px "Geist Mono",monospace;text-anchor:middle;dominant-baseline:central}
.stage .ver.flash{animation:flash .9s}
@keyframes flash{0%{fill:#fff}100%{fill:#74C255}}
.stage .shield{opacity:0;transition:opacity .25s}
.stage .shield.on{opacity:1}
.stage .shield path{fill:rgba(116,194,85,.18);stroke:#74C255;stroke-width:2}
.stage .shield text{fill:#74C255;font:700 11px "Geist Mono",monospace;letter-spacing:.1em;text-anchor:middle}
.stage .prog-bg{fill:rgba(255,255,255,.08)}.stage .prog{fill:#c0a6f5}
@media (max-width:980px){
  .flownotes{grid-template-columns:1fr;gap:18px}
  .stage-cap{font-size:16px}
  .scen button{font-size:14px;padding:9px 14px}
}
@media (max-width:980px){
  .pillars3{grid-template-columns:1fr}
  .nav nav{display:none}
  .nav{gap:16px}
  .nav .right > .client-link{display:none}
  .nav .right .btn{padding:9px 14px;font-size:14px;white-space:nowrap}
  .proof .wrap{grid-template-columns:1fr 1fr}.proof .wrap>div+div{border-left:0;padding-left:0}
  .flag-top,.app-body,.caps,.cases,.engage,.process{grid-template-columns:1fr}
  .modules{grid-template-columns:1fr 1fr}.modules div{border-right:0}
  .inds{grid-template-columns:1fr 1fr}
  .app{margin:0 20px 20px}
  .flag-copy{padding:28px}
  .case .results{grid-template-columns:1fr 1fr}
  section{padding:36px 0}.hero{padding:32px 0 44px}
}

/* ===== inner pages ===== */
.nav nav a[aria-current="page"]{color:var(--text)}
.hero.page{padding:40px 0 44px}
.hero.page h1{font-size:clamp(40px,6vw,80px);max-width:16ch}
.systems{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:44px}
.sys{border:1px solid var(--line);border-radius:18px;padding:26px;background:linear-gradient(180deg,var(--bg2),var(--bgend));transition:.25s}
.sys:hover{border-color:var(--line2);transform:translateY(-3px)}
.sico{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:rgba(169,139,224,.13);color:var(--violet);font-size:19px;margin-bottom:18px}
.sys:hover .sico{background:rgba(116,194,85,.15);color:var(--green)}
.sys h4{font-size:17px;font-weight:600;margin-bottom:6px;letter-spacing:-.01em}
.sys p{font-size:14.5px;color:var(--muted);line-height:1.55}
/* layers stack */
.layers-wrap{display:grid;grid-template-columns:1.15fr 1fr;gap:48px;align-items:center;margin-top:44px}
.iso{position:relative;height:460px;margin-top:0;perspective:1600px}
.iso-inner{position:absolute;left:50%;top:60%;transform-style:preserve-3d;transform:rotateX(58deg) rotateZ(-38deg)}
.slab{position:absolute;left:-150px;top:-150px;width:300px;height:300px;border-radius:26px;border:1px solid rgba(255,255,255,.16);
  background:linear-gradient(135deg,rgba(120,79,178,.42),rgba(13,15,20,.94) 70%),repeating-linear-gradient(90deg,rgba(255,255,255,.05) 0 1px,transparent 1px 30px);
  opacity:0;transform:translateZ(calc(var(--i) * 52px + 220px));transition:transform .9s cubic-bezier(.2,.9,.25,1),opacity .5s,border-color .4s,box-shadow .4s;
  display:flex;flex-direction:column;justify-content:flex-end;padding:24px}
.slab.on{opacity:1;transform:translateZ(calc(var(--i) * 52px))}
.slab.cur{border-color:#74C255;box-shadow:0 0 60px rgba(116,194,85,.35),inset 0 0 0 1px rgba(116,194,85,.4);
  background:linear-gradient(135deg,rgba(116,194,85,.38),rgba(13,15,20,.94) 70%),repeating-linear-gradient(90deg,rgba(255,255,255,.05) 0 1px,transparent 1px 30px)}
.slab b{font-family:"Geist Mono",monospace;font-size:12px;font-weight:500;letter-spacing:.12em;color:#a9b0bf}
.slab span{font-size:24px;font-weight:650;color:#eef0f4;letter-spacing:-.02em}
.iso-shadow{position:absolute;left:50%;top:66%;width:380px;height:120px;transform:translate(-50%,-50%);background:radial-gradient(closest-side,rgba(120,79,178,.35),transparent);filter:blur(10px)}
.lsteps{display:grid;gap:10px}
.lsteps button{font:inherit;color:var(--text);text-align:left;background:transparent;border:1px solid var(--line);border-left:3px solid var(--line2);border-radius:12px;padding:16px 20px;cursor:pointer;transition:.25s}
.lsteps button b{font-size:17px;font-weight:600}
.lsteps button p{color:var(--muted);font-size:15px;max-height:0;overflow:hidden;opacity:0;transition:max-height .4s,opacity .4s,margin .4s}
.lsteps button.on{border-color:var(--line2);border-left-color:var(--green);background:var(--bg2)}
.lsteps button.on p{max-height:120px;opacity:1;margin-top:6px}
/* AI */
.ai-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:44px}
.aic{border:1px solid var(--line);border-radius:18px;padding:28px;position:relative;overflow:hidden;background:var(--bg2)}
.aic:before{content:"";position:absolute;inset:-1px;border-radius:18px;padding:1px;background:linear-gradient(135deg,rgba(116,194,85,.6),rgba(120,79,178,.6),transparent 60%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.5;transition:opacity .3s}
.aic:hover:before{opacity:1}
.aic .num{font-family:"Geist Mono",monospace;font-size:12.5px;color:var(--accent);letter-spacing:.12em}
.aic h4{font-size:19px;font-weight:600;margin:14px 0 8px;letter-spacing:-.015em}
.aic p{color:var(--muted);font-size:15px}
/* toolbox */
.split2{display:grid;grid-template-columns:1fr 1.1fr;gap:56px;align-items:start}
.tools{display:grid;gap:18px}
.tools h5{font-family:"Geist Mono",monospace;font-size:12.5px;font-weight:500;color:var(--dim);letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px}
.tools p{display:flex;flex-wrap:wrap;gap:8px}
.tools span{font-size:14.5px;border:1px solid var(--line2);border-radius:999px;padding:6px 14px;color:var(--chip)}
@media (max-width:980px){
  .systems,.ai-grid{grid-template-columns:1fr 1fr}
  .layers-wrap,.split2{grid-template-columns:1fr}
  .iso{height:380px}
  .iso-inner{transform:rotateX(58deg) rotateZ(-38deg) scale(.8)}
}
@media (max-width:560px){.systems,.ai-grid{grid-template-columns:1fr}}

/* security rings (platform) */
.rings-stage{height:auto;padding:24px;display:grid;place-items:center}
.rings{width:100%;max-width:460px;height:auto;overflow:visible}
.rings .orbit{fill:none;stroke:rgba(169,139,224,.35);stroke-width:1;stroke-dasharray:2 10;transform-origin:250px 250px;animation:orbit 40s linear infinite}
@keyframes orbit{to{transform:rotate(360deg)}}
.rings .ring circle{fill:none;stroke:rgba(255,255,255,.08);stroke-width:38;transition:stroke .5s,filter .5s}
.rings .ring text{fill:#5b6070;font:600 11px "Geist Mono",monospace;letter-spacing:.14em;text-anchor:middle;dominant-baseline:central;transition:fill .4s}
.rings .ring.on circle{stroke:rgba(120,79,178,.32)}
.rings .ring.on text{fill:#c0a6f5}
.rings .ring.cur circle{stroke:rgba(116,194,85,.42);filter:drop-shadow(0 0 16px rgba(116,194,85,.55))}
.rings .ring.cur text{fill:#eaffdf}
.rings .core{fill:#74C255;filter:drop-shadow(0 0 18px rgba(116,194,85,.8))}
.rings .coreglow{opacity:.35;transition:opacity .6s}
[data-stepper].done .rings .coreglow{opacity:1;animation:breathe 2s ease-in-out infinite}
@keyframes breathe{50%{opacity:.5}}
.rings .coretxt{fill:#eef0f4;font:600 11px "Geist Mono",monospace;letter-spacing:.14em;text-anchor:middle}
.rings .probe{fill:#c0a6f5;filter:drop-shadow(0 0 8px #c0a6f5);animation:probe 2.2s cubic-bezier(.5,0,.6,1) infinite}
@keyframes probe{0%{transform:translateY(0);opacity:0}10%{opacity:1}85%{opacity:1}100%{transform:translateY(226px);opacity:0}}
@media (prefers-reduced-motion: reduce){.rings .orbit,.rings .probe,[data-stepper].done .rings .coreglow{animation:none}.rings .probe{display:none}}

/* modernisation */
.signs{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:40px}
.sign{display:flex;gap:14px;align-items:flex-start;border:1px solid var(--line);border-radius:16px;padding:20px;background:var(--bg2)}
.sign span{flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:rgba(227,179,65,.14);color:var(--amber);font-weight:700;font-size:14px}
.sign p{font-size:15px;color:var(--chip);line-height:1.5}
.spectrum{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:40px}
.sp{border:1px solid var(--line);border-radius:18px;padding:24px;background:var(--bg2)}
.sp .bar{display:block;height:6px;border-radius:3px;background:var(--line);margin-bottom:20px;position:relative;overflow:hidden}
.sp .bar:after{content:"";position:absolute;left:0;top:0;bottom:0;width:var(--w);border-radius:3px;background:linear-gradient(90deg,var(--green),var(--violet))}
.sp b{font-size:19px;font-weight:600}
.sp p{color:var(--muted);font-size:14.5px;margin-top:6px}
.spec-note{display:flex;justify-content:space-between;margin-top:12px;font-family:"Geist Mono",monospace;font-size:12px;color:var(--dim);letter-spacing:.08em;text-transform:uppercase}
.alert{display:grid;grid-template-columns:1.2fr 1fr;gap:48px;align-items:center;border:1px solid rgba(116,194,85,.35);border-radius:24px;padding:44px;background:radial-gradient(600px 300px at 0 0,rgba(116,194,85,.1),transparent 70%),var(--bg2)}
.alert h2{margin-top:10px}
.steps-mini{list-style:none;display:grid;gap:12px}
.steps-mini li{border:1px solid var(--line);border-radius:14px;padding:16px 18px 16px 40px;position:relative;color:var(--muted);font-size:15px;background:var(--bg)}
.steps-mini li:before{content:"";position:absolute;left:19px;top:24px;width:8px;height:8px;border-radius:50%;background:var(--green)}
.steps-mini b{display:block;color:var(--text);font-size:16px}
@media (max-width:980px){
  .signs,.spectrum{grid-template-columns:1fr 1fr}
  .alert{grid-template-columns:1fr;padding:26px}
  .ba{padding:20px 18px}
  .ba-row{grid-template-columns:1fr;gap:4px}
  .ba-top{flex-direction:column;align-items:stretch}
  .ba-switch button{flex:1}
}
@media (max-width:560px){.signs,.spectrum{grid-template-columns:1fr}}

/* modernise-it slider */
.ba{--p:0;position:relative;margin-top:40px;border-radius:24px;border:1px solid rgba(255,255,255,.14);padding:28px 32px;
  background:radial-gradient(700px 300px at 0 0,rgba(255,107,97,calc(.16 * (1 - var(--p)))),transparent 70%),radial-gradient(700px 300px at 100% 0,rgba(116,194,85,calc(.18 * var(--p))),transparent 70%),#08090d}
.flip{position:relative;display:block;height:24px;perspective:600px}
.flip .v{position:absolute;inset:0;display:flex;align-items:center;gap:10px;font-size:15.5px;font-weight:550;backface-visibility:hidden;transition:transform .55s cubic-bezier(.3,1.4,.5,1),opacity .3s}
.flip .v:before{content:"";flex:none;width:8px;height:8px;border-radius:50%}
.flip .v.good{transform:rotateX(-90deg);opacity:0}
.v.bad{color:#ff8a80}.v.bad:before{background:#ff6b61}
.v.warn{color:#f0c35b}.v.warn:before{background:#e3b341}
.v.good{color:#a6e08a}.v.good:before{background:#74C255;box-shadow:0 0 8px #74C255}
@media (prefers-reduced-motion: reduce){.flip .v{transition:none}}
/* typical vs HostCrew comparison */
.ba-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:14px}
.ba-switch{position:relative;display:flex;padding:4px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12)}
.ba-switch button{position:relative;z-index:1;font:inherit;font-size:15px;font-weight:600;color:#8b91a1;background:transparent;border:0;border-radius:999px;padding:10px 22px;cursor:pointer;transition:color .3s}
.ba-switch button.on{color:#07080b}
.ba-switch .pill{position:absolute;top:4px;bottom:4px;left:4px;width:calc(50% - 4px);border-radius:999px;background:#ff8a80;transition:transform .45s cubic-bezier(.3,1.3,.5,1),background .45s}
.ba.hc .ba-switch .pill{transform:translateX(100%);background:#74C255}
.ba-score{display:flex;align-items:center;gap:14px;font-size:14.5px;color:#c3c7d1;white-space:nowrap}
.ba-score b{font-size:20px;color:#eef0f4;font-variant-numeric:tabular-nums}
.ba-meter{width:180px;height:6px;border-radius:3px;background:rgba(255,255,255,.08);overflow:hidden}
.ba-fill{display:block;height:100%;width:calc(var(--p) * 100%);border-radius:3px;background:linear-gradient(90deg,#e3b341,#74C255);transition:width .3s}
.ba-row{display:grid;grid-template-columns:190px 1.1fr 1fr;gap:20px;align-items:center;padding:13px 0;border-top:1px solid rgba(255,255,255,.07)}
.ba-row .k{color:#c3c7d1;font-size:14.5px;font-weight:550}
.flip .v{transition-delay:calc(var(--i) * 70ms)}
.ba-row .how{color:#8b91a1;font-size:14px;opacity:0;transform:translateX(-8px);transition:opacity .4s,transform .4s;transition-delay:calc(var(--i) * 70ms + 150ms)}
.ba-row.fixed .how{opacity:1;transform:none}
.ba-row.fixed .k{color:#eef0f4}
.ba{background:radial-gradient(700px 300px at 0 0,rgba(255,107,97,calc(.14 * (1 - var(--p)))),transparent 70%),radial-gradient(700px 300px at 100% 0,rgba(116,194,85,calc(.18 * var(--p))),transparent 70%),#08090d}
/* assessment */
.seg{--k:0;position:relative;display:inline-flex;margin-top:28px;padding:4px;border-radius:999px;background:var(--bg2);border:1px solid var(--line2)}
.seg button{position:relative;z-index:1;font:inherit;font-size:15px;font-weight:600;color:var(--muted);background:transparent;border:0;border-radius:999px;padding:11px 22px;width:170px;cursor:pointer;transition:color .3s}
.seg button.on{color:#07080b}
.seg .pill{position:absolute;top:4px;bottom:4px;left:4px;width:170px;border-radius:999px;background:linear-gradient(90deg,#74C255,#9ad97f);transform:translateX(calc(var(--k) * 170px));transition:transform .45s cubic-bezier(.3,1.3,.5,1)}
.paths{position:relative;margin-top:26px}
.path{display:none}
.path.on{display:block}
.path .sub{margin-bottom:22px}
.looks{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.look{border:1px solid var(--line);border-radius:18px;padding:24px;background:linear-gradient(180deg,var(--bg2),var(--bgend))}
.path.on .look{animation:rise .5s cubic-bezier(.2,.9,.3,1) both}
.path.on .look:nth-child(2){animation-delay:60ms}.path.on .look:nth-child(3){animation-delay:120ms}
.path.on .look:nth-child(4){animation-delay:180ms}.path.on .look:nth-child(5){animation-delay:240ms}.path.on .look:nth-child(6){animation-delay:300ms}
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.look span{font-family:"Geist Mono",monospace;font-size:12.5px;color:var(--accent)}
.look h4{font-size:18px;font-weight:600;margin:10px 0 6px}
.look p{color:var(--muted);font-size:15px}
.gets{list-style:none;display:grid;gap:14px;margin-top:26px}
.gets li{border-left:3px solid var(--green);padding:4px 0 4px 18px;color:var(--muted);font-size:15.5px}
.gets b{display:block;color:var(--text);font-size:17px;margin-bottom:2px}
.report{border:1px solid rgba(255,255,255,.14);border-radius:22px;padding:28px;background:radial-gradient(500px 260px at 100% 0,rgba(120,79,178,.18),transparent 70%),#0a0b10;color:#eef0f4;box-shadow:0 40px 100px -40px rgba(120,79,178,.55);transform:rotate(1.2deg)}
.rep-head{display:flex;align-items:center;gap:14px;padding-bottom:18px;border-bottom:1px solid rgba(255,255,255,.09)}
.rep-head b{display:block;font-size:17px}.rep-head small{color:#8b91a1;font-size:13px}
.rep-areas{display:grid;gap:12px;padding:20px 0;border-bottom:1px solid rgba(255,255,255,.09)}
.ra{display:grid;grid-template-columns:130px 1fr 90px;gap:14px;align-items:center;font-size:14.5px;color:#c3c7d1}
.ra .bar{height:8px;border-radius:4px;background:rgba(255,255,255,.08);overflow:hidden}
.ra .bar i{display:block;height:100%;width:0;border-radius:4px;background:#74C255;transition:width 1.1s cubic-bezier(.2,.9,.3,1) var(--d)}
.ra .bar.warn i{background:#e3b341}.ra .bar.bad i{background:#ff6b61}
.report.in .ra .bar i{width:calc(var(--v) * 100%)}
.ra em{font-style:normal;font-size:13px;text-align:right;opacity:0;transition:opacity .4s calc(var(--d) + 700ms)}
.report.in .ra em{opacity:1}
.rep-plan{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding-top:20px}
.rep-plan .col{border:1px solid rgba(255,255,255,.09);border-radius:12px;padding:14px;opacity:0;transform:translateY(10px);transition:opacity .5s var(--d),transform .5s var(--d)}
.report.in .rep-plan .col{opacity:1;transform:none}
.rep-plan h6{font-family:"Geist Mono",monospace;font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:#74C255;margin-bottom:8px}
.rep-plan .col:nth-child(2) h6{color:#c0a6f5}.rep-plan .col:nth-child(3) h6{color:#8b91a1}
.rep-plan p{font-size:13.5px;color:#c3c7d1;padding:6px 0;border-top:1px solid rgba(255,255,255,.06)}
.sign.ok span{background:rgba(116,194,85,.15);color:var(--green)}
@media (max-width:980px){
  .looks{grid-template-columns:1fr 1fr}
  .seg{display:flex;width:100%}.seg button{flex:1;width:auto;padding:10px 8px;font-size:14px}
  .seg .pill{width:calc((100% - 8px) / 3);transform:translateX(calc(var(--k) * 100%))}
  .report{transform:none}
  .ra{grid-template-columns:100px 1fr 80px}
}
@media (max-width:560px){.looks,.rep-plan{grid-template-columns:1fr}}
@media (prefers-reduced-motion: reduce){.path.on .look{animation:none}}

/* company: era timeline (stepper) and time zones */
.eras{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:0;padding:34px 26px 26px;border:1px solid rgba(255,255,255,.1);border-radius:22px;
  background:radial-gradient(120% 90% at 80% 0%,rgba(120,79,178,.22),transparent 60%),#0a0c11;color:#eef0f4;overflow:hidden}
.era{position:relative;padding:0 10px 0 0;opacity:.35;transition:opacity .5s}
.era:before{content:"";position:absolute;left:0;right:0;top:41px;height:2px;background:rgba(255,255,255,.12)}
.era:after{content:"";position:absolute;left:0;top:41px;height:2px;width:0;background:linear-gradient(90deg,#784FB2,#74C255);transition:width .9s cubic-bezier(.2,.9,.25,1)}
.era.on{opacity:1}.era.on:after{width:100%}
.era b{display:block;height:22px;font-family:"Geist Mono",monospace;font-size:12px;font-weight:500;letter-spacing:.12em;color:#a9b0bf}
.era .dot{position:relative;z-index:1;display:block;width:14px;height:14px;margin:12px 0 22px;border-radius:50%;background:#12151c;border:2px solid rgba(255,255,255,.25);transition:.4s}
.era.on .dot{background:#a98be0;border-color:#a98be0}
.era.cur .dot{background:#74C255;border-color:#74C255;box-shadow:0 0 0 6px rgba(116,194,85,.18),0 0 22px rgba(116,194,85,.8)}
.era.cur b{color:#eaffdf}
.era span{display:block;width:fit-content;max-width:100%;margin-bottom:8px;padding:5px 11px;border:1px solid rgba(255,255,255,.12);border-radius:999px;font-size:12.5px;white-space:nowrap;color:#c3c7d1;
  opacity:0;transform:translateY(10px);transition:opacity .5s,transform .6s cubic-bezier(.2,.9,.25,1),border-color .4s}
.era.on span{opacity:1;transform:none}
.era.on span:nth-of-type(2){transition-delay:.12s}.era.on span:nth-of-type(3){transition-delay:.24s}
.era.cur span{border-color:rgba(116,194,85,.5);color:#eef0f4}
.constant{grid-column:1/-1;margin-top:22px;padding:14px 18px;border:1px solid rgba(255,255,255,.1);border-radius:14px;font-size:14.5px;color:#8b91a1;transition:.6s}
.constant b{color:#eef0f4;font-weight:600}
[data-stepper].done .constant{border-color:rgba(116,194,85,.55);box-shadow:0 0 40px rgba(116,194,85,.22);background:rgba(116,194,85,.07)}
.zones{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.zone{border:1px solid var(--line2);border-radius:18px;padding:22px;background:linear-gradient(180deg,var(--bg2),var(--bgend))}
.zone small{font-family:"Geist Mono",monospace;font-size:12px;letter-spacing:.12em;color:var(--accent)}
.zone b{display:block;font-family:"Geist Mono",monospace;font-size:34px;font-weight:500;letter-spacing:-.02em;margin:6px 0 4px}
.zone span{font-size:13.5px;color:var(--muted)}
.zones-note{grid-column:1/-1;display:flex;align-items:center;gap:10px;color:var(--muted);font-size:14.5px}
.zones-note i{width:9px;height:9px;border-radius:50%;background:var(--green);box-shadow:0 0 12px var(--green);animation:breathe 2s ease-in-out infinite}
@media (max-width:560px){
  .eras{grid-template-columns:1fr 1fr;row-gap:18px}
  .zone b{font-size:28px}
}
@media (prefers-reduced-motion: reduce){.zones-note i{animation:none}}

/* contact */
.contact-hero{padding-bottom:36px}
.contact-sec{border-top:0;padding-top:12px}
.contact-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:40px;align-items:start}
.cform{position:relative;border:1px solid var(--line2);border-radius:22px;padding:32px;background:linear-gradient(180deg,var(--bg2),var(--bgend))}
.topics{border:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
@media (min-width:1680px){.topics{grid-template-columns:repeat(4,minmax(0,1fr))}}
.topics legend{font-size:19px;font-weight:600;margin-bottom:14px}
.topic input{position:absolute;opacity:0;pointer-events:none}
.topic span{display:block;height:100%;border:1px solid var(--line2);border-radius:14px;padding:14px;cursor:pointer;transition:.25s}
.topic i{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:rgba(169,139,224,.13);color:var(--violet);font-style:normal;font-size:15px;margin-bottom:10px;transition:.25s}
.topic b{display:block;font-size:14.5px;font-weight:600;line-height:1.3}
.topic small{display:block;font-size:12.5px;color:var(--muted);margin-top:3px}
.topic:hover span{border-color:var(--text)}
.topic input:checked+span{border-color:var(--green);background:rgba(116,194,85,.07);box-shadow:0 0 0 3px rgba(116,194,85,.14)}
.topic input:checked+span i{background:var(--green);color:#07080b}
.topic input:focus-visible+span{outline:2px solid var(--green);outline-offset:2px}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:26px}
.f{display:block}.f.wide{grid-column:1/-1}
.f span{display:block;font-size:14px;font-weight:550;margin-bottom:6px}
.f input,.f select,.f textarea{width:100%;font:inherit;font-size:16px;color:var(--text);background:var(--bg);border:1px solid var(--line2);border-radius:12px;padding:12px 14px;transition:border-color .2s,box-shadow .2s}
.f textarea{resize:vertical;min-height:140px}
.f input:focus,.f select:focus,.f textarea:focus{outline:0;border-color:var(--green);box-shadow:0 0 0 3px rgba(116,194,85,.16)}
.f em{display:block;font-style:normal;font-size:13px;color:var(--red);min-height:0}
.f.bad input,.f.bad textarea{border-color:var(--red)}
.f.bad em{margin-top:5px}
.cform-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:22px}
.cform-foot p{font-size:13.5px;color:var(--muted)}
.cform-foot .btn{border:0;cursor:pointer;font-family:inherit}
.cform.is-sent>.topics,.cform.is-sent>.fields,.cform.is-sent>.cform-foot{display:none}
.sent{padding:10px 4px}
.sent h3{font-size:30px;font-weight:600;letter-spacing:-.02em;margin:30px 0 10px}
.sent p{color:var(--muted)}.sent p b,.sent p a{color:var(--text)}
.sent-track{display:grid;grid-template-columns:repeat(3,1fr);position:relative}
.sent-track:before{content:"";position:absolute;left:8px;width:66.67%;top:8px;height:2px;background:var(--line2)}
.sent-track:after{content:"";position:absolute;left:8px;top:8px;height:2px;width:0;background:linear-gradient(90deg,#784FB2,#74C255);transition:width 1.6s cubic-bezier(.3,.8,.3,1)}
.sent.go .sent-track:after{width:66.67%}
.st{position:relative;font-size:13.5px;color:var(--muted);padding-top:28px;transition:color .4s}
.st i{position:absolute;left:0;top:0;width:18px;height:18px;border-radius:50%;background:var(--bg3);border:2px solid var(--line2);transition:.4s}
.sent.go .st{color:var(--text)}
.sent.go .st i{background:var(--green);border-color:var(--green);box-shadow:0 0 14px rgba(116,194,85,.7)}
.sent.go .st:nth-child(2),.sent.go .st:nth-child(2) i{transition-delay:.8s}
.sent.go .st:nth-child(3),.sent.go .st:nth-child(3) i{transition-delay:1.6s}
.sent.go .st:nth-child(3) i{animation:breathe 2s 2s ease-in-out infinite}
.mock-tag{margin-top:22px;padding:10px 14px;border:1px dashed #6b5a1e;border-radius:10px;font-size:13px;color:#c9b56e !important}
.cside{display:grid;gap:16px}
.next{border:1px solid var(--line);border-radius:20px;padding:26px;background:var(--bg2)}
.next h4{font-size:19px;font-weight:600;margin-bottom:8px}
.nx{display:flex;gap:16px;padding:16px 0;border-top:1px solid var(--line);opacity:.4;transition:opacity .5s}
.next h4+.nx{border-top:0}
.nx b{flex:none;width:12px;height:12px;margin:7px 4px 0;border-radius:50%;border:1.5px solid var(--line2);transition:.4s}
.nx h5{font-size:16.5px;font-weight:600}
.nx p{font-size:14.5px;color:var(--muted)}
.nx.on{opacity:1}.nx.on b{border-color:var(--violet);color:var(--violet)}
.nx.cur b{background:var(--green);border-color:var(--green);box-shadow:0 0 12px rgba(116,194,85,.6)}
.direct{display:grid;gap:12px}
.dl{display:block;border:1px solid var(--line2);border-radius:18px;padding:20px 22px;transition:.2s}
.dl:hover{border-color:var(--green);transform:translateY(-2px)}
.dl small{font-family:"Geist Mono",monospace;font-size:12px;letter-spacing:.12em;color:var(--accent)}
.dl b{display:block;font-size:22px;font-weight:600;letter-spacing:-.02em;margin:4px 0 2px}
.dl span{font-size:14px;color:var(--muted)}
.where{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--muted);padding:0 4px}
.where i{width:9px;height:9px;border-radius:50%;background:var(--green);box-shadow:0 0 12px var(--green);animation:breathe 2s ease-in-out infinite}
@media (max-width:980px){.contact-grid{grid-template-columns:1fr}}
@media (max-width:560px){.cform{padding:22px}.topics{grid-template-columns:1fr 1fr}.topic span{padding:12px}.fields{grid-template-columns:1fr}.cform-foot{flex-direction:column;align-items:stretch}.cform-foot .btn{justify-content:center}}
@media (prefers-reduced-motion: reduce){.where i,.sent.go .st:nth-child(3) i{animation:none}}

/* contact: human check (look from the platform's /_platform/forms/v1/form.css) */
.form-err{margin-top:16px;padding:12px 14px;border:1px solid rgba(229,103,94,.45);border-radius:12px;background:rgba(229,103,94,.08);color:var(--text);font-size:14.5px}
.cform-foot .btn:disabled{opacity:.7;cursor:progress}

/* careers: ownership loop, role card, client note */
.loop-stage{padding:24px;display:grid;place-items:center}
.loop{width:100%;max-width:460px;height:auto;overflow:visible}
.loop .track{fill:none;stroke:rgba(255,255,255,.12);stroke-width:2;stroke-dasharray:3 9}
.loop .spin{transform-origin:250px 250px;animation:orbit 9s linear infinite}
.loop .runner{fill:#74C255;filter:drop-shadow(0 0 8px #74C255)}
.loop .hub{fill:rgba(120,79,178,.12);stroke:rgba(169,139,224,.35);stroke-width:1.2;transition:.6s}
.loop .hubtxt{fill:#8b91a1;font:600 12px "Geist Mono",monospace;letter-spacing:.16em;text-anchor:middle;dominant-baseline:central;transition:fill .6s}
[data-stepper].done .loop .hub{fill:rgba(116,194,85,.16);stroke:#74C255;filter:drop-shadow(0 0 22px rgba(116,194,85,.6))}
[data-stepper].done .loop .hubtxt{fill:#eaffdf}
.loop .lp circle{fill:#0d1016;stroke:rgba(255,255,255,.16);stroke-width:1.4;transition:fill .4s,stroke .4s,filter .4s}
.loop .lp text{fill:#5b6070;font:600 11.5px "Geist Mono",monospace;letter-spacing:.12em;text-anchor:middle;dominant-baseline:central;transition:fill .4s}
.loop .lp.on circle{fill:rgba(120,79,178,.28);stroke:#a98be0}
.loop .lp.on text{fill:#d9c9ff}
.loop .lp.cur circle{fill:rgba(116,194,85,.3);stroke:#74C255;filter:drop-shadow(0 0 16px rgba(116,194,85,.7))}
.loop .lp.cur text{fill:#eaffdf}
@media (prefers-reduced-motion: reduce){.loop .spin{animation:none}}
.role{margin-top:36px;border:1px solid var(--line2);border-radius:22px;padding:32px;background:linear-gradient(180deg,var(--bg2),var(--bgend))}
.role-head{display:flex;flex-wrap:wrap;gap:8px}
.pill-tag{font-family:"Geist Mono",monospace;font-size:12.5px;letter-spacing:.06em;border:1px solid var(--line2);border-radius:999px;padding:5px 12px;color:var(--chip)}
.role-head .pill-tag:first-child{border-color:rgba(116,194,85,.5);color:var(--accent)}
.role-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:26px}
.role-cols h4{font-size:17px;font-weight:600;margin-bottom:12px}
.role-cols ul{list-style:none;display:grid;gap:10px}
.role-cols li{position:relative;padding-left:18px;color:var(--muted);font-size:15px}
.role-cols li:before{content:"";position:absolute;left:0;top:.62em;width:7px;height:7px;border-radius:2px;background:var(--green)}
.bar-note{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-top:20px;padding:24px 28px;border:1px solid rgba(116,194,85,.4);border-radius:18px;background:rgba(116,194,85,.06)}
.bar-note p{margin-top:6px;color:var(--muted);max-width:70ch}.bar-note p b{color:var(--text)}
.bar-note .btn{flex:none}
.aform-title{font-size:24px;font-weight:600;letter-spacing:-.02em;margin-bottom:4px}
@media (max-width:980px){.role-cols{grid-template-columns:1fr}.bar-note{flex-direction:column;align-items:flex-start}}

/* ===== big screens + ambient light (phase 1: dark) ===== */
/* Ambient: slow light across the whole page instead of flat black, and a faint engineering grid in the side
   margins that only wide screens show. Tokens so light mode can tune them separately (phase 2). */
:root{--amb-a:rgba(120,79,178,.14);--amb-b:rgba(116,194,85,.075);--amb-c:rgba(90,169,230,.06);--amb-grid:rgba(255,255,255,.035)}
:root[data-theme=light]{--amb-a:rgba(120,79,178,.07);--amb-b:rgba(116,194,85,.05);--amb-c:rgba(90,169,230,.04);--amb-grid:rgba(12,14,18,.04)}
body:before{content:"";position:fixed;inset:-25vmax;z-index:-1;pointer-events:none;
  background:radial-gradient(42vmax 30vmax at 12% 18%,var(--amb-a),transparent 62%),radial-gradient(38vmax 28vmax at 88% 38%,var(--amb-b),transparent 62%),radial-gradient(46vmax 32vmax at 55% 98%,var(--amb-c),transparent 62%);
  animation:amb 48s ease-in-out infinite alternate}
@keyframes amb{50%{transform:translate3d(3vmax,-2vmax,0) scale(1.05)}100%{transform:translate3d(-3vmax,2vmax,0) scale(1.02)}}
body:after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background-image:linear-gradient(var(--amb-grid) 1px,transparent 1px),linear-gradient(90deg,var(--amb-grid) 1px,transparent 1px);background-size:64px 64px;
  -webkit-mask-image:linear-gradient(90deg,#000,transparent calc(50% - 760px),transparent calc(50% + 760px),#000);mask-image:linear-gradient(90deg,#000,transparent calc(50% - 760px),transparent calc(50% + 760px),#000)}
body{background:var(--bg)}
section,.proof,.close{position:relative}
@media (prefers-reduced-motion: reduce){body:before{animation:none}}

/* Wider screens: use the width first (1680 → 1440 px content, 2000 → 1600 px), then scale the whole layout so a
   4K monitor at 100% gets the same composition as a 2000 px screen, larger, instead of a small island.
   Media queries read the real window width, so zoom cannot feed back into them. */
@media (min-width:1680px){.wrap{max-width:1440px}.hero h1{font-size:clamp(64px,5.2vw,104px)}section{padding:56px 0}}
@media (min-width:2000px){.wrap{max-width:1600px}}
@media (min-width:2400px){html{zoom:1.2}}
@media (min-width:2880px){html{zoom:1.44}}
@media (min-width:3600px){html{zoom:1.8}}

/* homepage hero visual: wide screens only (the text column needs the room below 1440 px) */
.hero .wrap{position:relative}
.hero-art{display:none;position:absolute;right:24px;top:50%;width:clamp(380px,calc(100% - 720px),640px);transform:translateY(-50%);pointer-events:none}
.hero-art svg{display:block;width:100%;height:auto;overflow:visible}
.ha-orbit{fill:none;stroke:var(--line2);stroke-width:1;stroke-dasharray:2 10;transform-origin:320px 280px;animation:orbit 80s linear infinite}
.ha-link{stroke:var(--line2);stroke-width:1.2}
.ha-flow{stroke:var(--green);stroke-width:2;stroke-linecap:round;stroke-dasharray:3 22;animation:haflow 2.4s linear infinite;animation-delay:var(--d);filter:drop-shadow(0 0 4px rgba(116,194,85,.8));opacity:.9}
.ha-flow:nth-of-type(even){stroke:var(--violet);filter:drop-shadow(0 0 4px rgba(169,139,224,.8))}
@keyframes haflow{to{stroke-dashoffset:-25}}
.ha-core rect{fill:var(--bg2);stroke:var(--green);stroke-width:1.4;filter:drop-shadow(0 0 30px rgba(116,194,85,.35))}
.ha-core-t{fill:var(--text);font:650 15px Geist,system-ui,sans-serif;letter-spacing:.12em;text-anchor:middle;dominant-baseline:central}
.ha-core-s{fill:var(--muted);font:400 12px "Geist Mono",monospace;text-anchor:middle;dominant-baseline:central}
.ha-node rect{fill:var(--bg2);stroke:var(--line2);stroke-width:1.2;animation:hanode 7.7s ease-in-out infinite;animation-delay:var(--d)}
.ha-node text{fill:var(--chip);font:500 11px "Geist Mono",monospace;letter-spacing:.1em;text-anchor:middle;dominant-baseline:central}
@keyframes hanode{0%,18%,100%{stroke:var(--line2);filter:none}6%{stroke:var(--green);filter:drop-shadow(0 0 12px rgba(116,194,85,.7))}}
@media (min-width:1680px){
  .hero-art{display:block;width:clamp(440px,calc(100% - 820px),620px)}
  .hero:has(.hero-art) h1{font-size:clamp(54px,3.8vw,80px);max-width:10.6em}
  .hero:has(.hero-art) .lede{max-width:44ch}
  .hero:has(.hero-art) .what{max-width:760px}
}
@media (prefers-reduced-motion: reduce){.ha-orbit,.ha-flow,.ha-node rect{animation:none}}
/* Wide screens: a section's intro paragraph sits beside its heading instead of under it. */
@media (min-width:1680px){
  section > .wrap:has(> h2 + .sub){display:grid;grid-template-columns:54fr 6fr 40fr;align-items:start}
  section > .wrap:has(> h2 + .sub) > *{grid-column:1 / -1}
  section > .wrap > h2:has(+ .sub){grid-column:1;max-width:none;margin-bottom:0}
  section > .wrap > h2 + .sub{grid-column:3;align-self:end;margin:0 0 6px}
}
/* Headings break into even lines (no lone last word) at every size. */
h1,h2,h3{text-wrap:balance}
@media (min-width:1680px){.hero:has(.hero-art) .wrap{min-height:560px}.hero.page:has(.hero-art){padding-top:56px}}

/* mobile menu (below 981 px, where the header links are hidden) */
.menu-btn{display:none;width:40px;height:40px;border-radius:50%;border:1px solid var(--line2);background:transparent;cursor:pointer;position:relative;flex:none}
.menu-btn span{position:absolute;left:12px;right:12px;height:1.6px;border-radius:2px;background:var(--text);transition:transform .25s,top .25s}
.menu-btn span:nth-child(1){top:15px}.menu-btn span:nth-child(2){top:23px}
.menu-btn[aria-expanded=true] span:nth-child(1){top:19px;transform:rotate(45deg)}
.menu-btn[aria-expanded=true] span:nth-child(2){top:19px;transform:rotate(-45deg)}
.mnav{position:fixed;left:0;right:0;top:68px;height:calc(100dvh - 68px);overflow-y:auto;background:var(--bg);z-index:19;opacity:0;transition:opacity .25s}
.mnav.on{opacity:1}
.mnav nav{display:flex;flex-direction:column;padding-top:18px;padding-bottom:32px}
.mnav nav > a{display:flex;align-items:baseline;gap:14px;padding:14px 0;border-bottom:1px solid var(--line);font-size:28px;font-weight:600;letter-spacing:-.02em;opacity:0;transform:translateY(8px);transition:opacity .35s,transform .35s}
.mnav nav > a small{font-family:"Geist Mono",monospace;font-size:12px;font-weight:500;color:var(--accent);letter-spacing:.1em}
.mnav nav > a[aria-current=page]{color:var(--accent)}
.mnav.on nav > a{opacity:1;transform:none}
.mnav.on nav > a:nth-child(2){transition-delay:.03s}.mnav.on nav > a:nth-child(3){transition-delay:.06s}.mnav.on nav > a:nth-child(4){transition-delay:.09s}
.mnav.on nav > a:nth-child(5){transition-delay:.12s}.mnav.on nav > a:nth-child(6){transition-delay:.15s}
.mnav-foot{display:flex;flex-direction:column;gap:16px;margin-top:28px}
.mnav-foot .btn{justify-content:center;padding:14px 20px;font-size:16px}
.mnav-client{color:var(--muted);text-align:center;font-size:15px}
.menu-open,.menu-open body{overflow:hidden}
@media (max-width:980px){.menu-btn{display:block}}
@media (max-width:420px){.nav .right .btn{display:none}}
@media (prefers-reduced-motion: reduce){.mnav,.mnav nav > a,.menu-btn span{transition:none}}

/* platform: traditional infrastructure (scale.js) */
.trad{list-style:none;display:grid;gap:16px;margin-top:26px}
.trad li{border-left:3px solid var(--violet);padding:2px 0 2px 18px;color:var(--muted);font-size:15.5px}
.trad b{display:block;color:var(--text);font-size:17px;margin-bottom:2px}
.trad .tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.trad .tags i{font-style:normal;font-family:"Geist Mono",monospace;font-size:11.5px;letter-spacing:.04em;color:var(--chip);border:1px solid var(--line2);border-radius:999px;padding:2px 9px}
.scale-stage{margin-top:0;padding:26px;color:#eef0f4;display:grid;gap:14px}
.sc-top{display:flex;justify-content:space-between;align-items:baseline}
.sc-k,.sc-lb span,.sc-cap{font-family:"Geist Mono",monospace;font-size:12px;letter-spacing:.08em;color:#8b91a1}
.sc-load{font:600 30px Geist,system-ui,sans-serif;letter-spacing:-.02em}
.sc-meter{height:6px;border-radius:6px;background:rgba(255,255,255,.08);overflow:hidden}
.sc-meter i{display:block;height:100%;width:0;background:linear-gradient(90deg,#74C255,#e3b341 70%,#e5675e);transition:width 1s ease}
.sc-lb{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:14px 16px;border:1px solid rgba(169,139,224,.5);border-radius:14px;background:rgba(120,79,178,.12);margin-top:6px}
.sc-lb b{font:600 13px "Geist Mono",monospace;letter-spacing:.12em}
.sc-lb em{font-style:normal;color:#74C255}
.sc-wires{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;height:26px}
.sc-wires i{justify-self:center;width:2px;height:100%;background:rgba(255,255,255,.08);transition:background .4s}
.sc-wires i.on{background:repeating-linear-gradient(180deg,#74C255 0 5px,transparent 5px 11px);background-size:2px 11px;animation:scwire .6s linear infinite}
@keyframes scwire{to{background-position:0 11px}}
.sc-nodes{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}
.sc-node{display:grid;gap:6px;padding:10px 8px;border:1px dashed rgba(255,255,255,.12);border-radius:12px;text-align:center;opacity:.35;transition:opacity .5s,border-color .5s,background .5s,transform .3s}
.sc-node b{font-size:12.5px;font-weight:600}
.sc-state{font:600 10px "Geist Mono",monospace;letter-spacing:.1em;color:#8b91a1}
.sc-cpu{height:4px;border-radius:4px;background:rgba(255,255,255,.08);overflow:hidden}
.sc-cpu i{display:block;height:100%;width:0;background:#74C255;transition:width 1s}
.sc-v{font:500 10.5px "Geist Mono",monospace;color:#a98be0}
.sc-node[data-s=healthy]{opacity:1;border-style:solid;border-color:rgba(116,194,85,.45);background:rgba(116,194,85,.06)}
.sc-node[data-s=healthy] .sc-state{color:#74C255}
.sc-node[data-s=starting]{opacity:.8;border-color:rgba(227,179,65,.6)}
.sc-node[data-s=starting] .sc-state{color:#e3b341}
.sc-node[data-s=draining]{opacity:.55;border-color:rgba(229,103,94,.5)}
.sc-node[data-s=draining] .sc-state{color:#e5675e}
.sc-node.rolling{transform:translateY(-4px);border-color:#a98be0;box-shadow:0 0 18px rgba(169,139,224,.45)}
.sc-pipe{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:6px;padding-top:14px;border-top:1px solid rgba(255,255,255,.08)}
.sc-ver{font:600 12px "Geist Mono",monospace;color:#a98be0;margin-right:4px}
.sc-step{position:relative;font:600 11px "Geist Mono",monospace;letter-spacing:.1em;color:#8b91a1;padding:6px 10px;border:1px solid rgba(255,255,255,.1);border-radius:999px;transition:.3s}
.sc-step.cur{color:#eef0f4;border-color:#a98be0;box-shadow:0 0 14px rgba(169,139,224,.5)}
.sc-step.done{color:#74C255;border-color:rgba(116,194,85,.5)}
.sc-cap{min-height:1.6em;color:#c3c7d1}
@media (max-width:560px){.sc-nodes,.sc-wires{grid-template-columns:repeat(3,1fr)}.sc-wires{display:none}}
@media (prefers-reduced-motion: reduce){.sc-wires i.on{animation:none}}
#traditional .split2{align-items:center}

/* ===== navigation: Services menu, mobile groups, breadcrumbs, footer sitemap, sitemap page ===== */
.mainnav{align-items:center}
.dd{position:relative}
.dd-btn{display:inline-flex;align-items:center;gap:6px;font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
.dd-btn svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;transition:transform .2s}
.dd-btn:hover,.dd-btn.current,.dd-btn[aria-expanded=true]{color:var(--text)}
.dd-btn[aria-expanded=true] svg{transform:rotate(180deg)}
.dd-panel{position:absolute;left:-24px;top:calc(100% + 22px);width:min(640px,80vw);padding:14px;border:1px solid var(--line2);border-radius:18px;
  background:var(--bg2);box-shadow:0 24px 60px rgba(0,0,0,.45);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .18s,transform .18s,visibility .18s}
.dd-panel:before{content:"";position:absolute;left:0;right:0;top:-24px;height:24px}
.dd.open .dd-panel{opacity:1;visibility:visible;transform:none}
.dd-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.dd-item{display:block;padding:14px 16px;border-radius:12px;transition:background .15s}
.dd-item:hover,.dd-item:focus-visible,.dd-item[aria-current=page]{background:var(--bg3)}
.dd-item small{display:block;font-family:"Geist Mono",monospace;font-size:11.5px;color:var(--accent);letter-spacing:.1em}
.dd-item b{display:block;color:var(--text);font-size:15.5px;font-weight:600;margin:4px 0 2px}
.dd-item span{display:block;color:var(--muted);font-size:13.5px;line-height:1.45}
.dd-foot{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:8px;padding:12px 16px 4px;border-top:1px solid var(--line);font-size:14px;color:var(--muted)}
.dd-foot a{color:var(--text);font-weight:550}
.mnav h6{margin:22px 0 2px;font:500 12px "Geist Mono",monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}
.mnav h6:first-child{margin-top:4px}
.mnav nav > a{font-size:24px;padding:11px 0}
.mnav-links{display:flex;justify-content:center;gap:22px;color:var(--muted);font-size:15px}
.crumbs{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:18px;font:500 13px "Geist Mono",monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--dim)}
.crumbs a{color:var(--muted)}.crumbs a:hover{color:var(--text)}
.crumbs i{font-style:normal;color:var(--line2)}
.crumbs [aria-current]{color:var(--text)}
footer{padding:56px 0 28px}
.ft-top{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:32px}
.ft-brand p{margin:14px 0 12px;max-width:34ch;color:var(--muted);font-size:14.5px;line-height:1.6}
.ft-phone{color:var(--text);font-weight:550}
.ft-col{display:flex;flex-direction:column;gap:9px}
.ft-col h6{margin-bottom:4px;font:500 12px "Geist Mono",monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}
.ft-col a{color:var(--muted);font-size:14.5px;width:fit-content}
.ft-col a:hover,.ft-col a[aria-current]{color:var(--text)}
.ft-bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:40px;padding-top:20px;border-top:1px solid var(--line);font-size:13px;color:var(--dim)}
@media (max-width:980px){.ft-top{grid-template-columns:1fr 1fr}.ft-brand{grid-column:1/-1}}
@media (max-width:420px){.ft-top{gap:28px 20px}.ft-col:nth-child(2){grid-column:1/-1}}
.client-link{color:var(--muted)}.client-link:hover{color:var(--text)}
/* Sitemap: a directory. Group label | rows; each row = page name and summary | its sections in even columns. */
.smap{display:grid}
.smap-g{display:grid;grid-template-columns:200px minmax(0,1fr);gap:0 48px;padding:36px 0;border-top:1px solid var(--line)}
.smap-g:first-child{border-top:0;padding-top:0}
.smap-gt{position:sticky;top:96px;align-self:start;font:500 12.5px "Geist Mono",monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.smap-row{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:40px;padding:22px 0;border-top:1px solid var(--line)}
.smap-rows>.smap-row:first-child{border-top:0;padding-top:0}
.smap-pg h3{font-size:20px;font-weight:600;letter-spacing:-.015em}
.smap-pg h3 a:hover{color:var(--accent)}
.smap-pg p{margin-top:6px;max-width:46ch;color:var(--muted);font-size:14.5px;line-height:1.6}
.smap-secs{list-style:none;columns:2;column-gap:36px;padding-top:3px}
.smap-secs li{break-inside:avoid;padding:0 0 9px}
.smap-secs a{font-size:14px;color:var(--chip);line-height:1.45}
.smap-secs a:hover{color:var(--accent)}
@media (max-width:980px){.smap-g{grid-template-columns:1fr;gap:18px}.smap-gt{position:static}}
@media (max-width:720px){.smap-row{grid-template-columns:1fr;gap:14px}.smap-secs{columns:1}}
/* Policies: contents on the left, the text at reading width. */
.pol{display:grid;grid-template-columns:230px minmax(0,1fr);gap:72px}
.pol-toc{position:sticky;top:96px;align-self:start;display:flex;flex-direction:column;gap:7px;max-height:calc(100vh - 120px);overflow:auto}
.pol-toc h6{margin-bottom:6px;font:500 12px "Geist Mono",monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}
.pol-toc a{font-size:14px;color:var(--muted)}
.pol-toc a:hover{color:var(--text)}
.pol-body{max-width:72ch}
.pol-sec{padding:28px 0;border-top:1px solid var(--line)}
.pol-sec:first-child{border-top:0;padding-top:0}
.pol-sec h2{font-size:22px;font-weight:600;letter-spacing:-.015em;margin-bottom:12px;scroll-margin-top:96px}
.pol-sec p{color:var(--muted);font-size:15.5px;line-height:1.75}
.pol-sec p+p{margin-top:12px}
@media (max-width:980px){.pol{grid-template-columns:1fr;gap:32px}.pol-toc{position:static;max-height:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 24px}.pol-toc h6{grid-column:1/-1}}
/* Steps stacked on narrow screens: a vertical line with the dots on it. */
@media (max-width:980px){.process{border-top:0;border-left:1px solid var(--line2);margin-left:3px}.process div{padding:0 0 24px 24px}.process div:last-child{padding-bottom:0}.process div:before{top:7px;left:-4px}}
/* ---- Light mode polish ---- */
.tag.go{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 50%,transparent)}
:root[data-theme=light]{--amber:#9a6700;--red:#c2410c;--card-shadow:0 1px 2px rgba(12,14,18,.04),0 10px 30px -16px rgba(12,14,18,.14)}
/* The heading gradient mixed through grey on a light page; blend in OKLCH so the middle stays coloured. */
:root[data-theme=light] h1 em,:root[data-theme=light] h2 em{background-image:linear-gradient(90deg in oklch,var(--accent),var(--violet))}
:root[data-theme=light] .sign.ok span{color:var(--accent)}
/* Cards lift off the page instead of relying on a hairline. */
:root[data-theme=light] :is(.flag,.ecard,.pl,.sys,.look,.zone,.cform,.role,.case,.ind,.aic,.sign,.sp,.next,.caps,.compare,.smap-card){box-shadow:var(--card-shadow)}
:root[data-theme=light] .pl:hover{box-shadow:0 1px 2px rgba(12,14,18,.05),0 18px 40px -18px rgba(12,14,18,.22)}
/* The platform human check, in the light theme (its colours are variables; the module stays untouched). */
:root[data-theme=light] .pf-check{--pf-bg:#ffffff;--pf-glow:rgba(120,79,178,.07);--pf-text:#0c0e12;--pf-muted:#535968;--pf-line:rgba(12,14,18,.14);--pf-accent:#357a1e;--pf-accent-rgb:53,122,30;--pf-second:#6a43a6;--pf-second-rgb:106,67,166;--pf-danger:#c2410c;box-shadow:var(--card-shadow)}
