/* HelpSec — style.css */
:root{
  --ink:#050a14;
  --deep:#07101f;
  --panel:#0b1628;
  --panel-2:#0f1d33;
  --line:#1b2a42;
  --line-2:#26395a;
  --text:#e8f0ff;
  --muted:#8fa2bb;
  --dim:#62758f;
  --cyan:#42e2f5;
  --blue:#6c83ff;
  --safe:#5fffc1;
  --threat:#ffb547;
  --font:"IBM Plex Sans Hebrew",Heebo,Arial,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;
  --brand:"Space Grotesk","IBM Plex Sans Hebrew",sans-serif;
  --r-lg:22px;--r-md:14px;--r-sm:10px;
  --head:72px;
  color-scheme:dark;
}
*,*::before,*::after{box-sizing:border-box}
html{overflow-x:hidden;scroll-behavior:smooth;scroll-padding-top:calc(var(--head) + 16px + env(safe-area-inset-top,0px));-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--ink);color:var(--text);font-family:var(--font);font-size:17px;line-height:1.7;
  overflow-x:hidden;-webkit-font-smoothing:antialiased;
  padding-bottom:env(safe-area-inset-bottom,0px);
  background-image:radial-gradient(900px 600px at 18% -10%,#0f2b5a55,transparent 70%),radial-gradient(700px 500px at 100% 20%,#06404a33,transparent 70%);
  background-repeat:no-repeat;
}
img,svg,canvas{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit;color:inherit}
button{cursor:pointer}
::selection{background:var(--cyan);color:#04121c}
:focus-visible{outline:2px solid var(--cyan);outline-offset:3px;border-radius:6px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;top:-60px;right:16px;z-index:200;background:var(--cyan);color:#04121c;padding:10px 16px;border-radius:10px;font-weight:600}
.skip:focus{top:calc(12px + env(safe-area-inset-top,0px))}
.wrap{width:min(1180px,calc(100% - 40px));margin-inline:auto}
.narrow{width:min(860px,calc(100% - 40px))}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 22px;border-radius:12px;font-weight:600;font-size:15.5px;border:1px solid transparent;transition:transform .2s,background-color .2s,border-color .2s,box-shadow .2s;white-space:nowrap}
.btn-solid{background:var(--cyan);color:#04121c;box-shadow:0 10px 34px #42e2f52b}
.btn-solid:hover{transform:translateY(-2px);box-shadow:0 14px 40px #42e2f548}
.btn-line{border-color:var(--line-2);background:#ffffff06}
.btn-line:hover{border-color:var(--cyan);background:#42e2f50d}
.btn[disabled]{opacity:.45;cursor:not-allowed;transform:none}
.btn-wide{width:100%}

/* ---------- header ---------- */
.header{position:fixed;inset:0 0 auto;z-index:60;padding-top:env(safe-area-inset-top,0px);background:#050a14c4;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid transparent;transition:border-color .3s,background-color .3s}
.header.scrolled{border-bottom-color:var(--line);background:#050a14e6}
.nav{height:var(--head);display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:inline-flex;align-items:center;gap:10px;direction:ltr;color:var(--cyan)}
.brand-mark{width:34px;height:34px;filter:drop-shadow(0 0 10px #42e2f555)}
.brand-word{font-family:var(--brand);font-weight:700;font-size:25px;letter-spacing:-.04em;color:var(--text)}
.brand-word b{color:var(--cyan);font-weight:700}
.brand-sm .brand-mark{width:28px;height:28px}.brand-sm .brand-word{font-size:21px}
.navlinks{display:flex;align-items:center;gap:28px;font-size:15px;color:#b6c5d9}
.navlinks a:not(.btn):hover{color:var(--cyan)}
.nav-cta{min-height:42px;padding:9px 18px;font-size:14.5px;margin-inline-start:6px}
.menu{display:none;width:44px;height:44px;border:1px solid var(--line-2);border-radius:12px;background:transparent;position:relative}
.menu span{position:absolute;inset-inline:12px;height:2px;background:var(--text);border-radius:2px;transition:transform .25s,top .25s}
.menu span:first-child{top:17px}.menu span:last-child{top:25px}
.menu[aria-expanded="true"] span:first-child{top:21px;transform:rotate(45deg)}
.menu[aria-expanded="true"] span:last-child{top:21px;transform:rotate(-45deg)}
.progress{position:absolute;bottom:-1px;right:0;height:2px;width:100%;background:linear-gradient(270deg,var(--cyan),var(--blue));transform-origin:right;transform:scaleX(0)}

/* ---------- hero ---------- */
.hero{position:relative;padding:calc(var(--head) + 64px + env(safe-area-inset-top,0px)) 0 96px;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(#5fc8ff08 1px,transparent 1px),linear-gradient(90deg,#5fc8ff08 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(ellipse 70% 60% at 40% 45%,#000,transparent);mask-image:radial-gradient(ellipse 70% 60% at 40% 45%,#000,transparent)}
.hero-grid{display:grid;grid-template-columns:1.08fr 1fr;gap:52px;align-items:center}
.hero-title{margin:0 0 26px;font-weight:700;font-size:clamp(44px,5.4vw,78px);line-height:1.05;letter-spacing:-.025em}
.hero-title .ln{display:block}
.ln-accent{background:linear-gradient(100deg,var(--cyan) 10%,var(--blue) 90%);-webkit-background-clip:text;background-clip:text;color:transparent;padding-bottom:.06em}
.lede{font-size:19px;color:#a7b8cd;max-width:34em;margin:0 0 34px;font-weight:300;line-height:1.8}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px}
.pillars{display:flex;flex-wrap:wrap;gap:8px 22px;list-style:none;padding:0;margin:40px 0 0;font-size:14px;color:var(--muted)}
.pillars li{display:inline-flex;align-items:center;gap:8px}
.pillars li::before{content:"";width:9px;height:10px;background:var(--cyan);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);opacity:.8}

/* page-load sequence: the one orchestrated moment */
@keyframes rise{from{opacity:0;transform:translateY(20px)}}
@keyframes settle{from{opacity:0;transform:scale(.965)}}
.hero-title .ln,.lede,.hero-actions,.pillars{animation:rise .85s cubic-bezier(.2,.7,.2,1) both}
.hero-title .ln:nth-child(2){animation-delay:.1s}
.hero-title .ln:nth-child(3){animation-delay:.2s}
.lede{animation-delay:.32s}.hero-actions{animation-delay:.42s}.pillars{animation-delay:.52s}
.console{animation:settle 1.1s .15s cubic-bezier(.2,.7,.2,1) both}

/* console */
.console{margin:0;border:1px solid var(--line-2);border-radius:var(--r-lg);background:linear-gradient(160deg,#0d1b31,#070f1e 70%);box-shadow:0 40px 100px #00000080,0 0 0 1px #42e2f50a inset;overflow:hidden}
.console-bar{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line)}
.lights{display:flex;gap:6px}.lights i{width:10px;height:10px;border-radius:50%;background:#ff6b78}.lights i:nth-child(2){background:#f8c869}.lights i:nth-child(3){background:#55e0aa}
.console-title{font-family:var(--brand);font-weight:700;font-size:14px;direction:ltr;letter-spacing:-.01em}
.console-tag{margin-inline-start:auto;font-size:12px;color:var(--muted);border:1px solid var(--line-2);border-radius:999px;padding:2px 10px}
.stage{position:relative;aspect-ratio:1/.8;cursor:crosshair;touch-action:manipulation}
.stage canvas{position:absolute;inset:0;width:100%;height:100%}
.stage-hud{position:absolute;inset:14px 16px auto;display:flex;justify-content:space-between;pointer-events:none}
.hud-item{display:grid;gap:2px}
.hud-k{font-size:11.5px;color:var(--dim)}
.hud-v{font-size:15px;font-weight:600;display:inline-flex;align-items:center;gap:7px}
.hud-v.ok{color:var(--safe)}
.hud-v.num{font-family:var(--mono);font-weight:500;color:var(--threat);direction:ltr;justify-content:flex-end}
.hud-v.num.auto{color:var(--safe);justify-content:flex-start}
.hud-item:last-child{text-align:left}
.pulse{display:inline-block;vertical-align:middle;width:8px;height:8px;border-radius:50%;background:var(--safe);box-shadow:0 0 0 0 #5fffc180;animation:pulse 2s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 9px #5fffc100}100%{box-shadow:0 0 0 0 #5fffc100}}
.stage-hint{position:absolute;bottom:10px;inset-inline:0;text-align:center;margin:0;font-size:12.5px;color:var(--dim);pointer-events:none;transition:opacity .6s}
.stage-hint.gone{opacity:0}
.log{list-style:none;margin:0;padding:12px 16px 14px;border-top:1px solid var(--line);height:calc(4 * 23px + 26px);overflow:hidden;font-family:var(--mono);font-size:12.5px;line-height:23px;color:#9fb2c9}
.log li{display:flex;gap:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;animation:logIn .45s ease-out}
.log li:nth-child(2){opacity:.75}.log li:nth-child(3){opacity:.5}.log li:nth-child(4){opacity:.28}
.log time{color:var(--dim);direction:ltr;flex:none}
.log .t-threat{color:var(--threat)}.log .t-ok{color:var(--safe)}.log .t-auto{color:var(--cyan)}
.log .msg{overflow:hidden;text-overflow:ellipsis;font-family:var(--font)}
@keyframes logIn{from{opacity:0;transform:translateY(-8px)}}

/* ---------- sections ---------- */
.section{padding:112px 0}
.section-alt{background:var(--deep);border-block:1px solid #111d31}
.sect-head{max-width:740px;margin:0 0 52px}
.sect-head h2{margin:0 0 14px;font-size:clamp(30px,3.7vw,48px);line-height:1.16;letter-spacing:-.02em;font-weight:700;text-wrap:balance}
.sect-head p{margin:0;color:var(--muted);font-size:17.5px;max-width:38em}

/* services explorer */
.explorer{display:grid;grid-template-columns:330px 1fr;gap:24px;align-items:start}
.tabs{display:grid;gap:6px}
.tab{display:flex;align-items:center;gap:14px;width:100%;text-align:start;padding:15px 18px;border-radius:var(--r-md);border:1px solid transparent;background:transparent;color:#b3c2d6;font-size:16.5px;font-weight:500;transition:background-color .2s,border-color .2s,color .2s;position:relative}
.tab svg{width:24px;height:24px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;opacity:.8}
.tab:hover{background:#ffffff05;color:var(--text)}
.tab[aria-selected="true"]{background:var(--panel);border-color:var(--line-2);color:var(--text)}
.tab[aria-selected="true"] svg{color:var(--cyan);opacity:1}
.tab[aria-selected="true"]::before{content:"";position:absolute;inset-inline-start:-1px;top:14px;bottom:14px;width:3px;border-radius:3px;background:var(--cyan)}
.panels{min-height:100%}
.panel{background:linear-gradient(160deg,var(--panel-2),var(--panel));border:1px solid var(--line-2);border-radius:var(--r-lg);padding:40px 44px;animation:panelIn .35s ease-out}
@keyframes panelIn{from{opacity:0;transform:translateY(6px)}}
.panel h3{margin:0 0 8px;font-size:30px;line-height:1.2;letter-spacing:-.015em}
.panel-lede{margin:0 0 28px;color:#a9bad0;font-size:18px;max-width:34em}
.incl{list-style:none;padding:0;margin:0 0 30px;display:grid;grid-template-columns:1fr 1fr;gap:12px 28px}
.incl li{display:flex;gap:11px;align-items:flex-start;font-size:16px;color:#d2deee}
.incl li::before{content:"";flex:none;width:18px;height:18px;margin-top:4px;border-radius:50%;background:#5fffc11f url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='m5 9.3 2.6 2.6L13 6.4' fill='none' stroke='%235fffc1' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/18px no-repeat}
.fit{margin:0;padding-top:22px;border-top:1px solid var(--line);color:var(--muted);font-size:15.5px}
.fit strong{color:var(--cyan);font-weight:600;margin-inline-end:6px}
.fit strong::after{content:"…"}

/* compare */
.compare{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.col{border-radius:var(--r-lg);padding:34px 36px;border:1px solid var(--line)}
.col h3{margin:0 0 20px;font-size:21px}
.col ul{list-style:none;margin:0;padding:0;display:grid;gap:16px}
.col li{display:flex;gap:13px;align-items:flex-start;font-size:16.5px}
.col li::before{content:"";flex:none;width:20px;height:20px;margin-top:4px;border-radius:6px}
.col-before{background:#0a1220;color:#93a3b8}
.col-before h3{color:#b9c4d3}
.col-before li::before{background:#ffb5471a url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='m6.5 6.5 7 7m0-7-7 7' stroke='%23ffb547' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") center/20px no-repeat}
.col-after{background:linear-gradient(160deg,#0f2236,#0b1628);border-color:#2a5870;box-shadow:0 0 0 1px #42e2f512 inset}
.col-after li{color:#dbe7f5}
.col-after li::before{background:#5fffc11a url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='m5.5 10.3 3 3 6-6.3' fill='none' stroke='%235fffc1' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/20px no-repeat}

/* steps */
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:28px;position:relative}
.steps::before{content:"";position:absolute;top:22px;inset-inline:22px;height:1px;background:linear-gradient(270deg,var(--cyan),var(--blue) 60%,#6c83ff22)}
.step{position:relative}
.step-n{position:relative;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--ink);border:1px solid var(--cyan);color:var(--cyan);font-family:var(--brand);font-size:18px;margin-bottom:22px;box-shadow:0 0 0 6px var(--ink)}
.step h3{margin:0 0 8px;font-size:20px}
.step p{margin:0;color:var(--muted);font-size:15.5px}

/* health check */
.check{display:grid;grid-template-columns:.92fr 1.08fr;gap:56px;align-items:start}
.check-intro{position:sticky;top:calc(var(--head) + 32px)}
.check-intro h2{margin:0 0 14px;font-size:clamp(30px,3.7vw,48px);line-height:1.16;letter-spacing:-.02em}
.check-intro>p{color:var(--muted);margin:0 0 30px;font-size:17.5px}
.gauge-box{display:flex;align-items:center;gap:24px;margin-bottom:26px}
.gauge{width:132px;height:132px;flex:none;transform:rotate(-90deg)}
.g-track{fill:none;stroke:#1a2a42;stroke-width:10}
.g-fill{fill:none;stroke:var(--threat);stroke-width:10;stroke-linecap:round;stroke-dasharray:314.16;stroke-dashoffset:314.16;transition:stroke-dashoffset .6s cubic-bezier(.2,.7,.2,1),stroke .4s}
.gauge-text{display:grid}
.g-pct{font-family:var(--brand);font-size:52px;line-height:1;letter-spacing:-.03em;direction:ltr;text-align:end;justify-self:start}
.g-level{font-size:17px;color:var(--muted);margin-top:6px}
.gaps{margin-bottom:26px;padding:20px 22px;border:1px solid var(--line-2);border-radius:var(--r-md);background:var(--panel)}
.gaps h3{margin:0 0 10px;font-size:16px;color:var(--threat);font-weight:600}
.gaps ol{margin:0;padding-inline-start:20px;display:grid;gap:10px;font-size:15px;color:#c5d3e4}
.gaps li::marker{color:var(--threat);font-family:var(--brand)}
.gaps li b{display:block;color:var(--text);font-weight:600}
.fine{font-size:13px;color:var(--dim);margin:18px 0 0;line-height:1.65}
.qs{border:0;margin:0;padding:0;display:grid;gap:10px}
.q{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:start;padding:17px 20px;border:1px solid var(--line);border-radius:var(--r-md);background:#0a1424;cursor:pointer;transition:border-color .2s,background-color .2s}
.q:hover{border-color:var(--line-2)}
.q input{position:absolute;opacity:0;pointer-events:none}
.q .box{width:24px;height:24px;border-radius:7px;border:1.5px solid #3a5072;display:grid;place-items:center;margin-top:2px;transition:background-color .2s,border-color .2s}
.q .box svg{width:14px;height:14px;opacity:0;transform:scale(.6);transition:opacity .2s,transform .2s}
.q:has(input:checked){border-color:#2f6a7c;background:#0e2131}
.q input:checked+.box{background:var(--safe);border-color:var(--safe)}
.q input:checked+.box svg{opacity:1;transform:none}
.q input:focus-visible+.box{outline:2px solid var(--cyan);outline-offset:3px}
.q-text{font-size:16px;line-height:1.55;color:#d6e2f1}
.q-tag{display:block;font-size:12.5px;color:var(--dim);margin-bottom:3px}

/* plans */
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:stretch;padding-top:14px}
.plan{display:flex;flex-direction:column;padding:34px 30px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--panel)}
.plan h3{margin:0 0 6px;font-family:var(--brand);font-size:28px;letter-spacing:-.03em;direction:ltr;text-align:right}
.plan-for{margin:0 0 24px;color:var(--muted);font-size:15.5px;min-height:3.4em}
.plan ul{list-style:none;padding:0;margin:0 0 30px;display:grid;gap:12px;flex:1;align-content:start;font-size:15.5px;color:#cdd9e8}
.plan li{display:flex;gap:10px}
.plan li::before{content:"";flex:none;width:6px;height:6px;margin-top:11px;border-radius:50%;background:var(--cyan)}
.plan-featured{border-color:#3fb7cc;background:linear-gradient(170deg,#10263b,var(--panel) 60%);box-shadow:0 30px 80px #0000005c,0 0 0 1px #42e2f51f inset;position:relative}
.plan-badge{position:absolute;top:-14px;inset-inline-start:28px;margin:0;font-size:13px;font-weight:600;color:#04121c;background:var(--cyan);border-radius:999px;padding:3px 12px}

/* savings calculator */
.calc{display:grid;grid-template-columns:1.1fr .9fr;gap:24px;align-items:start}
.calc-in{display:grid;gap:22px;padding:32px;border:1px solid var(--line-2);border-radius:var(--r-lg);background:var(--panel)}
.slider{display:grid;grid-template-columns:1fr auto;gap:10px 16px;align-items:center}
.slider label{font-size:15px;color:#c3d2e4}
.slider output{font-family:var(--brand);font-size:20px;color:var(--cyan);unicode-bidi:plaintext;min-width:4.5ch;text-align:left}
.slider input{grid-column:1 / -1;width:100%;margin:0;height:28px;background:transparent;-webkit-appearance:none;appearance:none;cursor:pointer;--p:20%}
.slider input::-webkit-slider-runnable-track{height:6px;border-radius:6px;background:linear-gradient(to left,var(--cyan) var(--p),#1c2c45 var(--p))}
.slider input::-moz-range-track{height:6px;border-radius:6px;background:#1c2c45}
.slider input::-moz-range-progress{height:6px;border-radius:6px;background:var(--cyan)}
.slider input::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;margin-top:-8px;border-radius:50%;background:var(--text);border:4px solid var(--cyan);box-shadow:0 0 0 4px #42e2f522}
.slider input::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--text);border:4px solid var(--cyan)}
.slider input:focus-visible{outline:none}
.slider input:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 5px #42e2f566}
.calc-out{position:sticky;top:calc(var(--head) + 32px);padding:32px;border:1px solid #2a5870;border-radius:var(--r-lg);background:linear-gradient(160deg,#0f2236,#0b1628)}
.co-k{margin:0;font-size:14.5px;color:var(--muted)}
.co-big{margin:2px 0 22px;font-family:var(--brand);font-size:clamp(48px,6vw,68px);line-height:1.05;letter-spacing:-.03em}
.co-big small,.co-mid small{font-family:var(--font);font-size:16px;letter-spacing:0;color:var(--muted);font-weight:400}
.co-split{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:18px 0;border-block:1px solid var(--line-2)}
.co-mid{margin:2px 0 0;font-family:var(--brand);font-size:32px;line-height:1.15;letter-spacing:-.02em;direction:ltr;text-align:right}
.co-mid.safe{color:var(--safe)}
.co-days{margin:16px 0 22px;font-size:16px;color:#d2deee;min-height:1.6em}
.co-days b{color:var(--safe);font-weight:600}
.calc-mini{display:none}
.field select{width:100%;background:#071021;border:1px solid #2a3c58;border-radius:var(--r-sm);padding:13px 14px;font:inherit;font-size:16px;color:var(--text)}
.field select:focus{border-color:var(--cyan);outline:none;box-shadow:0 0 0 3px #42e2f51f}
.ctx{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0;padding:10px 14px;border-radius:10px;background:#42e2f514;border:1px solid #2a5870;font-size:14px;color:#c3d1e2}
.ctx b{color:var(--cyan);font-weight:600}
.ctx button{border:0;background:transparent;color:var(--muted);font-size:20px;line-height:1;width:28px;height:28px;border-radius:8px}
.ctx button:hover{background:#ffffff10;color:var(--text)}
.book{margin:0 0 28px}
.form-legal{margin:0}.form-legal a,.doc a{color:var(--cyan);text-decoration:underline;text-underline-offset:3px}

/* digital twin */
.twin-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 24px;margin-bottom:14px}
.twin-bar .seg{margin:0}
.twin-kpis{display:flex;gap:26px;margin:0}
.twin-kpis div{display:grid}
.twin-kpis dt{font-size:12.5px;color:var(--dim)}
.twin-kpis dd{margin:0;font-family:var(--brand);font-size:22px;color:var(--text);unicode-bidi:plaintext}
.twin-stage{position:relative;aspect-ratio:16/9;min-height:360px;border:1px solid var(--line-2);border-radius:var(--r-lg);overflow:hidden;background:radial-gradient(ellipse at 50% 40%,#0c1a30,#050a14 70%);touch-action:none}
.twin-stage canvas{display:block;width:100%!important;height:100%!important;cursor:grab}
.twin-stage canvas:active{cursor:grabbing}
.twin-loading{position:absolute;inset:0;display:grid;place-items:center;margin:0;color:var(--muted);font-size:15px}
.twin-loading.err{color:var(--threat)}
.twin-hint{position:absolute;bottom:12px;inset-inline:0;margin:0;text-align:center;font-size:12.5px;color:var(--dim);pointer-events:none;transition:opacity .6s}
.twin-hint.gone{opacity:0}
.twin-legend{position:absolute;top:14px;inset-inline-start:14px;display:grid;gap:6px;padding:10px 12px;border-radius:12px;background:#070f1ee0;border:1px solid var(--line);font-size:12.5px;color:#c3d1e2;pointer-events:none}
.twin-legend:empty{display:none}
.twin-legend span{display:flex;align-items:center;gap:8px}
.twin-legend i{width:12px;height:12px;border-radius:3px;flex:none}
.twin-legend .grad{width:120px;height:8px;border-radius:4px;background:linear-gradient(to left,#1f3a7a,#42e2f5,#ffb547,#ff6b78)}
.twin-card,.twin-route{position:absolute;top:14px;inset-inline-end:14px;width:min(270px,calc(100% - 28px));padding:16px 18px;border-radius:14px;background:#0b1628f2;border:1px solid var(--line-2);box-shadow:0 20px 50px #00000080;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.twin-x{position:absolute;top:8px;inset-inline-end:10px;width:30px;height:30px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-size:22px;line-height:1}
.twin-x:hover{color:var(--text);background:#ffffff0d}
.tc-id{margin:0;font-family:var(--mono);font-size:13px;color:var(--cyan);direction:ltr;text-align:right}
.tc-item{margin:2px 0 12px;font-size:18px;font-weight:600}
.tc-bar{height:6px;border-radius:6px;background:#1c2c45;overflow:hidden;margin-bottom:12px}
.tc-bar i{display:block;height:100%;border-radius:6px;background:var(--safe);margin-inline-start:0}
.tc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0}
.tc-grid dt{font-size:11.5px;color:var(--dim)}
.tc-grid dd{margin:0;font-size:14px;unicode-bidi:plaintext;white-space:nowrap}
.tr-head{margin:0 0 10px;font-size:14px;color:var(--muted)}
.tr-head b{color:var(--text)}
.twin-route ol{margin:0;padding:0;list-style:none;display:grid;gap:6px;font-size:13.5px}
.twin-route li{display:flex;justify-content:space-between;gap:10px;color:#9fb2c9}
.twin-route li code{font-family:var(--mono);font-size:12px;color:var(--dim);direction:ltr}
.twin-route li.done{color:var(--safe)}
.twin-route li.done::before{content:"✓";margin-inline-end:6px}

/* news */
.news{max-width:900px}
.seg{display:inline-flex;gap:4px;padding:4px;border:1px solid var(--line-2);border-radius:12px;background:var(--panel);margin-bottom:20px}
.seg-btn{border:0;background:transparent;padding:9px 16px;border-radius:9px;font-size:15px;font-weight:500;color:var(--muted);transition:background-color .2s,color .2s}
.seg-btn[aria-selected="true"]{background:var(--panel-2);color:var(--text);box-shadow:0 0 0 1px var(--line-2) inset}
.news-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.news-list li{border-bottom:1px solid var(--line)}
.news-list a{display:grid;grid-template-columns:1fr auto;gap:6px 20px;align-items:center;padding:18px 4px;transition:background-color .2s}
.news-list a:hover{background:#ffffff05}
.news-list a:hover .n-title{color:var(--cyan)}
.n-title{font-size:17.5px;font-weight:500;line-height:1.5;color:var(--text);transition:color .2s}
.n-meta{grid-column:1;font-size:13.5px;color:var(--dim)}
.n-go{grid-row:1 / span 2;grid-column:2;width:20px;height:20px;fill:none;stroke:var(--dim);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.news-list a:hover .n-go{stroke:var(--cyan)}
.news-list .sk{height:74px;background:linear-gradient(90deg,transparent,#ffffff08,transparent) 0 0/200% 100%;animation:sk 1.4s linear infinite}
@keyframes sk{to{background-position:-200% 0}}
.news-empty{padding:22px 4px;color:var(--muted)}
.news-note{margin-top:16px}

/* faq */
.faq{display:grid;gap:10px}
.faq details{border:1px solid var(--line);border-radius:var(--r-md);background:var(--panel);transition:border-color .2s}
.faq details[open]{border-color:var(--line-2)}
.faq summary{list-style:none;cursor:pointer;padding:20px 24px;font-size:17.5px;font-weight:600;display:flex;justify-content:space-between;align-items:center;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:none;width:22px;height:22px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 22'%3E%3Cpath d='M11 5v12M5 11h12' stroke='%2342e2f5' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") center/22px no-repeat;transition:transform .25s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{margin:0;padding:0 24px 22px;color:#a8b9cd;font-size:16px;max-width:42em}

/* contact */
.contact{display:grid;grid-template-columns:.85fr 1.15fr;gap:56px;align-items:start}
.contact-copy h2{margin:0 0 14px;font-size:clamp(30px,3.7vw,48px);line-height:1.16;letter-spacing:-.02em}
.contact-copy p{color:var(--muted);font-size:17.5px;margin:0 0 28px}
.direct{list-style:none;padding:0;margin:0 0 30px;display:grid;gap:10px}
.direct a{display:flex;align-items:center;gap:14px;padding:14px 18px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--panel);transition:border-color .2s}
.direct a:hover{border-color:var(--cyan)}
.direct svg{width:22px;height:22px;fill:none;stroke:var(--cyan);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}
.direct small{display:block;color:var(--dim);font-size:12.5px}
.direct span{direction:ltr;unicode-bidi:plaintext}
.form{display:grid;gap:16px;padding:32px;border:1px solid var(--line-2);border-radius:var(--r-lg);background:linear-gradient(165deg,var(--panel-2),var(--panel))}
.row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{display:grid;gap:7px;font-size:14px;color:#c3d2e4}
.field small{color:var(--dim);font-size:12.5px}
.field input,.field textarea{width:100%;background:#071021;border:1px solid #2a3c58;border-radius:var(--r-sm);padding:13px 14px;font-size:16px;color:var(--text);outline:none;transition:border-color .2s,box-shadow .2s;resize:vertical}
.field input::placeholder,.field textarea::placeholder{color:#4d6080}
.field input[dir="ltr"]{text-align:right}
.field input[dir="ltr"]:not(:placeholder-shown){text-align:left}
.field input:focus,.field textarea:focus{border-color:var(--cyan);box-shadow:0 0 0 3px #42e2f51f}
.field.invalid input{border-color:#ff7a7a}
.err{font-style:normal;font-size:13px;color:#ff9d9d;min-height:0}
.err:empty{display:none}
.hp{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;opacity:0;pointer-events:none}
.turnstile:empty{display:none}
.form-status{font-size:15px;line-height:1.6}
.form-status:empty{display:none}
.form-status.ok{padding:14px 16px;border-radius:var(--r-sm);background:#0f2d27;border:1px solid #2f8f72;color:#d5fff0}
.form-status.warn{padding:16px;border-radius:var(--r-sm);background:#2a2110;border:1px solid #6e5420;color:#ffe9c2}
.form-status.warn .alt{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.form-status .code{display:block;margin-top:10px;font-size:12px;opacity:.6;direction:ltr;text-align:right}
.form-status.warn .btn{min-height:40px;padding:8px 14px;font-size:14px}

.next{list-style:none;margin:0 0 28px;padding:0;display:grid;gap:14px;counter-reset:n}
.next li{display:grid;grid-template-columns:30px 1fr;gap:14px;align-items:start;color:#c6d4e5;font-size:16px;counter-increment:n}
.next li::before{content:counter(n);display:grid;place-items:center;width:30px;height:30px;border-radius:50%;border:1px solid var(--line-2);color:var(--cyan);font-family:var(--brand);font-size:14px}
.next small{display:block;color:var(--dim);font-size:14px}
.urgent{font-size:14px;color:var(--dim);border-inline-start:2px solid var(--threat);padding-inline-start:12px;margin:0}

/* footer */
.footer{border-top:1px solid var(--line);padding:36px 0 calc(36px + env(safe-area-inset-bottom,0px));color:var(--dim);font-size:14px}
.foot{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.foot p{margin:0}
.foot-links{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 22px;max-width:100%}
.foot-links a:hover{color:var(--cyan)}

/* floating CTA (mobile) */
.jump{display:none;position:fixed;z-index:50;left:14px;bottom:calc(14px + env(safe-area-inset-bottom,0px));background:var(--cyan);color:#04121c;font-weight:600;font-size:15px;padding:12px 20px;border-radius:999px;box-shadow:0 10px 30px #00000080;transition:opacity .3s,transform .3s}
.jump.hide{opacity:0;transform:translateY(16px);pointer-events:none}

/* ---------- responsive ---------- */
@media (max-width:1040px){
  .hero-grid{grid-template-columns:1fr;gap:48px}
  .console{max-width:640px;width:100%;margin-inline:auto}
  .explorer{grid-template-columns:1fr}
  .tabs{grid-template-columns:repeat(3,1fr)}
  .tab{flex-direction:column;align-items:flex-start;gap:10px;padding:14px;font-size:15px}
  .tab[aria-selected="true"]::before{inset-inline-start:14px;inset-inline-end:auto;top:auto;bottom:-1px;width:28px;height:3px}
  .check{grid-template-columns:1fr;gap:36px}
  .calc{grid-template-columns:1fr}
  .calc-out{position:static}
  .twin-stage{aspect-ratio:4/3}
  .calc-mini{display:block;position:sticky;bottom:calc(10px + env(safe-area-inset-bottom,0px));margin:0;padding:12px 16px;border-radius:12px;background:#0f2236f2;border:1px solid #2a5870;font-size:15px;color:var(--muted);box-shadow:0 10px 30px #00000080;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
  .calc-mini b{color:var(--safe);font-weight:600;unicode-bidi:plaintext}
  .check-intro{display:contents}
  .check-intro>h2,.check-intro>p:not(.fine){order:1}
  .qs{order:2}
  .gauge-box,.gaps,#send-result,.fine{order:3}
  .gauge-box{margin:6px 0 0}
  .check{row-gap:0}
  .check-intro>p:not(.fine){margin-bottom:26px}
  .qs{margin-bottom:28px}
  .gaps{margin:20px 0}
  #send-result{justify-self:start}
  .steps{grid-template-columns:repeat(2,1fr);row-gap:44px}
  .steps::before{display:none}
  .navlinks{gap:20px}
}
@media (max-width:860px){
  .menu{display:block}
  .navlinks{position:absolute;top:calc(100% + 1px);inset-inline:0;flex-direction:column;align-items:stretch;gap:0;padding:8px 20px 20px;background:#050a14f7;border-bottom:1px solid var(--line);display:none}
  .navlinks.open{display:flex}
  .navlinks a:not(.btn){padding:14px 4px;border-bottom:1px solid #111d31;font-size:17px}
  .nav-cta{margin:16px 0 0}
  .plans{grid-template-columns:1fr;max-width:520px}
  .plan-for{min-height:0}
  .contact{grid-template-columns:1fr;gap:36px}
  .compare{grid-template-columns:1fr}
  .jump{display:inline-flex}
}
@media (max-width:600px){
  body{font-size:16px}
  .wrap,.narrow{width:calc(100% - 32px)}
  :root{--head:64px}
  .brand-word{font-size:22px}.brand-mark{width:30px;height:30px}
  .hero{padding-bottom:64px;padding-top:calc(var(--head) + 40px + env(safe-area-inset-top,0px))}
  .hero-title{font-size:clamp(40px,12vw,54px)}
  .lede{font-size:17px}
  .hero-actions .btn{flex:1 1 100%}
  .stage{aspect-ratio:1/.92}
  .log{font-size:11.5px;height:calc(3 * 23px + 26px)}
  .log li:nth-child(n+4){display:none}
  .section{padding:76px 0}
  .sect-head{margin-bottom:36px}
  .tabs{grid-template-columns:1fr 1fr}
  .panel{padding:28px 22px}
  .panel h3{font-size:25px}
  .incl{grid-template-columns:1fr}
  .col{padding:26px 22px}
  .steps{grid-template-columns:1fr;row-gap:30px}
  .step{display:grid;grid-template-columns:44px 1fr;column-gap:18px}
  .step-n{grid-row:span 2;margin:0}
  .gauge{width:110px;height:110px}.g-pct{font-size:44px}
  .q{padding:15px 16px}
  .form{padding:22px 18px}
  .calc-in,.calc-out{padding:24px 18px}
  .twin-stage{aspect-ratio:auto;height:min(115vw,520px);min-height:0}
  .twin-kpis{gap:18px}.twin-kpis dd{font-size:19px}
  .twin-bar .seg{width:100%}.twin-bar .seg-btn{flex:1;padding:9px 6px;font-size:13.5px}
  .twin-card,.twin-route{top:auto;bottom:12px;inset-inline:12px;width:auto}
  .twin-legend{font-size:11.5px;padding:8px 10px;top:10px;inset-inline-start:10px}
  .twin-card,.twin-route{padding:12px 14px}
  .tc-item{font-size:16px;margin-bottom:8px}
  .twin-route ol{max-height:70px;overflow:auto}
  .twin-hint{display:none}
  .twin-feed{display:none}
  .row{grid-template-columns:1fr}
  .foot{flex-direction:column;text-align:center}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}

/* legal docs */
.doc{padding:calc(var(--head) + 56px + env(safe-area-inset-top,0px)) 0 80px;max-width:760px}
.doc h1{font-size:clamp(34px,5vw,50px);line-height:1.15;margin:0 0 6px;letter-spacing:-.02em}
.doc-date{color:var(--dim);font-size:14px;margin:0 0 36px}
.doc h2{font-size:22px;margin:40px 0 10px}
.doc p,.doc li{color:#c3d1e2;font-size:16.5px;line-height:1.85}
.doc ul{padding-inline-start:22px;margin:0 0 12px;display:grid;gap:6px}
.doc li::marker{color:var(--cyan)}
.doc strong{color:var(--text);font-weight:600}
.nav-back{min-height:42px;padding:8px 16px;font-size:14.5px}

/* 404 */
.lost{min-height:100vh;min-height:100dvh;display:grid;place-content:center;justify-items:center;text-align:center;gap:6px;padding:40px 20px}
.lost .brand{margin-bottom:28px}
.lost-code{margin:0;font-family:var(--brand);font-size:clamp(90px,22vw,180px);line-height:1;letter-spacing:-.05em;color:transparent;-webkit-text-stroke:1.5px var(--cyan);direction:ltr}
.lost h1{margin:10px 0 0;font-size:clamp(28px,5vw,42px)}
.lost p{color:var(--muted);margin:0 0 26px}

/* =================== HelpSec Labs =================== */
.nav-labs{color:var(--cyan)!important;font-weight:600}
.labs-hero{padding:calc(var(--head) + 72px + env(safe-area-inset-top,0px)) 0 56px;position:relative;overflow:hidden}
.labs-hero::before{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(#5fc8ff08 1px,transparent 1px),linear-gradient(90deg,#5fc8ff08 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(ellipse 60% 70% at 70% 40%,#000,transparent);mask-image:radial-gradient(ellipse 60% 70% at 70% 40%,#000,transparent)}
.labs-kicker{margin:0 0 14px}
.labs-kicker .word{font-family:var(--brand);font-size:20px;letter-spacing:-.02em;color:var(--muted)}
.labs-kicker .word b{color:var(--cyan)}
.labs-title{margin:0 0 22px;font-size:clamp(48px,8vw,104px);line-height:1;letter-spacing:-.03em;font-weight:700;animation:rise .85s cubic-bezier(.2,.7,.2,1) both}
.labs-hero .lede{animation:rise .85s .15s cubic-bezier(.2,.7,.2,1) both}
.labs-note{margin:0;color:var(--dim);font-size:14px}
.lab-index{position:sticky;top:calc(var(--head) + env(safe-area-inset-top,0px));z-index:40;background:#050a14e8;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-block:1px solid var(--line)}
.lab-index-in{display:flex;gap:6px;overflow-x:auto;padding:10px 0;scrollbar-width:none}
.lab-index-in::-webkit-scrollbar{display:none}
.lab-index a{flex:none;display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;font-size:14px;color:var(--muted);border:1px solid transparent;transition:color .2s,border-color .2s,background-color .2s}
.lab-index a b{font-family:var(--brand);font-size:12px;color:var(--dim);direction:ltr}
.lab-index a:hover,.lab-index a.on{color:var(--text);border-color:var(--line-2);background:var(--panel)}
.lab-index a.on b{color:var(--cyan)}
.labs-page{scroll-padding-top:calc(var(--head) + 70px)}
.labs-page .lab{scroll-margin-top:calc(var(--head) + 60px)}
.lab{padding:96px 0}
.lab-alt{background:var(--deep);border-block:1px solid #111d31}
.lab-head{max-width:760px;margin-bottom:32px}
.lab-no{margin:0 0 10px;font-family:var(--brand);font-size:13px;letter-spacing:.06em;color:var(--cyan)}
.lab-head h2{margin:0 0 12px;font-size:clamp(28px,3.4vw,44px);line-height:1.15;letter-spacing:-.02em}
.lab-head>p{margin:0 0 16px;color:var(--muted);font-size:17px}
.lab-tags{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}
.lab-tags li{font-size:13px;color:#b6c5d9;border:1px solid var(--line-2);border-radius:999px;padding:3px 12px}

/* labs hero grid */
.labs-hero-in{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
.lh-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;animation:settle 1s .2s cubic-bezier(.2,.7,.2,1) both}
.lh-card{position:relative;display:flex;flex-direction:column;gap:4px;aspect-ratio:1/1;padding:18px;border:1px solid var(--line-2);border-radius:18px;background:linear-gradient(160deg,#0f1d33,#0a1424);transition:border-color .25s,transform .25s,box-shadow .25s}
.lh-card:hover{border-color:var(--cyan);transform:translateY(-4px);box-shadow:0 18px 40px #00000066}
.lh-ic{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:#42e2f514;margin-bottom:auto}
.lh-ic svg{width:24px;height:24px;fill:none;stroke:var(--cyan);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.lh-card b{font-family:var(--brand);font-size:12px;color:var(--dim);letter-spacing:.05em}
.lh-card strong{font-size:15.5px;font-weight:600;line-height:1.3}
.lh-card:nth-child(3n+2){transform:translateY(26px)}
.lh-card:nth-child(3n+2):hover{transform:translateY(22px)}
.lh-grid{padding-bottom:26px}

/* twin event feed */
.twin-feed{position:absolute;bottom:40px;inset-inline-start:14px;list-style:none;margin:0;padding:0;display:grid;gap:5px;pointer-events:none;width:min(250px,calc(100% - 28px))}
.twin-feed li{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:9px;background:#070f1ee6;border:1px solid var(--line);font-size:12.5px;animation:logIn .3s ease-out}
.twin-feed li:nth-child(2){opacity:.75}.twin-feed li:nth-child(3){opacity:.5}
.twin-feed b{font-weight:600}.twin-feed li.in b{color:var(--safe)}.twin-feed li.out b{color:var(--cyan)}.twin-feed li.low b{color:var(--threat)}
.twin-feed code{font-family:var(--mono);font-size:11.5px;color:var(--dim);direction:ltr}
.twin-feed span{margin-inline-start:auto;font-family:var(--brand);unicode-bidi:plaintext}
.twin-feed em{font-style:normal;font-size:11px;color:var(--threat)}

/* RFID chain */
.chain{margin-bottom:56px}
.chain-bar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px}
.chain-bar .seg{margin:0}
.chain-steps{list-style:none;margin:0 0 16px;padding:0;display:grid;grid-template-columns:repeat(7,1fr);gap:8px}
.cs{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 6px;border-radius:var(--r-md);border:1px solid var(--line);background:var(--panel);text-align:center;transition:border-color .3s,background-color .3s}
.cs::after{content:"";position:absolute;top:26px;inset-inline-end:-9px;width:10px;height:2px;background:var(--line-2)}
.cs:last-child::after{display:none}
.cs-n{width:26px;height:26px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--line-2);font-family:var(--brand);font-size:12.5px;color:var(--dim)}
.cs-name{font-size:13.5px;font-weight:600;line-height:1.3}
.cs.now{border-color:var(--cyan);background:#0f2236}
.cs.now .cs-n,.cs.done .cs-n{border-color:var(--cyan);color:var(--cyan)}
.cs.done{border-color:#2a5870}
.cs.warn{border-color:var(--threat)!important}
.cs.warn .cs-n{border-color:var(--threat);color:var(--threat)}
.chain-stage{display:grid;grid-template-columns:auto 1.2fr 1fr;gap:14px;align-items:stretch}
.carton{display:grid;grid-template-columns:repeat(6,18px);gap:7px;align-content:center;padding:20px;border-radius:var(--r-md);background:#2a2014;border:2px solid #6b5230;transition:transform .6s}
.carton.moving{transform:translateX(-14px)}
.tag{width:18px;height:18px;border-radius:5px;background:#3d3020;border:1px solid #5a4630;transition:background-color .2s,box-shadow .2s}
.tag.w{background:#4b5f80;border-color:#6c83ff}
.tag.r{background:var(--cyan);border-color:var(--cyan);box-shadow:0 0 8px #42e2f580}
.tag.s{background:var(--safe);border-color:var(--safe);box-shadow:0 0 8px #5fffc180}
.tag.miss{background:transparent;border:2px dashed var(--threat)}
.chain-detail{padding:18px 20px;border-radius:var(--r-md);border:1px solid var(--line-2);background:var(--panel)}
.chain-detail p{margin:0 0 8px;font-size:14.5px;line-height:1.6}
.cd-empty{color:var(--muted)}
.cd-h{font-weight:700;font-size:17px!important}
.cd-rf b{color:var(--safe)}.cd-bc{color:var(--muted)}.cd-bc b{color:var(--threat)}
.cd-alert,.cd-sum{margin-top:10px;padding:12px 14px;border-radius:12px;font-size:14px;line-height:1.6;animation:logIn .35s ease-out}
.cd-alert{background:#2a2110;border:1px solid #6e5420;color:#ffe9c2}
.cd-sum{background:#0f2d27;border:1px solid #2f8f72;color:#d5fff0}
.chain-log{list-style:none;margin:0;padding:14px 16px;border-radius:var(--r-md);background:#08111f;border:1px solid var(--line);font-size:12.5px;display:grid;gap:6px;align-content:start;min-height:220px}
.chain-log li{display:flex;gap:10px;color:#9fb2c9;animation:logIn .35s ease-out}
.chain-log time{font-family:var(--mono);color:var(--dim);flex:none;direction:ltr}
.chain-log li.ok span{color:#c9f5e4}.chain-log li.warn span{color:var(--threat)}
.sub-h{margin:0 0 14px;font-size:20px}

/* RFID */
.rfid-ctrl{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:end;padding:22px 24px;border:1px solid var(--line-2);border-radius:var(--r-lg);background:var(--panel);margin-bottom:16px}
.rfid-lanes{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.rf-lane{margin:0;border:1px solid var(--line);border-radius:var(--r-lg);background:#08111f;padding:16px;overflow:hidden}
.rf-lane-hot{border-color:#2a5870}
.rf-lane figcaption{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-weight:600}
.rf-clock{font-family:var(--mono);font-weight:500;font-size:20px;direction:ltr;color:var(--threat)}
.rf-lane-hot .rf-clock{color:var(--safe)}
.rf-lane canvas{display:block;width:100%;height:190px}
.rf-sub{margin:8px 0 0;font-size:13.5px;color:var(--dim)}
.rf-result{min-height:10px;margin:18px 0 6px}
.rf-big{margin:0;font-size:clamp(22px,3vw,30px);font-weight:600}
.rf-big b{font-family:var(--brand);color:var(--safe);font-size:1.35em}
.rf-line{margin:6px 0 0;color:#c3d1e2}

/* order flow */
.flow-bar,.ai-bar,.bi-bar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px}
.flow-bar .seg,.ai-bar .seg,.bi-bar .seg{margin:0}
.flow-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(7,1fr);gap:10px;position:relative}
.fstep{position:relative;padding:16px 14px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--panel);transition:border-color .3s,background-color .3s,transform .3s}
.fstep::after{content:"";position:absolute;top:30px;inset-inline-end:-11px;width:12px;height:2px;background:var(--line-2)}
.fstep:last-child::after{display:none}
.fs-n{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;border:1px solid var(--line-2);font-family:var(--brand);font-size:13px;color:var(--dim);margin-bottom:10px;transition:all .3s}
.fs-name{margin:0 0 4px;font-weight:600;font-size:15.5px}
.fs-note{margin:0 0 10px;font-size:13px;color:var(--muted);line-height:1.5}
.fs-meta{margin:0;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.fs-t{font-family:var(--brand);font-size:15px;color:var(--text)}
.fs-flag{font-size:11.5px;border-radius:999px;padding:1px 8px}
.fs-flag.hand{background:#ffb5471a;color:var(--threat)}
.fs-flag.risk{background:#ff6b781a;color:#ff9d9d}
.fs-flag.ok{background:#5fffc11a;color:var(--safe)}
.fstep.now{border-color:var(--cyan);background:#0f2236;transform:translateY(-4px)}
.fstep.now .fs-n,.fstep.done .fs-n{border-color:var(--cyan);color:var(--cyan)}
.fstep.done{border-color:#2a5870}
.flow-sum{margin-top:20px;min-height:10px}
.flow-big{margin:0;font-size:clamp(20px,2.6vw,28px);font-weight:600}
.flow-big b{font-family:var(--brand);font-size:1.3em}
.flow-big b.warn{color:var(--threat)}.flow-big b.good{color:var(--safe)}
.flow-line{margin:6px 0 0;color:#c3d1e2}

/* project leadership (gantt) */
.pm-ctrl{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 28px;padding:20px 24px;border:1px solid var(--line-2);border-radius:var(--r-lg);background:var(--panel);margin-bottom:18px}
.pm-risks{border:0;margin:0;padding:0}
.pm-risks legend{font-weight:600;font-size:15px;margin-bottom:10px;padding:0}
.pm-risks input:checked+span{background:#ffb5471f;border-color:var(--threat)}
.pm-switch{position:relative;display:inline-flex;align-items:center;gap:12px;cursor:pointer;font-weight:600;font-size:16px;padding:10px 16px;border:1px solid #2a5870;border-radius:14px;background:#0f2236}
.pm-switch input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.pm-knob{position:relative;width:46px;height:26px;border-radius:999px;background:#26395a;transition:background-color .25s;flex:none}
.pm-knob::after{content:"";position:absolute;top:3px;inset-inline-start:3px;width:20px;height:20px;border-radius:50%;background:#e8f0ff;transition:inset-inline-start .25s}
.pm-switch input:checked+.pm-knob{background:var(--safe)}
.pm-switch input:checked+.pm-knob::after{inset-inline-start:23px}
.pm-switch input:focus-visible+.pm-knob{outline:2px solid var(--cyan);outline-offset:3px}
.pm-status{margin-bottom:14px}
.pm-big{margin:0;font-size:clamp(20px,2.6vw,28px);font-weight:600}
.pm-big b{font-family:var(--brand);font-size:1.3em}
.pm-big b.warn,.pm-delta.warn{color:var(--threat)}.pm-big b.good,.pm-delta.good{color:var(--safe)}
.pm-delta{font-size:.62em;margin-inline-start:6px;border:1px solid currentColor;border-radius:999px;padding:1px 10px;vertical-align:middle}
.pm-line{margin:4px 0 0;color:#c3d1e2}
.gantt{padding:18px 20px;border:1px solid var(--line);border-radius:var(--r-lg);background:#08111f}
.g-axis{position:relative;height:22px;margin-inline-start:190px;border-bottom:1px solid var(--line)}
.g-axis span{position:absolute;top:0;transform:translateX(50%);font-size:11.5px;color:var(--dim);white-space:nowrap}
.g-axis span:first-child{transform:none}
.g-body{position:relative}
.g-over{position:absolute;top:0;bottom:0;inset-inline-start:190px;inset-inline-end:0;pointer-events:none;z-index:1}
.g-base{position:absolute;top:0;bottom:0;width:0;border-inline-start:2px dashed #5fffc199}
.g-row{display:grid;grid-template-columns:190px 1fr;align-items:center;min-height:42px;border-bottom:1px solid #111d31}
.g-name{margin:0;font-size:14px;color:var(--muted);padding-inline-end:12px}
.g-row.crit .g-name{color:var(--text);font-weight:600}
.g-track{position:relative;height:42px}
.g-bar{position:absolute;top:11px;height:20px;border-radius:6px;background:#26395a;overflow:hidden;transition:inset-inline-start .45s cubic-bezier(.2,.7,.2,1),width .45s cubic-bezier(.2,.7,.2,1)}
.g-row.crit .g-bar{background:linear-gradient(to left,var(--cyan),var(--blue))}
.g-late{position:absolute;inset-block:0;inset-inline-end:0;background:repeating-linear-gradient(45deg,#ffb547,#ffb547 5px,#e09a2e 5px,#e09a2e 10px)}
.pm-actions{margin-top:16px}
.pm-h{margin:0 0 8px;font-weight:700;color:var(--safe)}
.pm-list{margin:0;padding:0;list-style:none;display:grid;gap:8px}
.pm-list li{padding:12px 14px;border-radius:12px;background:#0f2d27;border:1px solid #2f8f72;color:#d5fff0;font-size:14.5px;animation:logIn .35s ease-out}
.pm-list b{color:#fff}

/* integrations map */
.int-bar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px}
.int-faults{display:flex;flex-wrap:wrap;gap:8px}
.int-faults .btn{min-height:42px;padding:8px 14px;font-size:14px;border-color:#6e5420;color:#ffe9c2}
.int-faults .btn:hover{border-color:var(--threat);background:#ffb54712}
.int-kpis{display:flex;gap:22px;margin:0}
.int-kpis div{display:grid}.int-kpis dt{font-size:12px;color:var(--dim)}
.int-kpis dd{margin:0;font-family:var(--brand);font-size:20px;unicode-bidi:plaintext}
.int-kpis dd.warn{color:var(--threat)}
.int-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:14px}
.int-map{border:1px solid var(--line);border-radius:var(--r-lg);background:radial-gradient(ellipse at 50% 50%,#0c1a30,#08111f 70%);padding:8px}
.int-map svg{display:block;width:100%;height:auto;font-family:var(--font)}
.ie{stroke:#26395a;stroke-width:2}
.ie.broken{stroke:var(--threat);stroke-dasharray:6 6}
.ih circle{fill:#0f2240;stroke:var(--cyan);stroke-width:2}
.ih text{fill:var(--text);font-size:13px;font-weight:600}
.in rect{fill:#0b1628;stroke:#3a5072;stroke-width:1.5;transition:stroke .2s,fill .2s}
.in text{fill:var(--text);font-size:13.5px;font-weight:600}
.in.ping rect{stroke:var(--safe);fill:#0f2d27}
.in.off rect{stroke:var(--threat);fill:#2a2110}
.in.slow rect{stroke:var(--threat)}
.im{fill:var(--cyan)}
.im.bad{fill:#ff6b78}
.int-side{display:flex;flex-direction:column;gap:10px}
.ia{padding:14px 16px;border-radius:12px;font-size:14px;animation:logIn .3s ease-out}
.ia p{margin:0 0 8px}.ia .ia-h{font-weight:700;margin-bottom:4px}
.ia.ok{background:#0f2d27;border:1px solid #2f8f72;color:#d5fff0}
.ia.warn{background:#2a2110;border:1px solid #6e5420;color:#ffe9c2}
.ia.bad{background:#2a1418;border:1px solid #7a3340;color:#ffd5da}
.ia .btn{min-height:36px;padding:6px 12px;font-size:13.5px;color:var(--text)}
.int-log{list-style:none;margin:0;padding:12px 14px;border-radius:12px;background:#08111f;border:1px solid var(--line);font-size:12.5px;display:grid;gap:5px;align-content:start;min-height:180px}
.int-log li{display:flex;gap:10px;color:#9fb2c9;animation:logIn .3s ease-out}
.int-log time{font-family:var(--mono);color:var(--dim);flex:none;direction:ltr}
.int-log li.warn span{color:var(--threat)}.int-log li.ok span{color:var(--safe)}

/* AI invoice */
.ai-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}
.invoice{position:relative;overflow:hidden;padding:26px 26px 22px;border-radius:var(--r-md);background:#f3f6fb;color:#1a2433;font-size:14px;box-shadow:0 20px 60px #00000070}
.inv-top{display:flex;justify-content:space-between;gap:16px;padding-bottom:14px;border-bottom:2px solid #d5dde9}
.inv-sup{margin:0;font-weight:700;font-size:17px}
.inv-title{margin:0;font-weight:700;font-size:18px;color:#2b4a7a}
.inv-small{margin:2px 0 0;font-size:12.5px;color:#5a6b82}
.inv-meta{text-align:left}
.inv-ref{margin:12px 0 10px}
.inv-tb{width:100%;border-collapse:collapse;font-size:13px}
.inv-tb th{text-align:right;font-weight:600;color:#5a6b82;border-bottom:1px solid #d5dde9;padding:6px 4px}
.inv-tb td{padding:7px 4px;border-bottom:1px solid #e6ebf2}
.inv-tb td:not(:first-child),.inv-tb th:not(:first-child){text-align:left;white-space:nowrap}
.inv-tot{margin:12px 0 0 auto;width:min(240px,100%);margin-inline-start:auto;margin-inline-end:0}
.inv-tot p{display:flex;justify-content:space-between;margin:3px 0;font-size:13px;color:#4a5a70}
.inv-tot .grand{font-size:15px;color:#1a2433;border-top:2px solid #1a2433;padding-top:6px;margin-top:6px}
.invoice [data-f]{border-radius:6px;transition:box-shadow .25s,background-color .25s}
.invoice [data-f].hl{background:#42e2f526;box-shadow:0 0 0 2px #19b6cc}
.inv-scan{position:absolute;inset-inline:0;top:-30%;height:30%;background:linear-gradient(to bottom,transparent,#42e2f544 80%,#42e2f5);opacity:0;pointer-events:none}
.invoice.scanning .inv-scan{animation:scan 1.3s ease-in-out}
@keyframes scan{0%{top:-30%;opacity:1}100%{top:100%;opacity:1}}
.ai-out{padding:22px 24px;border:1px solid var(--line-2);border-radius:var(--r-md);background:var(--panel);min-height:300px}
.ai-empty,.ai-status{margin:0;color:var(--muted)}
.ai-status::after{content:"";display:inline-block;width:12px;height:12px;margin-inline-start:10px;border:2px solid var(--cyan);border-top-color:transparent;border-radius:50%;animation:spin .8s linear infinite;vertical-align:-1px}
@keyframes spin{to{transform:rotate(360deg)}}
.ai-h{margin:0 0 10px;font-size:13px;color:var(--dim);font-weight:600}
.ai-h:not(:first-child){margin-top:18px}
.ai-fields{margin:0;display:grid;gap:6px}
.ai-f{display:grid;grid-template-columns:110px 1fr auto;gap:10px;align-items:baseline;font-size:14.5px;animation:logIn .3s ease-out}
.ai-f dt{color:var(--muted);font-size:13px}.ai-f dd{margin:0;unicode-bidi:plaintext}
.conf{font-family:var(--mono);font-size:11.5px;color:var(--safe);direction:ltr}
.ai-po{width:100%;border-collapse:collapse;font-size:13.5px}
.ai-po th{text-align:right;color:var(--dim);font-weight:500;font-size:12px;padding:4px;border-bottom:1px solid var(--line)}
.ai-po td{padding:7px 4px;border-bottom:1px solid #15223a;animation:logIn .3s ease-out}
.ai-po small{display:block;color:var(--threat);font-size:11.5px}
.ai-po .st{font-weight:700;text-align:center;width:24px}
.ai-po tr.ok .st{color:var(--safe)}.ai-po tr.bad .st{color:var(--threat)}
.ai-verdict{margin-top:16px;padding:14px 16px;border-radius:12px;animation:logIn .4s ease-out}
.ai-verdict p{margin:0}.ai-verdict .v-h{font-weight:700;font-size:16px;margin-bottom:4px}
.ai-verdict ul{margin:4px 0 0;padding-inline-start:18px;font-size:14px}
.ai-verdict.good{background:#0f2d27;border:1px solid #2f8f72;color:#d5fff0}
.ai-verdict.warn{background:#2a2110;border:1px solid #6e5420;color:#ffe9c2}

/* AI steps */
.ai-steps{list-style:none;margin:0 0 16px;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:6px;counter-reset:a}
.ai-steps li{counter-increment:a;padding:10px 12px;border-radius:10px;border:1px solid var(--line);background:var(--panel);font-size:13.5px;color:var(--muted);transition:all .3s}
.ai-steps li::before{content:counter(a) ". ";font-family:var(--brand);color:var(--dim)}
.ai-steps li.now{border-color:var(--cyan);color:var(--text);background:#0f2236}
.ai-steps li.done{border-color:#2f8f72;color:#c9f5e4}
.ai-steps li.warn{border-color:var(--threat);color:#ffe9c2;background:#2a2110}
.v-ask{margin-top:10px!important;font-weight:600}
.v-acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.v-acts .btn{min-height:38px;padding:7px 14px;font-size:14px}
.v-acts .btn-line{color:var(--text)}

/* BI */
.bi-sel{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--muted)}
.bi-sel select{background:var(--panel);color:var(--text);border:1px solid var(--line-2);border-radius:10px;padding:9px 12px;font:inherit;font-size:15px}
.bi-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:12px}
.bk{padding:16px 18px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--panel)}
.bk-k{margin:0;font-size:13px;color:var(--dim)}
.bk-v{margin:4px 0 0;font-family:var(--brand);font-size:28px;letter-spacing:-.02em;unicode-bidi:plaintext}
.bk-d{margin:2px 0 0;font-size:13px;font-weight:600}
.bk-d.up{color:var(--safe)}.bk-d.down{color:var(--threat)}
.bi-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:12px}
.bi-chart,.bi-side{padding:18px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--panel)}
.bi-h{margin:0 0 10px;font-size:13px;color:var(--dim);font-weight:600}
#bi-chart svg{width:100%;height:auto;display:block;font-family:var(--font)}
.bi-alert{display:none}
.bi-alert.on{display:block;margin-bottom:16px;padding:14px;border-radius:12px;background:#2a2110;border:1px solid #6e5420;color:#ffe9c2;font-size:14.5px}
.bi-alert p{margin:0 0 10px}.ba-h{font-weight:700;color:var(--threat)}
.bi-alert .btn{min-height:36px;padding:6px 12px;font-size:13.5px;color:var(--text)}
.bi-rank{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.bi-rank li{display:grid;grid-template-columns:90px 1fr 56px;gap:10px;align-items:center;font-size:14px}
.bi-rank i{height:8px;border-radius:4px;background:linear-gradient(to left,var(--cyan),var(--blue))}
.bi-rank b{font-family:var(--brand);font-size:13px;font-weight:700;text-align:left;direction:ltr}
.bi-rank li.warn span{color:var(--threat)}.bi-rank li.warn i{background:var(--threat)}

/* BI investigation */
.bi-inv{margin-top:14px;padding:20px;border:1px solid #6e5420;border-radius:var(--r-lg);background:#0b1628;display:grid;gap:12px}
.bi-inv>.bi-h{margin:0;color:var(--threat)}
.iv{padding:16px 18px;border-radius:var(--r-md);background:var(--panel);border:1px solid var(--line);animation:logIn .35s ease-out}
.iv-n{margin:0;font-family:var(--brand);font-size:12px;color:var(--cyan)}
.iv-h{margin:2px 0 12px;font-weight:700;font-size:17px}
.iv-t{margin:10px 0;color:#c3d1e2;font-size:15px}
.iv .btn{min-height:38px;padding:7px 14px;font-size:14px;color:var(--text)}
.iv-tb{width:100%;border-collapse:collapse;font-size:14px}
.iv-tb td{padding:6px 4px}
.iv-tb td:first-child{width:90px}
.iv-bar i{display:block;height:8px;border-radius:4px;background:#33465f}
.iv-tb tr.hot .iv-bar i{background:var(--threat)}
.iv-tb tr.hot td:first-child{color:var(--threat);font-weight:600}
.iv-tb .neg,.iv-tb .pos{text-align:left;width:56px;font-family:var(--brand);direction:ltr;unicode-bidi:isolate}.iv-tb .neg{color:var(--threat)}.iv-tb .pos{color:var(--safe)}
.iv-kpi{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0}
.iv-kpi div{padding:12px;border-radius:10px;background:#08111f;border:1px solid var(--line)}
.iv-kpi div.hot{border-color:var(--threat)}
.iv-kpi dt{font-size:12.5px;color:var(--dim)}
.iv-kpi dd{margin:2px 0;font-family:var(--brand);font-size:22px;unicode-bidi:plaintext}
.iv-kpi div.hot dd{color:var(--threat)}
.iv-kpi span{font-size:12px;color:var(--muted)}
.iv-opts{display:grid;gap:8px}
.iv-opt{text-align:start;padding:12px 14px;border-radius:10px;border:1px solid var(--line-2);background:#08111f;color:var(--text);font-size:15px}
.iv-opt:hover{border-color:var(--cyan)}
.iv-opt.on{border-color:var(--cyan);background:#0f2236}
.iv-res{margin-top:10px}
.iv-res:empty{display:none}
.iv-res p{margin:0 0 4px;font-size:14.5px}
.iv-res.good,.iv-res.mid,.iv-res.bad{padding:12px 14px;border-radius:12px;animation:logIn .3s ease-out}
.iv-res.good{background:#0f2d27;border:1px solid #2f8f72;color:#d5fff0}
.iv-res.mid{background:#14203a;border:1px solid #4a5bb8;color:#dbe3ff}
.iv-res.bad{background:#2a1418;border:1px solid #7a3340;color:#ffd5da}
.iv-rh{font-weight:700}

/* roadmap */
.road{display:grid;grid-template-columns:1fr;gap:22px;align-items:start}
.road-in{display:grid;grid-template-columns:auto auto 1fr;gap:18px 32px;padding:24px;border:1px solid var(--line-2);border-radius:var(--r-lg);background:var(--panel)}
.road-in fieldset{border:0;margin:0;padding:0}
.road-in legend{font-weight:600;font-size:15px;margin-bottom:10px;padding:0}
.road-in legend small{color:var(--dim);font-weight:400}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips label{position:relative;cursor:pointer}
.chips input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.chips span{display:inline-block;padding:8px 14px;border-radius:999px;border:1px solid var(--line-2);font-size:14px;color:#b6c5d9;transition:all .2s}
.chips input:checked+span{background:#42e2f51f;border-color:var(--cyan);color:var(--text)}
.chips input:focus-visible+span{outline:2px solid var(--cyan);outline-offset:2px}
.road-lead{margin:0 0 16px;font-size:18px}
.road-lead b{color:var(--safe);font-weight:600}
.road-tl{list-style:none;margin:0 0 20px;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:10px;position:relative}
.rp{padding:16px;border:1px solid var(--line);border-radius:var(--r-md);background:#0a1424;position:relative;animation:logIn .4s ease-out both}
.rp:nth-child(2){animation-delay:.06s}.rp:nth-child(3){animation-delay:.12s}.rp:nth-child(4){animation-delay:.18s}
.rp:first-child{border-color:#2a5870;background:#0f2236}
.rp-when{margin:0;font-family:var(--brand);font-size:12.5px;color:var(--cyan)}
.rp-h{margin:2px 0 10px;font-weight:700;font-size:16px}
.rp ul{margin:0;padding-inline-start:16px;display:grid;gap:6px;font-size:13.5px;color:#c3d1e2;line-height:1.5}
.rp li::marker{color:var(--cyan)}

/* stories v7 */
.st-legend{list-style:none;margin:-20px 0 28px;padding:0;display:flex;flex-wrap:wrap;gap:8px 22px;font-size:13.5px;color:var(--muted)}
.st-legend li{display:flex;align-items:center;gap:8px}
.st{display:inline-block;font-size:11.5px;font-weight:600;border-radius:999px;padding:2px 10px;white-space:nowrap}
.st-done{background:#5fffc11a;color:var(--safe);border:1px solid #2f8f72}
.st-impl{background:#6c83ff1f;color:#aab8ff;border:1px solid #4a5bb8}
.st-demo{background:#ffffff0a;color:var(--muted);border:1px solid var(--line-2)}
.story-top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:0 0 8px}
.story-top .story-tag{margin:0}
.story-sum{margin:0 0 14px;color:#c3d1e2;font-size:15px;line-height:1.6}
.story-arch{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-wrap:wrap;gap:4px;align-items:center}
.story-arch li{font-size:12px;color:#b6c5d9;background:#071021;border:1px solid var(--line-2);border-radius:8px;padding:3px 8px}
.story-arch li+li::before{content:"←";color:var(--cyan);margin-inline-end:6px}
.story details{border-top:1px solid var(--line);padding-top:10px}
.story summary{cursor:pointer;color:var(--cyan);font-weight:600;font-size:14.5px;list-style:none}
.story summary::-webkit-details-marker{display:none}
.story summary::after{content:" +";}
.story details[open] summary::after{content:" −"}
.story details dl{margin-top:12px}
.story-lab{display:inline-block;margin-top:12px;font-size:14px;color:var(--cyan)}
.story{display:flex;flex-direction:column}
.story details{margin-top:auto}
.story-note{margin-top:20px}

/* lab CTA */
.lab-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px;margin-top:28px;padding:18px 22px;border-radius:var(--r-lg);border:1px dashed #2a5870;background:#0b1628}
.lab-cta p{margin:0;font-size:17px;font-weight:600}

/* stories */
.stories{background:var(--deep);border-top:1px solid #111d31}
.story-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.story{padding:24px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--panel);transition:border-color .2s,transform .2s}
.story:hover{border-color:var(--line-2);transform:translateY(-3px)}
.story-tag{margin:0 0 8px;font-size:12.5px;color:var(--cyan);font-weight:600}
.story h3{margin:0 0 14px;font-size:20px;line-height:1.3}
.story dl{margin:0;display:grid;gap:10px}
.story dt{font-size:12px;color:var(--dim);font-weight:600}
.story dd{margin:2px 0 0;font-size:14.5px;color:#c3d1e2;line-height:1.6}
.labs-cta{text-align:center;padding:96px 0}
.labs-cta-in{max-width:640px}
.labs-cta h2{margin:0 0 12px;font-size:clamp(28px,3.6vw,44px)}
.labs-cta p{color:var(--muted);margin:0 0 26px;font-size:17.5px}

/* problem picker */
.solve{display:grid;grid-template-columns:.85fr 1.15fr;gap:20px;align-items:start}
.solve-pick{display:grid;gap:8px}
.solve-pick button{display:grid;gap:2px;text-align:start;padding:15px 18px;border-radius:var(--r-md);border:1px solid var(--line);background:var(--panel);color:var(--text);transition:border-color .2s,background-color .2s}
.solve-pick button b{font-size:16.5px;font-weight:600}
.solve-pick button span{font-size:13.5px;color:var(--dim)}
.solve-pick button:hover{border-color:var(--line-2)}
.solve-pick button[aria-checked="true"]{border-color:var(--cyan);background:#0f2236}
.solve-pick button[aria-checked="true"] span{color:var(--muted)}
.solve-out{padding:28px 30px;border:1px solid #2a5870;border-radius:var(--r-lg);background:linear-gradient(160deg,#0f2236,#0b1628);position:sticky;top:calc(var(--head) + 24px)}
.so-h{margin:0 0 4px;font-size:24px;font-weight:700}
.so-k{margin:18px 0 8px;font-size:13px;font-weight:600;color:var(--dim)}
.so-why{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:6px}
.so-why li{font-size:13.5px;color:#ffe9c2;background:#ffb54714;border:1px solid #6e5420;border-radius:999px;padding:3px 12px}
.so-dir{margin:0;padding-inline-start:20px;display:grid;gap:6px;color:#d2deee;font-size:15.5px}
.so-dir li::marker{color:var(--cyan);font-family:var(--brand)}
.so-flow{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0;padding:0;list-style:none}
.so-flow li{font-size:13.5px;padding:7px 12px;border-radius:10px;background:#071021;border:1px solid var(--line-2);animation:logIn .35s ease-out both}
.so-flow li.arrow{background:none;border:0;padding:0 2px;color:var(--cyan)}
.so-flow li.end{border-color:var(--safe);color:var(--safe)}
.so-cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}

/* strategic partner */
.partner{display:grid;grid-template-columns:1.4fr 1fr;gap:28px;align-items:start}
.pt-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.pt{padding:16px 18px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--panel);display:grid;gap:3px}
.pt b{font-size:16px}.pt span{font-size:14px;color:var(--muted);line-height:1.5}
.pt-how{list-style:none;margin:0;padding:0;display:grid;gap:12px;counter-reset:h}
.pt-how li{position:relative;padding:18px 20px 18px 20px;padding-inline-start:62px;border-radius:var(--r-md);background:linear-gradient(160deg,#0f2236,#0b1628);border:1px solid #2a5870;color:#c3d1e2;font-size:15px;counter-increment:h}
.pt-how li::before{content:counter(h);position:absolute;inset-inline-start:18px;top:18px;width:30px;height:30px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--cyan);color:var(--cyan);font-family:var(--brand);font-size:14px}
.pt-how b{display:block;color:var(--text);font-size:17px;margin-bottom:2px}
.teaser-alt{border-style:dashed}

/* homepage: labs teaser + experience */
.xp{display:flex;flex-wrap:wrap;gap:8px 10px;margin:0;padding:0;list-style:none}
.xp li{padding:7px 14px;border:1px solid var(--line-2);border-radius:999px;font-size:14.5px;color:#c3d1e2;background:#0a1424}
.labs-teaser .teaser-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:8px}
.teaser{display:flex;flex-direction:column;gap:6px;padding:22px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--panel);transition:border-color .2s,transform .2s}
.teaser:hover{border-color:var(--cyan);transform:translateY(-3px)}
.teaser b{font-family:var(--brand);font-size:12.5px;color:var(--cyan);letter-spacing:.05em}
.teaser strong{font-size:18px;font-weight:600}
.teaser span{font-size:14px;color:var(--muted);line-height:1.55}
.teaser-cta{margin-top:22px}
.xp-row{margin:0 0 30px}

@media (max-width:1040px){
  .flow-steps{grid-template-columns:repeat(4,1fr)}
  .fstep:nth-child(4)::after{display:none}
  .ai-grid,.road,.bi-grid,.int-grid{grid-template-columns:1fr}
  .chain-stage{grid-template-columns:auto 1fr}
  .chain-log{grid-column:1 / -1}
  .road-in{grid-template-columns:1fr}
  .labs-hero-in{grid-template-columns:1fr}
  .lh-grid{display:none}
  .road-tl{grid-template-columns:repeat(2,1fr)}
  .story-grid,.labs-teaser .teaser-grid{grid-template-columns:repeat(2,1fr)}
  .solve,.partner{grid-template-columns:1fr}
  .solve-out{position:static}
}
@media (max-width:600px){
  .lab{padding:68px 0}
  .rfid-ctrl{grid-template-columns:1fr}
  .rfid-lanes{grid-template-columns:1fr}
  .rf-lane canvas{height:140px}
  .ai-steps{grid-template-columns:1fr 1fr}
  .iv-kpi{grid-template-columns:1fr}
  .ai-steps li:last-child{grid-column:1 / -1}
  .int-faults{width:100%}.int-faults .btn{flex:1 1 100%}
  .int-kpis{width:100%;justify-content:space-between}
  .int-log{min-height:0}
  .chain-steps{grid-template-columns:repeat(4,1fr)}
  .cs::after{display:none}
  .chain-stage{grid-template-columns:1fr}
  .carton{grid-template-columns:repeat(12,1fr);gap:5px;padding:12px}
  .tag{width:auto;aspect-ratio:1}
  .chain-log{min-height:0}
  .pm-ctrl{padding:18px}
  .pm-switch{width:100%;justify-content:center}
  .gantt{padding:14px 12px}
  .g-axis{margin-inline-start:0}.g-over{inset-inline-start:0}
  .g-row{grid-template-columns:1fr;min-height:0;padding:6px 0}
  .g-name{font-size:13px}
  .g-track{height:26px}.g-bar{top:4px;height:16px}
  .flow-steps{grid-template-columns:1fr;gap:8px}
  .fstep{display:grid;grid-template-columns:28px 1fr;gap:12px;padding:12px 14px}
  .fstep::after{display:none}
  .fs-n{margin:0}
  .fstep.now{transform:none}
  .invoice{padding:18px 16px}
  .ai-f{grid-template-columns:96px 1fr auto}
  .bi-kpis{grid-template-columns:1fr 1fr}
  .bi-kpis .bk:last-child{display:none}
  .bk-v{font-size:22px}
  .road-tl{grid-template-columns:1fr}
  .story-grid,.labs-teaser .teaser-grid{grid-template-columns:1fr}
  .pt-grid{grid-template-columns:1fr}
  .solve-pick{grid-template-columns:1fr 1fr}
  .solve-pick button{padding:12px}
  .solve-pick button span{display:none}
  .solve-out{padding:22px 18px}
  .bi-rank li{grid-template-columns:80px 1fr 50px}
}
