:root{--bg:#05080b;--bg2:#080d11;--panel:#0a1116;--panel2:#0c151b;--line:#17242d;--line2:#1d313c;--text:#f2f7f9;--muted:#82929c;--cyan:#54e5e8;--cyan2:#13b8c4;--blue:#57a9ff;--amber:#ffbe5c;--red:#ff6b6b;--green:#6ce3a0;--max:1240px;--radius:18px;--shadow:0 20px 70px rgba(0,0,0,.35)}
*{box-sizing:border-box}html,body{overflow-x:clip}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 80% 0%,rgba(41,109,127,.13),transparent 28%),var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55;overflow-x:hidden}a{color:inherit;text-decoration:none}.noise{position:fixed;inset:0;pointer-events:none;opacity:.14;z-index:100;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.95' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.13'/%3E%3C/svg%3E")}.section-shell{max-width:var(--max);margin:0 auto;padding-left:28px;padding-right:28px}.site-header{height:78px;max-width:var(--max);margin:0 auto;padding:0 28px;display:flex;align-items:center;gap:34px;position:relative;z-index:20}.brand{display:flex;align-items:center;gap:11px}.brand-mark{width:34px;height:34px;border:1px solid #31525f;display:grid;place-items:center;color:var(--cyan);font-weight:800;font-size:18px;background:linear-gradient(135deg,#0d171c,#071014);box-shadow:inset 0 0 20px rgba(84,229,232,.06)}.brand-copy{display:flex;flex-direction:column;line-height:1}.brand-copy strong{font-size:14px;letter-spacing:.12em}.brand-copy small{margin-top:5px;font-size:8px;letter-spacing:.2em;color:#7c9099}.nav{margin-left:auto;display:flex;gap:26px}.nav a{font-size:13px;color:#96a6ae;transition:.2s}.nav a:hover{color:var(--text)}.menu-button{display:none;margin-left:auto;color:var(--text);background:none;border:1px solid var(--line2);font-size:18px;padding:7px 10px}.button{display:inline-flex;align-items:center;justify-content:center;border-radius:10px;padding:13px 18px;font-size:13px;font-weight:650;letter-spacing:.01em;transition:.2s;border:1px solid transparent}.button:hover{transform:translateY(-1px)}.button-small{padding:9px 14px}.button-primary{background:var(--cyan);color:#031012;box-shadow:0 0 32px rgba(84,229,232,.13)}.button-secondary{border-color:#28434f;background:#091116;color:#eaf5f7}.button-ghost{border-color:#23343d;color:#b9c6cc;background:rgba(10,16,20,.5)}
.hero{min-height:820px;padding-top:86px;padding-bottom:82px;display:grid;grid-template-columns:.86fr 1.14fr;gap:52px;align-items:center;position:relative}.hero:before{content:"";position:absolute;top:-80px;right:-160px;width:700px;height:700px;background:radial-gradient(circle,rgba(55,184,198,.09),transparent 63%);pointer-events:none}.eyebrow,.section-kicker{font-size:11px;letter-spacing:.17em;color:#8fa1aa;font-weight:700}.live-dot,.status-dot{width:7px;height:7px;border-radius:50%;background:var(--cyan);display:inline-block;margin-right:8px;box-shadow:0 0 14px rgba(84,229,232,.7);animation:pulse 2s infinite}.hero h1{font-size:clamp(54px,5.6vw,86px);line-height:.99;letter-spacing:-.055em;margin:22px 0 26px;font-weight:650}.hero h1 span{color:#8f9da3}.hero-lead{max-width:600px;color:#a2b1b8;font-size:18px;line-height:1.75;margin:0}.hero-actions{display:flex;gap:12px;margin-top:32px}.hero-proof{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:54px;border-top:1px solid var(--line);padding-top:22px}.hero-proof div{display:flex;flex-direction:column}.hero-proof strong{font-size:12px}.hero-proof span{font-size:11px;color:#6f818a;margin-top:5px}.hero-console{border:1px solid #17303a;background:linear-gradient(180deg,rgba(10,18,23,.96),rgba(5,10,14,.98));border-radius:22px;padding:16px;box-shadow:var(--shadow),inset 0 1px rgba(255,255,255,.02);position:relative;overflow:hidden}.hero-console:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(84,229,232,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(84,229,232,.018) 1px,transparent 1px);background-size:28px 28px;pointer-events:none}.console-topbar{display:flex;justify-content:space-between;align-items:center;padding:3px 4px 13px;color:#93a6af;font-size:11px;position:relative;z-index:1}.console-title b{color:#dce7eb;margin-left:7px}.console-clock{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:#70858f}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;position:relative;z-index:1}.metric-card{border:1px solid #172b34;background:#091116;border-radius:11px;padding:13px;min-height:104px}.metric-card span{font-size:9px;color:#70838c;text-transform:uppercase;letter-spacing:.1em}.metric-card strong{display:block;font-size:22px;font-weight:550;margin:10px 0 4px}.metric-card strong em{font-style:normal}.metric-card small{font-size:9px;color:#657780}.metric-card .ok,.verified{color:var(--green)!important}.telemetry-panel,.rack-panel,.event-panel{border:1px solid #162932;background:#071016;border-radius:12px;margin-top:9px;position:relative;z-index:1}.telemetry-panel{padding:13px}.panel-heading{display:flex;justify-content:space-between;align-items:flex-start;color:#70848d;font-size:9px}.panel-heading>div{display:flex;flex-direction:column}.panel-heading strong{color:#cbd9de;font-size:11px;margin-top:3px;font-weight:550}.tiny-label{letter-spacing:.12em;font-size:8px;color:#627983}.telemetry-panel canvas{width:100%;height:155px;display:block;margin-top:10px}.chart-legend{display:flex;gap:16px;color:#637781;font-size:9px}.chart-legend span{display:flex;align-items:center;gap:6px}.chart-legend i{width:14px;height:2px}.legend-a{background:var(--cyan)}.legend-b{background:var(--blue)}.legend-c{background:var(--amber)}.console-lower{display:grid;grid-template-columns:1.45fr .55fr;gap:9px}.rack-panel,.event-panel{padding:13px}.rack-grid{display:grid;grid-template-columns:repeat(16,1fr);gap:4px;margin-top:14px}.rack{height:13px;border-radius:2px;background:#17363c;border:1px solid #1c4a50;transition:.5s}.rack.watch{background:#554122;border-color:#8c6930;box-shadow:0 0 10px rgba(255,190,92,.1)}.rack.alert{background:#552829;border-color:#9a4444}.event-panel{display:flex;flex-direction:column}.insight-icon{margin:16px 0 8px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;border:1px solid #765c2c;color:var(--amber)}.event-panel p{font-size:11px;color:#bdc8cd;margin:0 0 14px}.insight-meta{display:flex;justify-content:space-between;border-top:1px solid #14252d;padding:8px 0 0;margin-top:7px;font-size:9px;color:#61757f}.insight-meta strong{color:#b8c5ca}.signal-strip{border-top:1px solid #111f26;border-bottom:1px solid #111f26;background:#060b0f;display:flex;justify-content:center;gap:0;overflow:hidden}.signal-strip div{padding:12px 26px;border-right:1px solid #111f26;color:#5f747e;font-size:9px;white-space:nowrap}.signal-strip b{color:#c0cdd2;font-weight:550;margin-left:8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.section{padding-top:128px;padding-bottom:128px}.section h2{font-size:clamp(38px,5vw,64px);line-height:1.05;letter-spacing:-.045em;margin:18px 0 26px;font-weight:600}.section-lead{max-width:860px;font-size:18px;color:#899ba4;line-height:1.8}.intro{border-bottom:1px solid #0f1c22}.capability-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:64px;border-top:1px solid var(--line);border-left:1px solid var(--line)}.capability-card{min-height:210px;padding:28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:linear-gradient(145deg,rgba(12,20,25,.5),rgba(5,9,12,.15));transition:.25s}.capability-card:hover{background:#0a1217;transform:translateY(-2px)}.capability-card>span{color:#50656f;font-family:ui-monospace,monospace;font-size:10px}.capability-card h3{font-size:22px;margin:40px 0 12px;font-weight:550}.capability-card p{font-size:13px;color:#798b94;line-height:1.7}.split-section{display:grid;grid-template-columns:.82fr 1.18fr;gap:72px;align-items:center}.split-copy p{color:#85969f;max-width:500px}.check-list{list-style:none;padding:0;margin:32px 0 0}.check-list li{border-top:1px solid #122129;padding:12px 0;color:#a4b2b8;font-size:12px}.check-list li:before{content:"↳";color:var(--cyan);margin-right:10px}.pipeline-card{border:1px solid #18303a;background:#071015;border-radius:18px;padding:18px;min-height:400px;position:relative;overflow:hidden}.pipeline-card:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(84,229,232,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(84,229,232,.02) 1px,transparent 1px);background-size:25px 25px}.pipeline-header,.pipeline-footer{display:flex;justify-content:space-between;align-items:center;position:relative;z-index:1}.pipeline-header span{font-size:9px;letter-spacing:.12em;color:#6f858f}.pipeline-header b{font-size:8px;color:var(--cyan);border:1px solid #1e5960;padding:4px 7px;border-radius:20px}.pipeline{display:grid;grid-template-columns:1.2fr .24fr .8fr .24fr 1.2fr;align-items:center;gap:10px;height:300px;position:relative;z-index:1}.raw-stream,.decoded-stream{display:flex;flex-direction:column;gap:8px}.raw-line,.decoded-line{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;padding:9px 10px;border:1px solid #132730;background:#071016;border-radius:7px;color:#78909b;animation:streamIn .45s ease}.raw-line b{color:#a4b4ba;font-weight:500}.decoded-line{display:flex;justify-content:space-between}.decoded-line b{color:#d0dde1}.decoded-line em{font-style:normal;color:var(--cyan)}.pipe-arrow{text-align:center;color:#31505d}.dbc-node{text-align:center;border:1px solid #24404b;background:#091319;padding:18px 8px;border-radius:12px}.dbc-icon{margin:0 auto 12px;width:56px;height:56px;display:grid;place-items:center;border:1px solid #2b6871;color:var(--cyan);font-family:ui-monospace,monospace;font-weight:700}.dbc-node small,.dbc-node strong{display:block;font-size:8px;color:#6f8189}.dbc-node strong{color:#adbcc1;margin-top:5px}.pipeline-footer{border-top:1px solid #13242c;padding-top:12px;color:#60757f;font-size:9px}.pipeline-footer strong{color:#a9b7bc;font-weight:500}.section-title-row{display:grid;grid-template-columns:1fr .7fr;gap:60px;align-items:end}.section-title-row p{color:#7e919b;margin:0 0 32px}.analytics-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:14px;margin-top:50px}.energy-visual,.warranty-visual{border:1px solid #172a33;background:#071015;border-radius:16px;padding:18px;min-height:440px}.energy-bars{margin-top:56px}.energy-row{display:grid;grid-template-columns:110px 1fr 90px;align-items:center;gap:12px;margin:21px 0;color:#899ba4;font-size:11px}.energy-row strong{text-align:right;color:#c6d3d8}.bar{height:10px;background:#111e25;border-radius:20px;overflow:hidden}.bar i{height:100%;display:block;background:var(--cyan);border-radius:20px;animation:grow 1.3s ease}.bar.muted i{background:#58666c}.bar.recover i{background:var(--amber)}.money-impact{margin-top:65px;border-top:1px solid #152830;padding-top:20px;display:grid;grid-template-columns:1fr auto;align-items:end}.money-impact span{font-size:10px;color:#6e838d}.money-impact strong{font-size:28px;font-weight:550}.money-impact small{grid-column:1/-1;color:#5f7079;margin-top:4px}.warranty-visual canvas{width:100%;height:260px;margin-top:16px}.watch{color:var(--amber)!important}.warranty-callout{border-left:2px solid var(--amber);padding:10px 12px;background:#0c1418;display:grid}.warranty-callout span{font-size:8px;color:#7f9098}.warranty-callout strong{font-size:11px;margin:3px 0}.warranty-callout small{font-size:9px;color:#8d7d61}.replay-section{border-top:1px solid #101e25}.replay-layout{display:grid;grid-template-columns:.78fr 1.22fr;gap:70px;align-items:center}.replay-copy p{color:#83969f}.replay-insight{margin-top:34px;border:1px solid #1d3742;background:#081217;padding:18px;border-radius:12px}.replay-insight span{font-size:8px;color:var(--cyan);letter-spacing:.13em}.replay-insight p{font-size:11px;color:#b5c2c7;margin:7px 0 0}.replay-console{border:1px solid #18303a;background:#071015;padding:18px;border-radius:16px}.replay-top{display:flex;justify-content:space-between;font-size:10px;color:#80929b}.replay-top strong{color:#bdc9ce}.replay-console canvas{width:100%;height:230px}.timeline-label{display:block;font-size:9px;color:#687c85;margin:4px 0}.timeline{width:100%;accent-color:var(--cyan)}.timeline-marks{display:flex;justify-content:space-between;color:#536871;font-size:8px}.passport-section{border-top:1px solid #101e25}.passport-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.passport-card{background:linear-gradient(155deg,#0d171c,#060c10);border:1px solid #24404b;border-radius:22px;padding:24px;box-shadow:var(--shadow);position:relative;overflow:hidden}.passport-card:after{content:"";position:absolute;right:-100px;bottom:-100px;width:300px;height:300px;background:radial-gradient(circle,rgba(84,229,232,.08),transparent 65%)}.passport-head{display:flex;justify-content:space-between}.passport-head small{display:block;color:#60757f;font-size:8px;letter-spacing:.12em}.passport-head strong{font-size:13px}.passport-id{font-family:ui-monospace,monospace;color:var(--cyan);margin:30px 0 22px;font-size:11px}.qr{width:58px;height:58px;display:grid;grid-template-columns:repeat(3,1fr);gap:2px;padding:4px;border:1px solid #2b454f}.qr i{background:#a6bac0}.qr i:nth-child(2),.qr i:nth-child(4),.qr i:nth-child(8){background:transparent}.passport-data{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #172b34;border-left:1px solid #172b34;margin:0}.passport-data div{padding:14px;border-right:1px solid #172b34;border-bottom:1px solid #172b34}.passport-data dt{font-size:8px;color:#627781;text-transform:uppercase;letter-spacing:.08em}.passport-data dd{margin:4px 0 0;font-size:12px;color:#cad6da}.passport-foot{display:flex;justify-content:space-between;margin-top:16px;font-size:8px;color:#647983}.passport-foot strong{color:#93a6ae}.passport-copy p{color:#81949d}.statement-stack{margin-top:34px}.statement-stack div{display:grid;grid-template-columns:120px 1fr;padding:13px 0;border-top:1px solid #122129}.statement-stack span{color:#637982;font-size:10px}.statement-stack strong{font-size:13px;font-weight:500}.evidence-section{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:center;border-top:1px solid #101e25}.evidence-copy p{color:#83959e}.evidence-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}.evidence-tags span{border:1px solid #1e3741;color:#82969f;padding:7px 10px;border-radius:20px;font-size:9px}.evidence-visual{border:1px solid #18303a;background:#071015;border-radius:16px;padding:20px}.hash-stream{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.data-block,.hash-node,.root-node{border:1px solid #1b333d;background:#091319;border-radius:9px;padding:12px;text-align:center}.data-block span{display:block;font-size:7px;color:#60747d}.data-block code{display:block;color:#9cabb1;font-size:8px;margin-top:4px}.hash-arrows{text-align:center;color:#446570;letter-spacing:8px;margin:11px 0}.merkle-row{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding:0 45px}.hash-node{color:#86a0aa;font-family:ui-monospace,monospace;font-size:9px}.root-node{max-width:280px;margin:0 auto;border-color:#28535d}.root-node span,.root-node code,.root-node strong{display:block}.root-node span{font-size:7px;color:#607781;letter-spacing:.12em}.root-node code{font-size:15px;color:#d2e1e5;margin:7px 0}.root-node strong{font-size:8px;color:var(--green)}.evidence-footer{display:flex;justify-content:space-between;border-top:1px solid #152830;margin-top:20px;padding-top:14px;color:#617780;font-size:8px}.stakeholders{border-top:1px solid #101e25}.stakeholders>h2{max-width:800px}.stakeholder-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#14242c;border:1px solid #14242c;margin-top:52px}.stakeholder-grid article{background:#071015;padding:28px;min-height:180px}.stakeholder-grid span{font-size:8px;color:#667c85;letter-spacing:.12em}.stakeholder-grid h3{font-size:18px;line-height:1.35;font-weight:500;margin-top:55px}.final-cta{position:relative;display:grid;grid-template-columns:1fr .7fr;gap:70px;align-items:center;min-height:600px;overflow:hidden}.cta-grid{position:absolute;inset:50px 28px;background-image:linear-gradient(rgba(84,229,232,.028) 1px,transparent 1px),linear-gradient(90deg,rgba(84,229,232,.028) 1px,transparent 1px);background-size:38px 38px;mask-image:linear-gradient(to right,black,transparent)}.cta-content,.cta-terminal{position:relative;z-index:1}.cta-content p{color:#8799a2;max-width:660px;font-size:16px;margin-bottom:30px}.cta-terminal{border:1px solid #1b333d;background:#071015;padding:18px;border-radius:14px}.terminal-line{display:grid;grid-template-columns:80px 1fr auto;gap:12px;padding:13px 0;border-top:1px solid #12242c;font-family:ui-monospace,monospace;font-size:9px}.terminal-line:first-child{border-top:0}.terminal-line span{color:#61757e}.terminal-line strong{color:#a7b6bc;font-weight:500}.terminal-line em{font-style:normal;color:var(--green)}.site-footer{max-width:var(--max);margin:0 auto;padding:30px 28px 50px;border-top:1px solid #111f26;display:flex;align-items:center;gap:30px;color:#657983;font-size:10px}.site-footer p{margin-left:auto}.site-footer>div:last-child{display:flex;gap:18px}.footer-brand .brand-mark{width:28px;height:28px;font-size:14px}.footer-brand .brand-copy strong{font-size:11px}
.reveal{opacity:0;transform:translateY(20px);transition:opacity .75s ease,transform .75s ease}.reveal.visible{opacity:1;transform:none}@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.8)}}@keyframes streamIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}@keyframes grow{from{width:0}}
@media(max-width:1050px){.nav{display:none}.menu-button{display:block}.site-header>.button{display:none}.hero{grid-template-columns:1fr;padding-top:60px}.hero-copy{max-width:760px}.hero-console{max-width:860px;width:100%}.split-section,.replay-layout,.passport-layout,.evidence-section,.final-cta{grid-template-columns:1fr}.split-section,.replay-layout,.passport-layout,.evidence-section{gap:45px}.analytics-grid{grid-template-columns:1fr}.capability-grid{grid-template-columns:repeat(2,1fr)}.stakeholder-grid{grid-template-columns:repeat(2,1fr)}.section-title-row{grid-template-columns:1fr}.site-footer{flex-wrap:wrap}.site-footer p{margin-left:0}}
@media(max-width:720px){.section-shell,.site-header{padding-left:18px;padding-right:18px}.site-header{height:68px}.hero{min-height:auto;padding-top:55px;padding-bottom:55px}.hero h1{font-size:52px}.hero-lead{font-size:16px}.hero-proof{grid-template-columns:1fr}.metric-grid{grid-template-columns:1fr 1fr}.console-lower{grid-template-columns:1fr}.rack-grid{grid-template-columns:repeat(12,1fr)}.signal-strip{justify-content:flex-start;overflow:auto}.section{padding-top:90px;padding-bottom:90px}.section h2{font-size:42px}.capability-grid,.stakeholder-grid{grid-template-columns:1fr}.pipeline{grid-template-columns:1fr;gap:8px;height:auto;margin-top:25px}.pipe-arrow{transform:rotate(90deg)}.raw-stream,.decoded-stream{min-height:120px}.energy-row{grid-template-columns:82px 1fr 76px}.passport-data{grid-template-columns:1fr}.hash-stream{grid-template-columns:1fr 1fr}.merkle-row{padding:0;gap:8px}.evidence-footer{flex-direction:column;gap:5px}.hero-actions{flex-direction:column;align-items:stretch}.site-footer{align-items:flex-start;flex-direction:column}.site-footer>div:last-child{flex-wrap:wrap}.section-title-row{gap:0}}

/* ==========================================================================
   CHART LAYER - real axes, units, hover, legends, table twins
   Validated dark-surface series slots:
   s1 #3987e5 · s2 #d95926 · s3 #199e70   (all-pairs PASS on #0a1116)
   Status tokens are reserved and never used as a series colour.
   ========================================================================== */
:root{
  --viz-s1:#3987e5; --viz-s2:#d95926; --viz-s3:#199e70;
  --viz-warning:#fab219; --viz-serious:#ec835a; --viz-critical:#d03b3b; --viz-good:#0ca30c;
  --viz-grid:#1b2b34; --viz-ink2:#9fb2bc; --viz-muted:#778d98;
}

/* --- small multiples: one quantity, one unit, one axis per panel --------- */
.small-multiples{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;margin-top:4px}
.sm{margin:0}
.sm figcaption{display:flex;flex-direction:column;gap:1px;min-height:44px;font-size:11px;letter-spacing:.06em;
  text-transform:uppercase;color:var(--viz-ink2);margin-bottom:6px}
.sm figcaption b{font-size:11px;color:var(--text);letter-spacing:.08em}
.sm figcaption small{font-size:10px;letter-spacing:.02em;text-transform:none;color:var(--viz-muted)}
.plot{position:relative;height:172px}
.plot-tall{height:280px}
.plot canvas{width:100%;height:100%;display:block;outline:none;border-radius:6px}
.plot canvas:focus-visible{box-shadow:0 0 0 2px rgba(84,229,232,.55)}

/* --- hover tooltip ------------------------------------------------------- */
.viz-tip[hidden]{display:none}
.viz-tip{position:absolute;top:6px;transform:translateX(-50%);pointer-events:none;
  background:#0d1a21;border:1px solid #24404e;border-radius:8px;padding:8px 10px;min-width:132px;
  box-shadow:0 12px 34px rgba(0,0,0,.55);z-index:6}
.viz-tip .tt-head{font:600 10px/1.4 ui-monospace,Menlo,monospace;letter-spacing:.08em;
  color:var(--viz-muted);margin-bottom:5px}
.viz-tip .tt-row{display:flex;align-items:center;gap:7px;font-size:11.5px;color:var(--text);
  white-space:nowrap;margin-top:3px}
.viz-tip .tt-row i{width:8px;height:8px;border-radius:2px;flex:none}
.viz-tip .tt-row span{color:var(--viz-ink2)}
.viz-tip .tt-row b{margin-left:auto;font-variant-numeric:tabular-nums}

/* --- legend: always present for 2+ series -------------------------------- */
.viz-legend{display:flex;flex-wrap:wrap;gap:16px;margin:2px 0 10px}
.viz-key{display:inline-flex;align-items:center;gap:7px;font-size:11.5px;color:var(--viz-ink2)}
.viz-key i{width:10px;height:10px;border-radius:3px;flex:none}

/* --- foot row + table twin ---------------------------------------------- */
.viz-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:10px}
.viz-note{margin:0;font-size:11px;color:var(--viz-muted);max-width:62ch}
.table-toggle{background:none;border:1px solid var(--line2);color:var(--viz-ink2);cursor:pointer;
  font:500 11px/1 Inter,system-ui,sans-serif;letter-spacing:.04em;padding:7px 12px;border-radius:8px;transition:.18s}
.table-toggle:hover{color:var(--text);border-color:#2f4c5b;background:#0c161c}
.table-wrap[hidden]{display:none}
.table-wrap{margin-top:12px;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.viz-table{width:100%;border-collapse:collapse;font-size:11px}
.viz-table th,.viz-table td{text-align:right;padding:5px 8px;border-bottom:1px solid var(--viz-grid);
  font-variant-numeric:tabular-nums;color:var(--viz-ink2)}
.viz-table th{color:var(--viz-muted);font-weight:600;letter-spacing:.05em;text-transform:uppercase;font-size:10px}
.viz-table th:first-child,.viz-table td:first-child{text-align:left}
.viz-table tr.tr-total td{color:var(--text);font-weight:700;border-bottom:none}

/* --- rack heat map: sequential single hue + scale ------------------------- */
.rack-grid{display:grid;grid-template-columns:repeat(24,1fr);gap:3px;margin-top:10px}
.rack{aspect-ratio:1;border:0;padding:0;border-radius:2px;cursor:pointer;
  transition:transform .16s ease, box-shadow .16s ease}
.rack:hover,.rack:focus-visible{transform:scale(1.55);outline:none;
  box-shadow:0 0 0 2px var(--panel),0 0 0 3px rgba(233,242,245,.55);z-index:3;position:relative}
.rack-alert{box-shadow:0 0 0 1.5px var(--viz-serious)}
.rack-scale{display:flex;align-items:center;gap:5px;margin-top:12px;font-size:10px;color:var(--viz-muted);
  letter-spacing:.05em}
.rack-scale i{width:20px;height:8px;border-radius:2px;display:block}
.rack-scale span:first-child{margin-right:6px}
.rack-scale .scale-max{margin-left:2px}
.rack-tip[hidden]{display:none}
.rack-tip{margin-top:8px;font:11px/1.4 ui-monospace,Menlo,monospace;color:var(--text)}
.watch-pill{font-size:10px;letter-spacing:.09em;color:var(--viz-serious);
  border:1px solid rgba(236,131,90,.4);border-radius:999px;padding:3px 9px}

/* --- energy stack: 2px surface gaps, no borders around marks -------------- */
.energy-stack{display:flex;gap:2px;height:34px;margin:14px 0 16px;border-radius:6px;overflow:hidden}
.energy-stack .seg{display:block;border-radius:3px}
.energy-rows{display:grid;gap:9px}
.energy-row{display:grid;grid-template-columns:12px 1fr auto auto;align-items:center;gap:11px;font-size:12.5px}
.energy-row i{width:10px;height:10px;border-radius:3px}
.energy-row span{color:var(--viz-ink2)}
.energy-row b{font-variant-numeric:tabular-nums;color:var(--text)}
.energy-row em{font-style:normal;font-variant-numeric:tabular-nums;color:var(--viz-muted);font-size:11px;min-width:44px;text-align:right}

/* --- replay readout ------------------------------------------------------ */
.replay-readout{display:grid;grid-template-columns:repeat(3,auto);gap:6px 22px;margin-top:14px;
  padding-top:14px;border-top:1px solid var(--viz-grid);font-size:12px}
.replay-readout span{color:var(--viz-muted);font-size:10.5px;letter-spacing:.07em;text-transform:uppercase}
.replay-readout b{font-variant-numeric:tabular-nums;color:var(--text);font-size:15px}
.replay-readout b.is-warn{color:var(--viz-serious)}
.replay-readout span:nth-child(1),.replay-readout span:nth-child(3),.replay-readout span:nth-child(5){grid-row:1}
.replay-readout b:nth-child(2),.replay-readout b:nth-child(4),.replay-readout b:nth-child(6){grid-row:2}

/* --- mobile nav fix ------------------------------------------------------ */
.nav.open{display:flex;position:absolute;top:66px;right:18px;flex-direction:column;gap:14px;
  background:#091116;padding:16px 20px;border:1px solid #18303a;border-radius:12px;z-index:30}

@media (max-width:1080px){
  .small-multiples{grid-template-columns:1fr}
  .plot{height:132px}
  .rack-grid{grid-template-columns:repeat(16,1fr)}
}
@media (max-width:640px){
  .plot-tall{height:230px}
  .rack-grid{grid-template-columns:repeat(12,1fr)}
  .replay-readout{grid-template-columns:repeat(2,auto)}
}
@media (prefers-reduced-motion:reduce){
  .rack{transition:none}
  .reveal{opacity:1!important;transform:none!important}
}

/* ---- loss trend block ---------------------------------------------------- */
.loss-trend-block{margin-top:22px;padding-top:18px;border-top:1px solid var(--hairline,#16242c)}
.sub-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px}
.sub-heading strong{font-size:.92rem;font-weight:600;color:#e9f2f5}
.sub-heading span{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:#778d98}
.plot-bar{height:150px}
.viz-tip .tt-sum{border-top:1px solid #233743;margin-top:5px;padding-top:5px}
.viz-tip .tt-sum i{background:transparent!important}
.viz-tip .tt-sum span,.viz-tip .tt-sum b{color:var(--text)}

/* keep the two analytics cards balanced: the tall plot absorbs spare height */
.warranty-visual{display:flex;flex-direction:column}
.warranty-visual .plot-tall{flex:1 1 auto;min-height:280px}
.warranty-visual .warranty-callout{margin-top:14px}
.warranty-visual .plot-tall{max-height:420px}
.warranty-visual .warranty-callout{margin-top:auto}

/* ==========================================================================
   BRAND · PORTAL · CTA · FOOTER
   ========================================================================== */

/* --- lion mark ----------------------------------------------------------- */
.brand-lion{width:40px;height:40px;display:block;object-fit:contain;
  filter:drop-shadow(0 0 14px rgba(84,229,232,.10));transition:transform .45s cubic-bezier(.2,.8,.25,1),filter .3s}
.brand:hover .brand-lion{transform:scale(1.06) rotate(-3deg);filter:drop-shadow(0 0 18px rgba(84,229,232,.26))}

/* --- header right side --------------------------------------------------- */
.header-actions{display:flex;align-items:center;gap:10px}
.portal-button{display:inline-flex;align-items:center;gap:8px;cursor:pointer;
  font:650 12px/1 Inter,system-ui,sans-serif;letter-spacing:.02em;
  color:#b9c6cc;background:rgba(10,16,20,.5);border:1px solid #23343d;border-radius:10px;
  padding:10px 14px;transition:.2s}
.portal-button svg{opacity:.75;transition:.2s}
.portal-button:hover{color:var(--cyan);border-color:#2c5a63;background:#0b1519;transform:translateY(-1px)}
.portal-button:hover svg{opacity:1}

/* --- portal dialog ------------------------------------------------------- */
body.is-locked{overflow:hidden}
.portal-overlay[hidden]{display:none}
.portal-overlay{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:24px;
  background:rgba(3,6,9,.74);backdrop-filter:blur(7px);opacity:0;transition:opacity .22s ease}
.portal-overlay.is-open{opacity:1}
.portal-dialog{position:relative;width:100%;max-width:420px;border-radius:18px;
  border:1px solid #22404b;background:linear-gradient(165deg,#0c1720,#060c11);
  padding:28px;box-shadow:0 40px 90px rgba(0,0,0,.6);
  transform:translateY(14px) scale(.985);transition:transform .26s cubic-bezier(.2,.8,.25,1)}
.portal-overlay.is-open .portal-dialog{transform:none}
.portal-close{position:absolute;top:12px;right:14px;background:none;border:0;cursor:pointer;
  color:#6c828c;font-size:22px;line-height:1;padding:4px 8px;transition:.2s}
.portal-close:hover{color:var(--text)}
.portal-head{display:flex;align-items:center;gap:13px;margin-bottom:16px}
.portal-head img{opacity:.95}
.portal-head>div{display:flex;flex-direction:column;gap:4px}
.portal-head strong{font-size:17px;font-weight:600;letter-spacing:-.01em}
.portal-lead{margin:0 0 20px;font-size:12.5px;line-height:1.65;color:#8d9fa8}
.portal-form{display:grid;gap:13px}
.portal-form label{display:grid;gap:7px;font-size:10px;letter-spacing:.12em;color:#7d919b;text-transform:uppercase}
.portal-form input{background:#060d12;border:1px solid #1d323c;border-radius:9px;padding:12px 13px;
  color:var(--text);font:400 13.5px/1 Inter,system-ui,sans-serif;transition:.2s}
.portal-form input::placeholder{color:#4d616b}
.portal-form input:focus{outline:none;border-color:#2f5d67;box-shadow:0 0 0 3px rgba(84,229,232,.09)}
.portal-submit{width:100%;margin-top:4px}
.portal-msg[hidden]{display:none}
.portal-msg{margin:2px 0 0;font-size:11.5px;line-height:1.6;border-radius:9px;padding:11px 12px;
  animation:portalShake .34s ease}
.portal-msg.is-denied{background:rgba(208,59,59,.09);border:1px solid rgba(208,59,59,.34);color:#e6b3b3}
.portal-msg a{color:var(--cyan);text-decoration:underline;text-underline-offset:2px}
.portal-foot{margin:18px 0 0;padding-top:15px;border-top:1px solid #16262e;font-size:11.5px;color:#778b95}
.portal-foot a{color:var(--cyan)}
@keyframes portalShake{0%,100%{transform:translateX(0)}22%{transform:translateX(-4px)}62%{transform:translateX(3px)}}

/* --- closing CTA --------------------------------------------------------- */
.final-cta{display:block;text-align:center;padding-top:120px;padding-bottom:120px}
.cta-grid{mask-image:radial-gradient(circle at 50% 40%,black,transparent 72%)}
.cta-head,.cta-cards,.cta-actions{position:relative;z-index:1}
.cta-kicker{display:flex;align-items:center;justify-content:center;gap:14px;
  font-size:11px;letter-spacing:.2em;font-weight:700;color:var(--cyan)}
.cta-kicker i{width:44px;height:1px;background:linear-gradient(90deg,transparent,#2c6a71)}
.cta-kicker i:last-child{background:linear-gradient(90deg,#2c6a71,transparent)}
.final-cta h2{margin:22px auto 22px;max-width:16ch}
.final-cta h2 span{color:var(--cyan)}
.cta-head p{max-width:60ch;margin:0 auto;color:#8799a2;font-size:16.5px;line-height:1.75}
.cta-cards{display:grid;gap:12px;max-width:760px;margin:52px auto 0}
.cta-card{display:flex;align-items:center;gap:18px;text-align:left;
  border:1px solid #172b33;border-radius:14px;background:linear-gradient(150deg,rgba(12,21,26,.75),rgba(6,11,14,.5));
  padding:20px 22px;transition:transform .25s cubic-bezier(.2,.8,.25,1),border-color .25s,background .25s}
a.cta-card:hover{transform:translateY(-2px);border-color:#2a545e;background:#0b1418}
.cta-icon{width:46px;height:46px;flex:none;display:grid;place-items:center;border-radius:12px;
  color:var(--cyan);background:rgba(84,229,232,.07);border:1px solid #1e4650;transition:.25s}
a.cta-card:hover .cta-icon{background:rgba(84,229,232,.13);transform:scale(1.05)}
.cta-card-copy{display:flex;flex-direction:column;gap:5px}
.cta-card-copy strong{font-size:14px;font-weight:600}
.cta-card-copy small{font-size:13px;color:#8b9da6}
.cta-actions{display:flex;justify-content:center;gap:12px;margin-top:40px;flex-wrap:wrap}
.cta-actions .button{cursor:pointer}

/* --- footer -------------------------------------------------------------- */
.site-footer{display:block;max-width:none;margin:0;padding:0;border-top:1px solid #101d24;
  background:linear-gradient(180deg,#060c10,#04080b)}
.footer-inner{max-width:var(--max);margin:0 auto;padding:64px 28px 44px;
  display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:48px}
.footer-col{display:flex;flex-direction:column;gap:15px}
.footer-brand{display:flex;align-items:center;gap:13px}
.footer-brand img{opacity:.95;transition:transform .45s cubic-bezier(.2,.8,.25,1)}
.footer-brand:hover img{transform:rotate(-4deg) scale(1.05)}
.footer-brand strong{font-size:23px;font-weight:600;letter-spacing:-.02em}
.footer-about p{margin:0;max-width:34ch;font-size:13.5px;line-height:1.75;color:#7f9199}
.footer-social{display:inline-flex;align-items:center;gap:10px;font-size:13.5px;color:#93a5ad;
  width:fit-content;transition:.2s}
.footer-social svg{color:#5f757f;transition:.2s}
.footer-social:hover{color:var(--text)}
.footer-social:hover svg{color:var(--cyan)}
.footer-heading{font-size:11.5px;letter-spacing:.16em;font-weight:700;color:#8794a0}
.footer-col>a{font-size:14px;color:#9aabb2;width:fit-content;position:relative;transition:color .2s}
.footer-col>a:after{content:"";position:absolute;left:0;bottom:-3px;width:100%;height:1px;
  background:var(--cyan);transform:scaleX(0);transform-origin:left;transition:transform .28s cubic-bezier(.2,.8,.25,1)}
.footer-col>a:hover{color:var(--text)}
.footer-col>a:hover:after{transform:scaleX(1)}
.footer-bar{max-width:var(--max);margin:0 auto;padding:20px 28px 40px;
  border-top:1px solid #101d24;display:flex;justify-content:space-between;gap:16px;
  font-size:12px;color:#61747d}

@media(max-width:1050px){
  .header-actions{margin-left:auto}
  .header-actions .button{display:none}
  .footer-inner{grid-template-columns:1fr 1fr;gap:40px}
  .footer-about{grid-column:1/-1}
}
@media(max-width:720px){
  .portal-button span{display:none}
  .portal-button{padding:10px 11px}
  .final-cta{padding-top:80px;padding-bottom:80px}
  .cta-cards{margin-top:34px}
  .cta-card{padding:16px 16px;gap:14px}
  .cta-icon{width:40px;height:40px}
  .cta-actions{flex-direction:column;align-items:stretch}
  .footer-inner{grid-template-columns:1fr;gap:34px;padding:48px 18px 32px}
  .footer-bar{flex-direction:column;gap:8px;padding:18px 18px 34px}
}

/* --- rack tiles: wave-in + calmer hover ---------------------------------- */
.rack{opacity:0;transform:scale(.72);
  transition:opacity .34s ease var(--d,0ms),transform .34s cubic-bezier(.2,.8,.25,1) var(--d,0ms),
             box-shadow .18s ease,filter .18s ease}
.rack-grid.is-in .rack{opacity:1;transform:none}
.rack-grid.is-in .rack:hover,.rack-grid.is-in .rack:focus-visible{
  transform:scale(1.5);outline:none;filter:brightness(1.25);
  box-shadow:0 0 0 1.5px var(--viz-ink,#e9f2f5),0 6px 16px rgba(0,0,0,.55);z-index:2;position:relative;
  transition-delay:0ms}
@media(prefers-reduced-motion:reduce){
  .rack{opacity:1;transform:none;transition:none}
  .portal-overlay,.portal-dialog{transition:none}
  .portal-msg{animation:none}
}

/* --- honest labelling: this console runs on a sample dataset -------------- */
.demo-chip{margin-left:11px;font:700 8px/1 Inter,system-ui,sans-serif;letter-spacing:.14em;
  color:#c8a24a;background:rgba(250,178,25,.09);border:1px solid rgba(250,178,25,.3);
  border-radius:20px;padding:4px 8px;vertical-align:middle;cursor:help}

/* --- hero metric cards: one line per value, equal heights ----------------- */
.metric-card{display:flex;flex-direction:column}
.metric-card strong{font-size:21px;white-space:nowrap;letter-spacing:-.01em}
.metric-card strong i{font-style:normal;font-size:12px;color:#7d9099;margin-left:3px}
.metric-card small{margin-top:auto}
.sm figcaption{min-height:52px}
.demo-chip{white-space:nowrap}
@media(max-width:720px){
  .console-topbar{flex-wrap:wrap;gap:6px}
  .console-title{display:flex;align-items:center;flex-wrap:wrap;gap:6px}
  .console-clock{display:none}
}
.table-toggle{white-space:nowrap}

/* --- capability cards: icon + on-hover mini chart ------------------------- */
.capability-card{display:flex;flex-direction:column;min-height:300px;position:relative;overflow:hidden}
.cap-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;
  color:var(--cyan);background:rgba(84,229,232,.06);border:1px solid #1c434c;
  transition:transform .3s cubic-bezier(.2,.8,.25,1),background .3s,border-color .3s}
.capability-card:hover .cap-icon{transform:translateY(-2px) scale(1.06);
  background:rgba(84,229,232,.12);border-color:#2b636e}
.capability-card h3{margin:22px 0 10px}
.capability-card p{margin:0}
.cap-viz{margin:auto 0 0;padding-top:16px;border-top:1px solid #142229;
  opacity:.82;transition:opacity .3s ease}
.capability-card:hover .cap-viz,.capability-card:focus-within .cap-viz{opacity:1}
.cap-viz figcaption{display:flex;flex-direction:column;gap:3px;margin-bottom:6px}
.cap-viz figcaption b{font:600 10px/1 ui-monospace,Menlo,monospace;letter-spacing:.09em;color:var(--cyan)}
.cap-viz figcaption span{font-size:10px;color:#6f838d;letter-spacing:.02em}
.cap-viz canvas{width:100%;height:96px;display:block}
@media(max-width:720px){.capability-card{min-height:0}.cap-viz{opacity:1}}

/* ==========================================================================
   SCOPE PICKER · SOLUTIONS · COMPLIANCE MAP · LIFECYCLE · ABOUT
   ========================================================================== */

/* --- telemetry scope picker ---------------------------------------------- */
.scope-picker{display:flex;gap:4px;flex-wrap:wrap}
.scope-picker button{cursor:pointer;background:#081016;border:1px solid #17303a;border-radius:7px;
  color:#7c919b;font:600 9.5px/1 ui-monospace,Menlo,monospace;letter-spacing:.08em;padding:6px 9px;
  transition:.18s}
.scope-picker button:hover{color:var(--text);border-color:#2a5560;background:#0c1a21}
.scope-picker button[aria-selected="true"]{color:#041416;background:var(--cyan);border-color:var(--cyan)}
.scope-note{margin:9px 0 2px;font-size:10px;color:#677c86;letter-spacing:.01em}
.scope-note b{color:#b6c5cb;font-weight:600}

/* --- solutions ----------------------------------------------------------- */
.solutions-section{border-top:1px solid #101e25}
.solution-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:52px}
.solution-card{border:1px solid #172a33;border-radius:16px;padding:24px 24px 26px;
  background:linear-gradient(155deg,rgba(12,21,26,.72),rgba(6,11,14,.35));
  transition:transform .28s cubic-bezier(.2,.8,.25,1),border-color .28s,background .28s}
.solution-card:hover{transform:translateY(-3px);border-color:#2a545e;background:#0a1318}
.solution-card .tiny-label{display:block;color:var(--cyan)}
.solution-card h3{font-size:20px;font-weight:600;margin:12px 0 16px;letter-spacing:-.015em}
.solution-list{list-style:none;margin:0;padding:0;display:grid;gap:11px}
.solution-list li{position:relative;padding-left:24px;font-size:12.5px;line-height:1.65;color:#8ea0a9}
.solution-list li:before{content:"";position:absolute;left:2px;top:7px;width:11px;height:6px;
  border-left:1.6px solid var(--cyan);border-bottom:1.6px solid var(--cyan);transform:rotate(-45deg);
  opacity:.75}

/* --- compliance + europe map --------------------------------------------- */
.compliance-section{border-top:1px solid #101e25}
.compliance-layout{display:grid;grid-template-columns:1fr 1.02fr;gap:70px;align-items:center}
.compliance-copy h2{max-width:15ch}
.compliance-list{list-style:none;margin:34px 0 0;padding:0;display:grid;gap:0}
.compliance-list li{display:grid;gap:5px;padding:16px 0;border-top:1px solid #122129}
.compliance-list b{font-size:13.5px;font-weight:600}
.compliance-list span{font-size:12.5px;line-height:1.65;color:#7f929b}
.compliance-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:30px;
  border-top:1px solid var(--line);padding-top:22px}
.compliance-meta div{display:flex;flex-direction:column;gap:6px}
.compliance-meta strong{font-size:19px;font-weight:600;letter-spacing:-.02em;color:var(--cyan)}
.compliance-meta span{font-size:10.5px;color:#6f828b;line-height:1.5}

.compliance-map{margin:0}
.compliance-map svg{width:100%;height:auto;display:block;overflow:visible}
.map-ctx path{fill:#0a141a;stroke:#132229;stroke-width:.6}
.map-eu path{fill:#0f2833;stroke:#2b6270;stroke-width:.7;
  transition:fill .6s ease}
.compliance-map:hover .map-eu path{fill:#123342}
.hub-dot{fill:var(--cyan)}
.hub-ring{fill:none;stroke:var(--cyan);stroke-width:1;opacity:.5}
.hub-pulse{fill:var(--cyan);opacity:.28;transform-origin:center;animation:hubPulse 2.8s ease-out infinite}
@keyframes hubPulse{0%{transform:scale(.7);opacity:.42}70%{transform:scale(3.1);opacity:0}100%{opacity:0}}
.map-label-a{fill:var(--text);font:700 12px Inter,system-ui,sans-serif;letter-spacing:.14em}
.map-label-b{fill:#7f939c;font:400 11px Inter,system-ui,sans-serif}
.compliance-map figcaption{display:grid;gap:8px;margin-top:18px;padding-top:16px;border-top:1px solid #122129}
.map-key{display:flex;align-items:center;gap:10px;font-size:11.5px;color:#7f929b}
.map-key i{width:12px;height:12px;border-radius:3px;flex:none}
.key-eu{background:#123342;border:1px solid #2b6270}
.key-hub{background:var(--cyan);border-radius:50%!important;box-shadow:0 0 10px rgba(84,229,232,.5)}

/* --- lifecycle spine ----------------------------------------------------- */
.lifecycle{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;margin-top:64px;
  background:#14242c;border:1px solid #14242c;border-radius:14px;overflow:hidden}
.lifecycle-step{background:#071015;padding:22px 18px 24px;display:grid;gap:8px;align-content:start;
  position:relative;transition:background .25s}
.lifecycle-step:hover{background:#0b171d}
.lifecycle-step:before{content:"";position:absolute;left:0;top:0;height:2px;width:100%;
  background:linear-gradient(90deg,transparent,var(--cyan),transparent);opacity:0;transition:opacity .25s}
.lifecycle-step:hover:before{opacity:.75}
.lifecycle-step b{font-size:13.5px;font-weight:600}
.lifecycle-step small{font-size:11px;line-height:1.6;color:#75888f}

/* --- about --------------------------------------------------------------- */
.about-section{border-top:1px solid #101e25}
.about-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:start}
.about-copy h2{max-width:16ch}
.about-copy p{color:#8698a1;font-size:15.5px;line-height:1.8;max-width:56ch;margin:0 0 18px}
.about-facts{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#14242c;
  border:1px solid #14242c;border-radius:14px;overflow:hidden;margin-top:8px}
.about-facts div{background:#071015;padding:22px 20px;display:grid;gap:7px;align-content:start;
  transition:background .25s}
.about-facts div:hover{background:#0b171d}
.about-facts b{font-size:13px;font-weight:600}
.about-facts span{font-size:11px;color:#74878f;line-height:1.55}

@media(max-width:1050px){
  .solution-grid{grid-template-columns:1fr 1fr}
  .compliance-layout,.about-layout{grid-template-columns:1fr;gap:46px}
  .lifecycle{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:720px){
  .solution-grid{grid-template-columns:1fr}
  .lifecycle{grid-template-columns:1fr}
  .about-facts{grid-template-columns:1fr}
  .compliance-meta{grid-template-columns:1fr;gap:14px}
  .scope-picker{width:100%}
}

/* --- the identity → evidence chain --------------------------------------- */
/* Six stages of one record. The colour runs cool to warm to settle on green,
   so the row reads as a journey that ends in something verified - a
   progression, not six unrelated categories.                                */
.chain-title{max-width:20ch}
.chain{list-style:none;margin:56px 0 0;padding:0;display:grid;grid-template-columns:repeat(6,1fr);gap:10px;
  position:relative;counter-reset:chain}
.chain:before{content:"";position:absolute;left:26px;right:26px;top:27px;height:1px;
  background:linear-gradient(90deg,#54e5e8,#43a9e8,#3987e5,#8a7fe0,#d9743a,#199e70);opacity:.28}
.chain-step{position:relative;display:grid;gap:9px;justify-items:start;padding:0 4px}
.chain-step[data-step="identity"]{--c:#54e5e8}
.chain-step[data-step="operation"]{--c:#43a9e8}
.chain-step[data-step="health"]{--c:#3987e5}
.chain-step[data-step="risk"]{--c:#8a7fe0}
.chain-step[data-step="action"]{--c:#d9743a}
.chain-step[data-step="evidence"]{--c:#19a878}
.chain-icon{position:relative;z-index:1;width:54px;height:54px;display:grid;place-items:center;
  border-radius:15px;color:var(--c);background:#081116;border:1px solid color-mix(in srgb,var(--c) 34%,#12222a);
  box-shadow:0 0 0 5px #05090c;
  transition:transform .35s cubic-bezier(.2,.8,.25,1),box-shadow .35s,background .35s,border-color .35s}
.chain-step:hover .chain-icon{transform:translateY(-4px);
  background:color-mix(in srgb,var(--c) 12%,#081116);border-color:var(--c);
  box-shadow:0 0 0 5px #05090c,0 10px 26px color-mix(in srgb,var(--c) 26%,transparent)}
.chain-step b{font-size:15px;font-weight:600;letter-spacing:-.01em;color:var(--c);transition:color .3s}
.chain-step small{font-size:11.5px;line-height:1.6;color:#7c8f98;max-width:20ch}
.chain-step:after{content:"";position:absolute;left:0;top:27px;width:0;height:1px;background:var(--c);
  transition:width .5s cubic-bezier(.2,.8,.25,1)}
.chain.visible .chain-step:after{width:100%;transition-delay:calc(var(--i) * .12s + .15s)}
.chain-step:last-child:after{display:none}
@media(max-width:1050px){
  .chain{grid-template-columns:repeat(3,1fr);gap:26px 10px}
  .chain:before{display:none}
  .chain-step:after{display:none}
}
@media(max-width:720px){.chain{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){.chain-step:after{transition:none}}

/* connector stops at the last icon instead of running off the row */
.chain:before{left:27px;right:calc(16.667% - 27px)}

/* the capability cards carry the same six accents as the chain above them,
   because they are the same six stages seen from the buying side */
.capability-card[data-cap="monitor"]{--c:#54e5e8}
.capability-card[data-cap="diagnose"]{--c:#43a9e8}
.capability-card[data-cap="perform"]{--c:#3987e5}
.capability-card[data-cap="protect"]{--c:#8a7fe0}
.capability-card[data-cap="warranty"]{--c:#d9743a}
.capability-card[data-cap="prove"]{--c:#19a878}
.capability-card .cap-icon{color:var(--c);
  background:color-mix(in srgb,var(--c) 9%,#081116);
  border-color:color-mix(in srgb,var(--c) 30%,#12222a)}
.capability-card:hover .cap-icon{background:color-mix(in srgb,var(--c) 16%,#081116);
  border-color:var(--c);box-shadow:0 8px 22px color-mix(in srgb,var(--c) 20%,transparent)}
.capability-card .cap-viz figcaption b{color:var(--c)}
.capability-card:before{content:"";position:absolute;left:0;top:0;height:2px;width:100%;
  background:linear-gradient(90deg,var(--c),transparent);opacity:0;transition:opacity .3s}
.capability-card:hover:before{opacity:.8}

/* --- ranked losses table -------------------------------------------------- */
.ranked-panel,.aging-panel{margin-top:14px;border:1px solid #172a33;border-radius:16px;
  background:#071015;padding:22px 24px 24px}
.ranked-table{width:100%;border-collapse:collapse;margin-top:18px;font-size:12.5px}
.ranked-table th{text-align:left;font:600 9.5px/1.5 Inter,system-ui,sans-serif;letter-spacing:.13em;
  text-transform:uppercase;color:#697e88;padding:0 14px 11px 0;border-bottom:1px solid #14242c;vertical-align:bottom}
.ranked-table th span{display:block;font-size:8.5px;letter-spacing:.08em;color:#4f636c;text-transform:none}
.ranked-table th.num,.ranked-table td.num{text-align:right;font-variant-numeric:tabular-nums}
.ranked-table td{padding:14px 14px 14px 0;border-bottom:1px solid #101d24;color:#8ea0a9;vertical-align:middle}
.ranked-table tr:last-child td{border-bottom:0}
.ranked-table tr{transition:background .2s}
.ranked-table tbody tr:hover{background:#0b171d}
.ranked-table .rk{color:var(--text);font:600 12px ui-monospace,Menlo,monospace;letter-spacing:.03em;white-space:nowrap}
.ranked-table .act{color:#b3c2c8}
.ranked-table .sev-serious .rk{color:var(--viz-serious,#ec835a)}
.bar-cell{min-width:190px}
.mini-bar{display:inline-flex;align-items:center;gap:2px;width:132px;height:8px;vertical-align:middle}
.mini-bar i{height:100%;border-radius:2px;display:block}
.bar-cell em{font-style:normal;margin-left:11px;color:#c3d0d5;font-variant-numeric:tabular-nums;font-size:11.5px}
.aging-panel .plot-tall{height:340px}
@media(max-width:900px){
  .ranked-panel{overflow-x:auto}
  .ranked-table{min-width:680px}
}

/* --- glossary ------------------------------------------------------------- */
.glossary-section{border-top:1px solid #101e25}
.glossary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:52px;
  background:#14242c;border:1px solid #14242c;border-radius:16px;overflow:hidden}
.glossary-item{background:#071015;padding:26px 24px 28px;display:grid;gap:8px;align-content:start;
  transition:background .25s}
.glossary-item:hover{background:#0b171d}
.glossary-item b{font:700 20px/1 ui-monospace,Menlo,monospace;letter-spacing:.02em;color:var(--cyan)}
.glossary-item span{font-size:12.5px;font-weight:600;color:var(--text)}
.glossary-item p{margin:4px 0 0;font-size:12.5px;line-height:1.7;color:#7f929b}
@media(max-width:1050px){.glossary-grid{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.glossary-grid{grid-template-columns:1fr}}
.aging-panel .plot-tall{height:360px}

/* --- two asset classes --------------------------------------------------- */
.dual-section{border-top:1px solid #101e25}
.dual-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:52px}
.dual-card{border:1px solid #172a33;border-radius:16px;padding:26px 24px 28px;
  background:linear-gradient(155deg,rgba(12,21,26,.72),rgba(6,11,14,.35));transition:.28s}
.dual-card:hover{transform:translateY(-3px);border-color:#2a545e;background:#0a1318}
.dual-card .tiny-label{display:block;color:#68808b}
.dual-card h3{font-size:19px;font-weight:600;margin:12px 0 18px;letter-spacing:-.015em}
.dual-card.accent{border-color:#24505c;background:linear-gradient(155deg,rgba(13,30,37,.9),rgba(6,13,17,.5))}
.dual-card.accent .tiny-label{color:var(--cyan)}
@media(max-width:1050px){.dual-grid{grid-template-columns:1fr}}
.compliance-copy h2{max-width:19ch}
.compliance-layout{align-items:start}
.compliance-map{position:sticky;top:90px}
@media(max-width:1050px){.compliance-map{position:static}}
.ranked-legend{display:flex;align-items:center;gap:16px;flex-wrap:wrap}

/* --- brand sized to match lowentech.dev ---------------------------------- */
.site-header{height:92px;gap:30px}
.brand{gap:14px}
.brand-lion{width:54px;height:54px}
.brand-copy strong{font-size:26px;font-weight:600;letter-spacing:-.02em;line-height:1}
.brand-copy small{margin-top:6px;font-size:9px;letter-spacing:.22em;color:#7c9099}
@media(max-width:720px){
  .site-header{height:74px}
  .brand-lion{width:42px;height:42px}
  .brand-copy strong{font-size:20px}
  .brand-copy small{font-size:8px;letter-spacing:.18em;margin-top:4px}
}
.nav{gap:22px}
.nav a{white-space:nowrap;font-size:13.5px}
.header-actions .button,.portal-button{white-space:nowrap}
@media(max-width:1240px){.nav{gap:16px}.nav a{font-size:12.5px}}

/* ==========================================================================
   CAN → DBC PIPELINE
   A raw frame on the left becomes a named value on the right. The animation
   exists to make that pairing legible, not to look busy.
   ========================================================================== */
.pipeline{grid-template-columns:1.15fr .2fr .78fr .2fr 1.15fr;height:auto;gap:14px;align-items:center}
.stream-col{display:flex;flex-direction:column;gap:9px;min-width:0}
.stream-label{font:600 8.5px/1 Inter,system-ui,sans-serif;letter-spacing:.18em;color:#5a6f79}
.raw-stream,.decoded-stream{gap:6px}

.raw-line{display:flex;align-items:baseline;gap:9px;white-space:nowrap;overflow:hidden;
  padding:10px 11px;border:1px solid #122730;background:#060e13;border-radius:8px;
  font:11px/1 ui-monospace,SFMono-Regular,Menlo,monospace;animation:none;
  transition:border-color .3s,background .3s,transform .3s,box-shadow .3s}
.raw-line b{color:#8fa6b0;font-weight:600;letter-spacing:.02em}
.raw-line span{color:#5c7079;letter-spacing:.09em;font-size:10.5px}
.raw-line.is-active{border-color:#2f6a74;background:#08161c;transform:translateX(3px);
  box-shadow:0 0 0 1px rgba(84,229,232,.16),0 6px 18px rgba(0,0,0,.5)}
.raw-line.is-active b{color:var(--cyan)}
.raw-line.is-active span{color:#8ea3ac}

.decoded-line{display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:11px 13px;border:1px solid #122730;background:#060e13;border-radius:8px;
  font:11.5px/1 ui-monospace,SFMono-Regular,Menlo,monospace;
  transition:border-color .3s,background .3s,transform .3s,box-shadow .3s}
.decoded-line b{color:#93a8b2;font-weight:600;letter-spacing:.01em}
.decoded-line em{font-style:normal;color:#6f858f;font-variant-numeric:tabular-nums}
.decoded-line.is-active{border-color:#2f6a74;background:#08161c;transform:translateX(-3px);
  box-shadow:0 0 0 1px rgba(84,229,232,.16),0 6px 18px rgba(0,0,0,.5)}
.decoded-line.is-active b{color:#dceff2}
.decoded-line.is-active em{color:var(--cyan)}

/* the wire, and the spark that runs it */
.pipe-arrow{display:grid;place-items:center}
.wire{position:relative;display:block;width:100%;height:2px;border-radius:2px;
  background:linear-gradient(90deg,transparent,#1c3b45 18%,#1c3b45 82%,transparent)}
.wire:after{content:"";position:absolute;right:-1px;top:-3px;width:0;height:0;
  border-left:6px solid #27505c;border-top:4px solid transparent;border-bottom:4px solid transparent}
.spark{position:absolute;top:-2px;left:0;width:22px;height:6px;border-radius:6px;opacity:0;
  background:linear-gradient(90deg,transparent,var(--cyan));
  box-shadow:0 0 14px rgba(84,229,232,.75)}
.spark.run{animation:sparkRun .42s cubic-bezier(.4,0,.5,1) forwards}
.spark-b.run{animation-delay:.42s}
@keyframes sparkRun{
  0%{left:-12%;opacity:0}
  18%{opacity:1}
  82%{opacity:1}
  100%{left:100%;opacity:0}
}

/* the decoder node */
.dbc-node{padding:22px 12px 18px;border-radius:14px;position:relative;
  background:linear-gradient(160deg,#0b171e,#060d11);border:1px solid #1e3d47;
  transition:border-color .35s,box-shadow .35s}
.dbc-node.is-hit{border-color:#3a7f8a;box-shadow:0 0 0 1px rgba(84,229,232,.18),0 0 34px rgba(84,229,232,.14)}
.dbc-icon{position:relative;margin:0 auto 14px;width:62px;height:62px;display:grid;place-items:center;
  border:1px solid #2b6871;border-radius:12px;color:var(--cyan);
  font:700 15px/1 ui-monospace,Menlo,monospace;letter-spacing:.04em}
.dbc-icon:before{content:"";position:absolute;inset:-7px;border-radius:16px;border:1px solid var(--cyan);
  opacity:0;transform:scale(.86)}
.dbc-node.is-hit .dbc-icon:before{animation:dbcRing .7s ease-out}
@keyframes dbcRing{0%{opacity:.5;transform:scale(.86)}100%{opacity:0;transform:scale(1.22)}}
.dbc-rev{display:block;margin-top:9px;font-style:normal;font-size:8px;letter-spacing:.13em;color:#55707a}

@media(max-width:900px){
  .pipeline{grid-template-columns:1fr;gap:10px}
  .pipe-arrow{transform:rotate(90deg);height:26px}
  .wire{width:26px}
  .spark-b.run{animation-delay:0s}
}
@media(prefers-reduced-motion:reduce){
  .spark,.dbc-node.is-hit .dbc-icon:before{animation:none!important;opacity:0}
}
/* give the frames the width they actually need - a clipped CAN frame is worse
   than no CAN frame */
.pipeline{grid-template-columns:1.34fr .15fr .62fr .15fr 1.34fr;align-items:start}
.raw-line{padding:9px 10px;font-size:10.5px}
.raw-line b{font-size:10.5px}
.raw-line span{font-size:10px;letter-spacing:.055em}
.decoded-line{padding:10px 12px;font-size:11px}
.decoded-line b{font-size:10.5px;white-space:nowrap}
.decoded-line em{white-space:nowrap;font-size:11.5px}
.pipe-arrow{align-self:center;margin-top:26px}
.dbc-node{margin-top:26px}
@media(max-width:1240px){
  .raw-line{font-size:9.5px}.raw-line b{font-size:9.5px}.raw-line span{letter-spacing:.03em;font-size:9px}
}
.pipeline-card{min-height:0;padding:20px 20px 18px}
.pipeline-header{margin-bottom:16px}
.stream-label{margin-bottom:2px}

/* the regulation, stated on the card it applies to */
.dpp-badge{display:flex;align-items:center;gap:11px;margin:22px 0 4px;padding:11px 13px;
  border:1px solid #24505c;border-radius:10px;background:rgba(84,229,232,.045);
  color:var(--cyan);position:relative;z-index:1}
.dpp-badge span{display:flex;flex-direction:column;gap:3px}
.dpp-badge b{font:700 10px/1 ui-monospace,Menlo,monospace;letter-spacing:.1em}
.dpp-badge span{font-size:10.5px;line-height:1.5;color:#9fb6bd}
.dpp-badge b{color:var(--cyan)}

/* ==========================================================================
   EVIDENCE - a hash chain you can watch close
   ========================================================================== */
.evidence-visual{padding:26px 24px 24px}
.hash-stream{gap:10px}
.data-block{padding:13px 12px;border-radius:10px;border:1px solid #17303a;background:#060e13;
  display:grid;gap:5px;transition:border-color .4s,background .4s,box-shadow .4s,transform .4s}
.data-block span{font-size:8.5px;color:#5f757f;letter-spacing:.06em}
.data-block code{font:600 11px/1 ui-monospace,Menlo,monospace;color:#9dafb6;letter-spacing:.01em}
.data-block em{font:400 9px/1 ui-monospace,Menlo,monospace;font-style:normal;color:#41565f;letter-spacing:.08em}
.data-block.is-sealed{border-color:#2c6470;background:#08161c;transform:translateY(-2px);
  box-shadow:0 0 0 1px rgba(84,229,232,.14),0 8px 20px rgba(0,0,0,.5)}
.data-block.is-sealed code{color:#dceff2}
.data-block.is-sealed em{color:var(--cyan)}

/* arrows become wires that light in sequence */
.hash-arrows{display:flex;justify-content:center;gap:0;margin:14px 0;height:26px;
  color:transparent;font-size:0}
.hash-arrows i{display:block;width:2px;height:26px;border-radius:2px;background:#17303a;
  transform-origin:top;opacity:.85;position:relative;overflow:hidden}
.hash-arrows[data-level="1"] i:nth-child(1){margin-right:78px;transform:rotate(24deg)}
.hash-arrows[data-level="1"] i:nth-child(2){margin-right:150px;transform:rotate(-24deg)}
.hash-arrows[data-level="1"] i:nth-child(3){margin-right:78px;transform:rotate(24deg)}
.hash-arrows[data-level="1"] i:nth-child(4){transform:rotate(-24deg)}
.hash-arrows[data-level="2"] i:nth-child(1){margin-right:210px;transform:rotate(26deg)}
.hash-arrows[data-level="2"] i:nth-child(2){transform:rotate(-26deg)}
.hash-arrows i:after{content:"";position:absolute;left:0;top:-60%;width:100%;height:60%;
  background:linear-gradient(180deg,transparent,var(--cyan));opacity:0}
.hash-arrows i.run:after{animation:wireDrop .5s ease-in forwards}
@keyframes wireDrop{0%{top:-60%;opacity:0}25%{opacity:1}100%{top:100%;opacity:0}}
.hash-arrows i.run{background:#25505c}

.merkle-row{gap:40px;padding:0 30px}
.hash-node{display:grid;gap:6px;justify-items:center;padding:16px 12px;border-radius:11px;
  border:1px solid #17303a;background:#060e13;
  transition:border-color .4s,background .4s,box-shadow .4s,transform .4s}
.hash-node span{font:600 11px/1 ui-monospace,Menlo,monospace;color:#93a8b2;letter-spacing:.04em}
.hash-node em{font:400 9.5px/1 ui-monospace,Menlo,monospace;font-style:normal;color:#41565f;letter-spacing:.09em}
.hash-node.is-sealed{border-color:#2c6470;background:#08161c;transform:translateY(-2px);
  box-shadow:0 0 0 1px rgba(84,229,232,.14)}
.hash-node.is-sealed span{color:#dceff2}
.hash-node.is-sealed em{color:var(--cyan)}

.root-node{border-color:#1f4550;background:linear-gradient(165deg,#0a171e,#050c10);
  padding:22px 18px;border-radius:14px;position:relative;
  transition:border-color .5s,box-shadow .5s,transform .5s}
.root-node.is-sealed{border-color:#2f7d68;transform:translateY(-2px);
  box-shadow:0 0 0 1px rgba(12,163,12,.16),0 0 40px rgba(25,158,112,.16)}
.root-node code{font-size:19px;letter-spacing:.02em;transition:color .5s}
.root-node.is-sealed code{color:#eaf7f9}
.root-node strong{display:inline-flex;align-items:center;gap:6px;justify-content:center;
  font-size:9px;letter-spacing:.13em;color:#3d5b58;transition:color .5s}
.root-node.is-sealed strong{color:var(--green)}
.root-node strong svg{opacity:0;transition:opacity .4s .1s}
.root-node.is-sealed strong svg{opacity:1}
.evidence-footer{margin-top:22px}

@media(max-width:720px){
  .hash-arrows{display:none}
  .merkle-row{padding:0;gap:10px}
}
@media(prefers-reduced-motion:reduce){
  .data-block,.hash-node,.root-node{transition:none}
  .hash-arrows i.run:after{animation:none}
}
.footer-inner{grid-template-columns:1.45fr 1fr 1fr 1fr 1fr;gap:38px}
@media(max-width:1240px){.footer-inner{grid-template-columns:1fr 1fr 1fr;gap:36px}.footer-about{grid-column:1/-1}}
@media(max-width:720px){.footer-inner{grid-template-columns:1fr}}

/* --- colour every card label, not just one ------------------------------- */
.dual-card[data-dual="storage"]{--c:#3987e5}
.dual-card[data-dual="mobile"]{--c:#d9743a}
.dual-card[data-dual="why"]{--c:#54e5e8}
.dual-card .tiny-label{color:var(--c)!important}
.dual-card{position:relative;overflow:hidden}
.dual-card:before{content:"";position:absolute;left:0;top:0;height:2px;width:100%;
  background:linear-gradient(90deg,var(--c),transparent);opacity:.5;transition:opacity .3s}
.dual-card:hover:before{opacity:1}
.dual-card:hover{border-color:color-mix(in srgb,var(--c) 42%,#172a33)}
.dual-card .solution-list li:before{border-color:var(--c)}

/* the six modules take the six chain accents */
.solution-card[data-mod="1"]{--c:#54e5e8}
.solution-card[data-mod="2"]{--c:#43a9e8}
.solution-card[data-mod="3"]{--c:#3987e5}
.solution-card[data-mod="4"]{--c:#8a7fe0}
.solution-card[data-mod="5"]{--c:#d9743a}
.solution-card[data-mod="6"]{--c:#19a878}
.solution-card{position:relative;overflow:hidden}
.solution-card .tiny-label{color:var(--c)!important}
.solution-card:before{content:"";position:absolute;left:0;top:0;height:2px;width:100%;
  background:linear-gradient(90deg,var(--c),transparent);opacity:.45;transition:opacity .3s}
.solution-card:hover:before{opacity:1}
.solution-card:hover{border-color:color-mix(in srgb,var(--c) 42%,#172a33)}
.solution-card .solution-list li:before{border-color:var(--c)}

/* --- stakeholder cards: readable labels, one accent each ----------------- */
.stakeholder-grid article{position:relative;overflow:hidden;padding:30px 26px 32px;
  transition:background .28s,transform .28s}
.stakeholder-grid article[data-role="op"]{--c:#54e5e8}
.stakeholder-grid article[data-role="own"]{--c:#3987e5}
.stakeholder-grid article[data-role="oem"]{--c:#8a7fe0}
.stakeholder-grid article[data-role="ins"]{--c:#19a878}
.stakeholder-grid span{font-size:11px;font-weight:700;letter-spacing:.16em;color:var(--c)}
.stakeholder-grid h3{font-size:19px;line-height:1.4;margin-top:26px}
.stakeholder-grid article:before{content:"";position:absolute;left:0;top:0;height:2px;width:100%;
  background:linear-gradient(90deg,var(--c),transparent);opacity:.4;transition:opacity .28s}
.stakeholder-grid article:hover{background:#0a1318;transform:translateY(-2px)}
.stakeholder-grid article:hover:before{opacity:1}

/* --- evidence: colour climbs the tree, ending in verified green ---------- */
.data-block{--c:#54e5e8}
.data-block:nth-child(2){--c:#43a9e8}
.data-block:nth-child(3){--c:#3987e5}
.data-block:nth-child(4){--c:#8a7fe0}
.data-block.is-sealed{border-color:color-mix(in srgb,var(--c) 52%,#17303a);
  background:color-mix(in srgb,var(--c) 7%,#060e13);
  box-shadow:0 0 0 1px color-mix(in srgb,var(--c) 20%,transparent),0 8px 22px rgba(0,0,0,.55)}
.data-block.is-sealed em{color:var(--c)}
.hash-node{--c:#43a9e8}
.hash-node:nth-child(2){--c:#8a7fe0}
.hash-node.is-sealed{border-color:color-mix(in srgb,var(--c) 52%,#17303a);
  background:color-mix(in srgb,var(--c) 7%,#060e13);
  box-shadow:0 0 0 1px color-mix(in srgb,var(--c) 22%,transparent)}
.hash-node.is-sealed em{color:var(--c)}
.hash-arrows i.run:after{background:linear-gradient(180deg,transparent,#54e5e8)}
.hash-arrows[data-level="2"] i.run:after{background:linear-gradient(180deg,transparent,#19a878)}
.root-node.is-sealed{border-color:#2f9d7c;
  box-shadow:0 0 0 1px rgba(25,168,120,.22),0 0 52px rgba(25,168,120,.2)}
.root-node.is-sealed code{color:#eafff6}

/* --- passport container switcher ----------------------------------------- */
.pp-picker{display:flex;align-items:center;gap:5px;margin:18px 0 2px;position:relative;z-index:1}
.pp-picker button{cursor:pointer;background:#081016;border:1px solid #1d3a44;border-radius:8px;
  color:#849aa4;font:600 10px/1 ui-monospace,Menlo,monospace;letter-spacing:.08em;padding:8px 11px;
  transition:.18s}
.pp-picker button:hover{color:var(--text);border-color:#2f6a74;background:#0c1a21}
.pp-picker button[aria-selected="true"]{color:#041416;background:var(--cyan);border-color:var(--cyan)}
.pp-hint{margin-left:6px;font-size:9.5px;color:#5b7079;letter-spacing:.03em}
.passport-card.is-swapping .passport-data dd,
.passport-card.is-swapping .passport-id,
.passport-card.is-swapping .passport-head strong{animation:ppSwap .26s ease}
@keyframes ppSwap{0%{opacity:.25;transform:translateY(-3px)}100%{opacity:1;transform:none}}
.passport-data dd.watch{color:var(--amber)!important}
.passport-data dd.verified{color:var(--green)!important}

/* --- AI summary: readable, not a footnote -------------------------------- */
.replay-insight{padding:22px 22px 24px}
.replay-insight span{font-size:10px;letter-spacing:.16em;font-weight:700}
.replay-insight p{font-size:14.5px;line-height:1.7;color:#c6d3d8;margin-top:11px}

/* the table toggle reads as an affordance, not as decoration */
.table-toggle{display:inline-flex;align-items:center;gap:7px;cursor:pointer}
.table-toggle .tt-chev{transition:transform .25s cubic-bezier(.2,.8,.25,1);opacity:.7}
.table-toggle[aria-expanded="true"] .tt-chev{transform:rotate(180deg);opacity:1}
.table-toggle[aria-expanded="true"]{color:var(--text);border-color:#2f5d67;background:#0b161c}
.table-toggle.is-pinned{border-color:var(--cyan);color:var(--cyan)}
.table-toggle:focus-visible{outline:none;border-color:var(--cyan);
  box-shadow:0 0 0 3px rgba(84,229,232,.16)}
/* let the tall plot absorb the card's spare height instead of leaving a void */
.warranty-visual .plot-tall{max-height:560px}
.warranty-visual .warranty-callout{margin-top:16px}

/* --- overall type scale: one notch up across the page -------------------- */
body{font-size:16px}
.signal-strip div{padding:14px 30px;font-size:10.5px}
.signal-strip b{font-size:12px;margin-left:10px}
.section-lead{font-size:19px}
.capability-card p{font-size:14px;line-height:1.75}
.capability-card h3{font-size:24px}
.solution-list li{font-size:13.5px;line-height:1.7}
.solution-card h3{font-size:21px}
.compliance-list b{font-size:14.5px}
.compliance-list span{font-size:13.5px}
.glossary-item p{font-size:13.5px}
.glossary-item span{font-size:13.5px}
.about-copy p{font-size:16.5px}
.about-facts b{font-size:14px}
.about-facts span{font-size:12px}
.lifecycle-step b{font-size:14.5px}
.lifecycle-step small{font-size:12px}
.chain-step b{font-size:16px}
.chain-step small{font-size:12.5px}
.ranked-table{font-size:13.5px}
.ranked-table th{font-size:10px}
.viz-note{font-size:12.5px;max-width:70ch}
.metric-card span{font-size:10px}
.metric-card small{font-size:10px}
.hero-proof strong{font-size:13.5px}
.hero-proof span{font-size:12px}
.cta-card-copy strong{font-size:15px}
.cta-card-copy small{font-size:14px}
.footer-col>a{font-size:14.5px}
.footer-about p{font-size:14.5px}
.sm figcaption{font-size:12px}
.sm figcaption b{font-size:12px}
.sm figcaption small{font-size:11px}
.cap-viz figcaption b{font-size:11px}
.cap-viz figcaption span{font-size:11px}
.dual-card h3{font-size:20px}
.stakeholder-grid h3{font-size:20px}

/* ==========================================================================
   AI POST-PROCESSING CONSOLE
   Built as a conversation, because that is how the question actually gets
   asked. The chart arrives inside the thread as evidence for the answer
   directly above it, never as decoration beside it.
   ========================================================================== */
.ai-section{border-top:1px solid #101e25}
.ai-console{margin-top:52px;border:1px solid #1b3039;border-radius:20px;overflow:hidden;
  background:linear-gradient(180deg,#08131a,#050c10);box-shadow:0 30px 70px rgba(0,0,0,.4)}

.ai-head{display:flex;align-items:center;gap:14px;padding:18px 22px;border-bottom:1px solid #14242c;
  background:#0a151b}
.ai-avatar{width:42px;height:42px;flex:none;border-radius:50%;display:grid;place-items:center;
  font:700 13px/1 Inter,system-ui,sans-serif;letter-spacing:.04em;color:#04171a;
  background:linear-gradient(150deg,#7fe9ec,#3f8fd8)}
.ai-id{display:flex;flex-direction:column;gap:4px;margin-right:auto}
.ai-id b{font-size:15.5px;font-weight:600;letter-spacing:-.01em}
.ai-id small{display:flex;align-items:center;gap:8px;font-size:12.5px;color:#7d919b}
.ai-online{width:7px;height:7px;border-radius:50%;background:var(--green);
  box-shadow:0 0 10px rgba(12,163,12,.7);animation:pulse 2.4s infinite}
.ai-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 15px;border-radius:20px;
  border:1px solid #2b6871;background:rgba(84,229,232,.07);color:var(--cyan);
  font:700 12px/1 Inter,system-ui,sans-serif;letter-spacing:.09em}
.ai-badge i{width:6px;height:6px;border-radius:50%;background:var(--cyan);
  box-shadow:0 0 9px rgba(84,229,232,.8)}

.ai-body{min-height:330px;max-height:520px;overflow-y:auto;padding:24px 22px;
  display:flex;flex-direction:column;gap:14px;scrollbar-width:thin;scrollbar-color:#1e3a44 transparent}
.ai-body::-webkit-scrollbar{width:6px}
.ai-body::-webkit-scrollbar-thumb{background:#1e3a44;border-radius:6px}

.bubble{max-width:78%;padding:15px 18px;border-radius:16px;font-size:14.5px;line-height:1.7;
  animation:bubbleIn .3s cubic-bezier(.2,.8,.25,1)}
.bubble-user{align-self:flex-end;background:#16232b;color:#dbe6ea;border-radius:16px 16px 4px 16px;
  font-weight:500}
.bubble-ai{align-self:flex-start;background:rgba(11,29,36,.9);border:1px solid #24505c;color:#a6b8c0;
  border-radius:16px 16px 16px 4px}
.bubble-ai b{color:#eaf6f8;font-weight:600}
@keyframes bubbleIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.ai-typing{display:inline-flex;gap:4px;align-items:center;height:14px}
.ai-typing i{width:5px;height:5px;border-radius:50%;background:var(--cyan);opacity:.35;
  animation:aiDot 1s ease-in-out infinite}
.ai-typing i:nth-child(2){animation-delay:.16s}
.ai-typing i:nth-child(3){animation-delay:.32s}
@keyframes aiDot{0%,100%{opacity:.25;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}

.ai-card{align-self:flex-start;width:min(100%,600px);margin:2px 0 0;padding:16px 18px 14px;
  border:1px solid #1b333d;border-radius:14px;background:#060e13;
  animation:bubbleIn .34s cubic-bezier(.2,.8,.25,1)}
.ai-card figcaption{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}
.ai-card figcaption b{font:600 11.5px/1 ui-monospace,Menlo,monospace;letter-spacing:.08em;color:var(--cyan)}
.ai-card figcaption span{font-size:11.5px;color:#6f838d}
.ai-card-plot{height:176px}
.ai-card canvas{width:100%;height:100%;display:block}

.ai-foot{border-top:1px solid #14242c;background:#081218;padding:16px 22px 18px;display:grid;gap:12px}
.ai-questions{display:flex;flex-wrap:wrap;gap:8px}
.ai-chip{cursor:pointer;border:1px solid #1e3a44;background:#0a151b;border-radius:20px;
  color:#8ea0a9;font:500 12.5px/1 Inter,system-ui,sans-serif;padding:10px 15px;transition:.2s;
  white-space:nowrap}
.ai-chip:hover{color:var(--text);border-color:#2f6a74;background:#0e1c23}
.ai-chip.is-on{color:#041416;background:var(--cyan);border-color:var(--cyan);font-weight:600}
.ai-input{display:flex;align-items:center;gap:10px;border:1px solid #1d323c;border-radius:12px;
  background:#060d12;padding:4px 6px 4px 14px}
.ai-input:focus-within{border-color:#2f5d67;box-shadow:0 0 0 3px rgba(84,229,232,.08)}
.ai-plus{color:#5b7079;font-size:17px;line-height:1;user-select:none}
.ai-input input{flex:1;min-width:0;background:none;border:0;color:var(--text);
  font:400 14px/1 Inter,system-ui,sans-serif;padding:13px 0}
.ai-input input:focus{outline:none}
.ai-input input::placeholder{color:#4d616b}
.ai-input button{flex:none;width:38px;height:38px;border-radius:9px;cursor:pointer;border:1px solid #1e4650;
  background:rgba(84,229,232,.08);color:var(--cyan);display:grid;place-items:center;transition:.2s}
.ai-input button:hover{background:rgba(84,229,232,.18);border-color:var(--cyan)}
.ai-note{margin:0;font-size:11.5px;line-height:1.6;color:#5f737c}

@media(max-width:720px){
  .bubble{max-width:92%;font-size:13.5px}
  .ai-body{padding:18px 14px;max-height:none}
  .ai-foot{padding:14px}
  .ai-questions{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}
}
@media(prefers-reduced-motion:reduce){.bubble,.ai-card{animation:none}.ai-typing i,.ai-online{animation:none}}

/* ==========================================================================
   MOBILE APP
   ========================================================================== */
.mobile-section{border-top:1px solid #101e25}
.mobile-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center}
.mobile-copy h2{max-width:14ch}
.mobile-list{list-style:none;margin:34px 0 0;padding:0}
.mobile-list li{display:grid;gap:5px;padding:16px 0;border-top:1px solid #122129}
.mobile-list b{font-size:14.5px;font-weight:600}
.mobile-list span{font-size:13.5px;line-height:1.65;color:#7f929b}

.phone-wrap{display:grid;place-items:center;perspective:1400px}
.phone{position:relative;width:330px;border-radius:42px;padding:12px;
  background:linear-gradient(160deg,#1a2a32,#0a1217);
  border:1px solid #24404b;box-shadow:0 40px 90px rgba(0,0,0,.6),inset 0 1px rgba(255,255,255,.05);
  transform:rotateY(-8deg) rotateX(3deg);transition:transform .6s cubic-bezier(.2,.8,.25,1)}
.phone-wrap:hover .phone{transform:rotateY(0) rotateX(0)}
.phone-notch{position:absolute;top:12px;left:50%;transform:translateX(-50%);width:110px;height:22px;
  background:#080f14;border-radius:0 0 14px 14px;z-index:2}
.phone-screen{background:#05090c;border-radius:32px;padding:34px 12px 16px;display:grid;gap:9px;
  min-height:620px;overflow:hidden}
.app-bar{display:flex;align-items:center;gap:9px;padding:2px 4px 6px}
.app-bar span{font-size:12.5px;font-weight:600;letter-spacing:-.01em}
.app-bar b{margin-left:auto;font:500 11px/1 ui-monospace,Menlo,monospace;color:#7d919b}
.app-card{border:1px solid #16272f;background:#070f14;border-radius:14px;padding:12px}
.app-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:9px}
.app-card-head span{font:700 8.5px/1 Inter,system-ui,sans-serif;letter-spacing:.14em;color:#69808a}
.app-card-head em{font-style:normal;font-size:9px;color:#4f636c}
.app-plot{height:92px}
.app-plot canvas{width:100%;height:100%;display:block}
.app-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:10px}
.app-tiles div{border:1px solid #16272f;border-radius:9px;padding:8px 6px;display:grid;gap:4px;text-align:center}
.app-tiles span{font-size:7.5px;letter-spacing:.1em;color:#5f747e}
.app-tiles b{font:700 12px/1 ui-monospace,Menlo,monospace}
.t-a{color:#19a878}.t-b{color:#d9743a}.t-c{color:#8a7fe0}.t-d{color:#43a9e8}
.app-pipe{display:flex;align-items:center;gap:7px}
.app-pipe code{flex:1;font:400 8px/1.5 ui-monospace,Menlo,monospace;color:#677d87;
  border:1px solid #16272f;border-radius:8px;padding:8px 7px}
.app-pipe code.ok{color:#9fe6c9}
.app-pipe i{font-style:normal;color:#3d6d78;font-size:12px}
.app-pipe em{font-style:normal;font:700 9px/1 ui-monospace,Menlo,monospace;color:var(--cyan);
  border:1px solid #2b6871;border-radius:8px;padding:9px 6px}
.app-chat .ai-badge{padding:5px 9px;font-size:8.5px;gap:5px;border-radius:14px}
.app-chat .ai-badge i{width:4px;height:4px}
.bubble-user,.app-chat .bubble{font-size:11.5px;line-height:1.6}
.app-chat .bubble{max-width:86%;padding:9px 11px;border-radius:12px;margin-top:7px;animation:none}
.app-chat .bubble-user{margin-left:auto;border-radius:12px 12px 3px 12px}
.app-chat .bubble-ai{border-radius:12px 12px 12px 3px}

@media(max-width:1050px){
  .mobile-layout{grid-template-columns:1fr;gap:46px}
  .phone{transform:none}
}

/* --- severity pills + rule builder --------------------------------------- */
.sev-pills{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}
.sev{display:inline-flex;align-items:center;gap:9px;padding:9px 16px;border-radius:20px;
  font:600 13px/1 Inter,system-ui,sans-serif}
.sev i{width:7px;height:7px;border-radius:50%}
.sev-critical{color:#e88a8a;border:1px solid rgba(208,59,59,.42);background:rgba(208,59,59,.09)}
.sev-critical i{background:#d03b3b}
.sev-warning{color:#e0bd76;border:1px solid rgba(250,178,25,.4);background:rgba(250,178,25,.08)}
.sev-warning i{background:#fab219}
.sev-info{color:#8db6e8;border:1px solid rgba(57,135,229,.4);background:rgba(57,135,229,.08)}
.sev-info i{background:#3987e5}

.rule-builder{margin-top:30px;border:1px solid #172a33;border-radius:16px;background:#071015;padding:20px}
.rule-head{display:flex;align-items:center;gap:10px;color:#8a9ba4;
  font:700 11px/1 Inter,system-ui,sans-serif;letter-spacing:.16em;margin-bottom:14px}
.rule-head svg{color:#8a7fe0}
.rule{display:flex;align-items:center;gap:12px;border:1px solid #16262e;border-radius:10px;
  background:#060e13;padding:11px 13px;margin-bottom:8px;transition:.22s}
.rule:hover{border-color:#2b4a58;background:#0a161c;transform:translateX(2px)}
.rule b{flex:none;font:700 9.5px/1 ui-monospace,Menlo,monospace;letter-spacing:.09em;color:#8a7fe0;
  border:1px solid rgba(138,127,224,.4);border-radius:6px;padding:6px 8px;background:rgba(138,127,224,.08)}
.rule code{font:400 11.5px/1.5 ui-monospace,Menlo,monospace;color:#8ba0aa}
.rule-foot{margin:12px 0 0;font-size:11.5px;color:#5f737c}
.rule-foot:before{content:"→ ";color:#8a7fe0}

/* --- push notifications over the app screen ------------------------------ */
.app-notes{display:grid;gap:8px;margin-top:2px}
.note{border-radius:12px;padding:11px 12px;display:grid;gap:4px;border:1px solid transparent;
  animation:noteIn .5s cubic-bezier(.2,.8,.25,1) backwards}
.note:nth-child(1){animation-delay:.2s}
.note:nth-child(2){animation-delay:.35s}
.note:nth-child(3){animation-delay:.5s}
@keyframes noteIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.note-top{display:flex;align-items:center;gap:7px}
.note-top i{width:15px;height:15px;border-radius:4px;display:grid;place-items:center;flex:none;
  font-style:normal;font-size:9px;font-weight:700}
.note-top span{font:700 8px/1 Inter,system-ui,sans-serif;letter-spacing:.12em;color:#8ea0a9}
.note-top em{margin-left:auto;font-style:normal;font-size:8px;color:#5f747e}
.note b{font-size:11.5px;font-weight:600;color:#e4eef1}
.note small{font-size:10px;color:#8496a0;line-height:1.45}
.note-warning{background:rgba(250,178,25,.07);border-color:rgba(250,178,25,.3)}
.note-warning .note-top i{background:rgba(250,178,25,.18);color:#fab219}
.note-info{background:rgba(57,135,229,.07);border-color:rgba(57,135,229,.28)}
.note-info .note-top i{background:rgba(57,135,229,.18);color:#6ea9ee}
.note-good{background:rgba(25,168,120,.07);border-color:rgba(25,168,120,.28)}
.note-good .note-top i{background:rgba(25,168,120,.18);color:#3fc79a}
.phone-screen{min-height:0}
@media(prefers-reduced-motion:reduce){.note{animation:none}}

/* ==========================================================================
   COOKIE CONSENT + DATA PROTECTION
   ========================================================================== */
.cookie-bar[hidden]{display:none}
.cookie-bar{position:fixed;left:0;right:0;bottom:0;z-index:150;padding:16px;
  transform:translateY(110%);transition:transform .34s cubic-bezier(.2,.8,.25,1)}
.cookie-bar.is-in{transform:none}
.cookie-inner{max-width:var(--max);margin:0 auto;display:flex;align-items:center;gap:28px;
  border:1px solid #24404b;border-radius:16px;padding:20px 24px;
  background:linear-gradient(165deg,rgba(11,23,30,.98),rgba(5,11,15,.98));
  backdrop-filter:blur(10px);box-shadow:0 30px 70px rgba(0,0,0,.6)}
.cookie-copy{flex:1;min-width:0}
.cookie-copy b{display:block;font-size:14px;font-weight:600;margin-bottom:6px}
.cookie-copy p{margin:0;font-size:12.5px;line-height:1.7;color:#8496a0;max-width:96ch}
.cookie-copy a{color:var(--cyan);text-decoration:underline;text-underline-offset:2px}
.cookie-actions{display:flex;gap:10px;flex:none}
.cookie-actions .button{cursor:pointer;white-space:nowrap}

.footer-privacy{max-width:var(--max);margin:0 auto;padding:0 28px 26px}
.footer-privacy b{display:block;font-size:11.5px;letter-spacing:.16em;font-weight:700;color:#8794a0;
  margin-bottom:8px}
.footer-privacy p{margin:0;font-size:12px;line-height:1.75;color:#697c85;max-width:110ch}
.footer-privacy a{color:#93a5ad;text-decoration:underline;text-underline-offset:2px}
.footer-bar a{color:#7b8f98;text-decoration:underline;text-underline-offset:2px}
.footer-bar a:hover{color:var(--text)}

@media(max-width:900px){
  .cookie-inner{flex-direction:column;align-items:stretch;gap:16px}
  .cookie-actions{flex-direction:column}
  .footer-privacy{padding:0 18px 22px}
}
@media(prefers-reduced-motion:reduce){.cookie-bar{transition:none}}
/* the assistant badge inside the phone needs to fit its narrower row */
.app-chat .ai-badge{font-size:7.5px;letter-spacing:.08em;padding:5px 8px}
.app-card-head em{white-space:nowrap}

/* ==========================================================================
   SoH SINCE COMMISSIONING
   ========================================================================== */
.soh-panel{margin-top:14px;border:1px solid #172a33;border-radius:16px;background:#071015;padding:22px 24px 24px}
.soh-panel .plot-tall{height:380px}
.soh-readout{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;margin-top:16px;
  border-top:1px solid #14242c;padding-top:16px}
.soh-readout div{display:flex;flex-direction:column;gap:6px}
.soh-readout span{font-size:10.5px;letter-spacing:.06em;color:#68808b}
.soh-readout b{font-size:17px;font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.soh-readout b.is-good{color:var(--green)}
@media(max-width:900px){.soh-readout{grid-template-columns:1fr 1fr}}

/* ==========================================================================
   SITE YARD - top-down container plan
   ========================================================================== */
.yard-section{border-top:1px solid #101e25}
.yard-legend{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:44px}
.sev-ok{color:#63c9a4;border:1px solid rgba(25,168,120,.4);background:rgba(25,168,120,.08)}
.sev-ok i{background:#19a878}
.yard-note{margin-left:auto;font-size:11.5px;color:#5f737c}

.yard{display:grid;gap:14px;margin-top:20px}
.yard-site{border:1px solid #172a33;border-radius:16px;background:#071015;padding:18px 20px 20px;
  position:relative;overflow:visible}
.yard-site:before{content:"";position:absolute;left:0;top:0;height:2px;width:100%;border-radius:16px 16px 0 0}
.yard-site.sev-critical:before{background:linear-gradient(90deg,#d03b3b,transparent)}
.yard-site.sev-warning:before{background:linear-gradient(90deg,#fab219,transparent)}
.yard-site.sev-ok:before{background:linear-gradient(90deg,#19a878,transparent)}
.yard-site-head{display:flex;align-items:baseline;gap:14px;margin-bottom:16px}
.yard-site-head b{font-size:15px;font-weight:600}
.yard-site-head span{font-size:11.5px;color:#68808b}
.yard-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}

/* a container seen from above: corrugated shell, roof HVAC, rack strip, door */
.cont{position:relative;outline:none;transition:transform .25s cubic-bezier(.2,.8,.25,1)}
.cont:hover,.cont:focus-visible{transform:translateY(-3px);z-index:6}
.cont-body{position:relative;height:104px;border-radius:8px;overflow:hidden;
  border:1.5px solid #22333c;
  background:
    repeating-linear-gradient(90deg,rgba(255,255,255,.022) 0 2px,transparent 2px 7px),
    linear-gradient(180deg,#101c23,#0a141a);
  transition:border-color .3s,box-shadow .3s}
.cont-hvac{position:absolute;top:7px;left:9px;display:flex;gap:6px;z-index:2}
.cont-hvac i{width:22px;height:15px;border-radius:3px;background:#1b2c35;border:1px solid #2a3d47;
  box-shadow:inset 0 1px rgba(255,255,255,.06)}
.cont-racks{position:absolute;left:9px;right:20px;bottom:9px;height:52px;display:flex;gap:2px;align-items:flex-end}
.cont-racks i{flex:1;height:100%;border-radius:1.5px;opacity:.88;
  transition:opacity .3s,transform .3s}
.cont-racks i.is-hot{box-shadow:0 0 0 1px rgba(255,255,255,.5),0 0 10px rgba(255,255,255,.18);
  transform:scaleY(1.06);opacity:1}
.cont:hover .cont-racks i{opacity:1}
.cont-door{position:absolute;right:6px;top:8px;bottom:8px;width:8px;border-radius:2px;
  background:repeating-linear-gradient(180deg,#1d2f38 0 3px,#16252c 3px 6px);border:1px solid #24363f}

.cont-foot{display:grid;grid-template-columns:auto repeat(3,1fr);gap:10px;align-items:baseline;
  margin-top:9px;padding:0 2px}
.cont-foot b{font:600 12.5px/1 ui-monospace,Menlo,monospace;letter-spacing:.04em}
.cont-kpi{display:flex;flex-direction:column;gap:3px;text-align:right;
  font:600 12.5px/1 ui-monospace,Menlo,monospace;color:#c0cdd3;font-variant-numeric:tabular-nums}
.cont-kpi em{font-style:normal;font:400 8.5px/1 Inter,system-ui,sans-serif;letter-spacing:.09em;color:#5f747e}

.cont.sev-ok .cont-body{border-color:rgba(25,168,120,.4)}
.cont.sev-warning .cont-body{border-color:rgba(250,178,25,.62);
  box-shadow:0 0 0 1px rgba(250,178,25,.16),0 0 26px rgba(250,178,25,.12)}
.cont.sev-critical .cont-body{border-color:rgba(208,59,59,.68);
  box-shadow:0 0 0 1px rgba(208,59,59,.18),0 0 26px rgba(208,59,59,.14)}
.cont.sev-warning .cont-foot b,.cont.sev-warning .cont-dt{color:#e0bd76}
.cont.sev-critical .cont-foot b,.cont.sev-critical .cont-dt{color:#e88a8a}
.cont.is-focus .cont-body:after{content:"";position:absolute;inset:0;border-radius:7px;
  border:1px dashed rgba(84,229,232,.45);pointer-events:none}

.cont-flag{position:absolute;top:-9px;left:10px;z-index:3;padding:4px 8px;border-radius:5px;
  font:700 8px/1 Inter,system-ui,sans-serif;letter-spacing:.12em}
.sev-warning .cont-flag{background:#3a2c10;color:#fab219;border:1px solid rgba(250,178,25,.5)}
.sev-critical .cont-flag{background:#3a1414;color:#ef7a7a;border:1px solid rgba(208,59,59,.5);
  animation:flagPulse 2s ease-in-out infinite}
@keyframes flagPulse{0%,100%{opacity:1}50%{opacity:.45}}

.cont-pop{position:absolute;left:50%;bottom:calc(100% + 14px);transform:translate(-50%,6px);
  width:260px;padding:12px 14px;border-radius:11px;border:1px solid #2a4854;background:#0b171e;
  box-shadow:0 18px 40px rgba(0,0,0,.65);opacity:0;pointer-events:none;z-index:10;
  transition:opacity .22s,transform .22s}
.cont:hover .cont-pop,.cont:focus-visible .cont-pop{opacity:1;transform:translate(-50%,0)}
.cont-pop b{display:block;font-size:12.5px;font-weight:600;margin-bottom:5px}
.cont-pop span{font-size:11.5px;line-height:1.6;color:#8b9da4}

.yard-site-head em{margin-left:auto;font-style:normal;font:600 10.5px/1 Inter,system-ui,sans-serif;
  letter-spacing:.06em;padding:7px 11px;border-radius:20px}
.yard-open.sev-ok{color:#63c9a4;border:1px solid rgba(25,168,120,.34);background:rgba(25,168,120,.07)}
.yard-open.sev-warning{color:#e0bd76;border:1px solid rgba(250,178,25,.34);background:rgba(250,178,25,.07)}
.yard-open.sev-critical{color:#e88a8a;border:1px solid rgba(208,59,59,.34);background:rgba(208,59,59,.07)}
.yard-site-head{align-items:center}

@media(max-width:900px){.yard-row{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.yard-row{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.sev-critical .cont-flag{animation:none}}

/* --- solution modules: enough detail to choose one ------------------------ */
.solution-card{padding:24px 24px 22px;display:flex;flex-direction:column}
.mod-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.mod-tag{font:600 9px/1 Inter,system-ui,sans-serif;letter-spacing:.11em;padding:6px 9px;border-radius:20px;
  border:1px solid #24363f;color:#7d919b;white-space:nowrap}
.mod-base{color:var(--cyan);border-color:#2b6871;background:rgba(84,229,232,.07)}
.mod-standalone{color:#63c9a4;border-color:rgba(25,168,120,.42);background:rgba(25,168,120,.07)}
.mod-addon{color:#a79ce8;border-color:rgba(138,127,224,.42);background:rgba(138,127,224,.07)}
.solution-card h3{margin:16px 0 10px}
.mod-q{margin:0 0 18px;font-size:14px;line-height:1.65;color:#c2d0d6;font-weight:500;
  padding-left:13px;border-left:2px solid var(--c)}
.mod-block{margin-bottom:16px}
.mod-h{display:block;font:700 9.5px/1 Inter,system-ui,sans-serif;letter-spacing:.14em;color:#68808b;
  margin-bottom:10px}
.mod-list{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.mod-list li{position:relative;padding-left:20px;font-size:13px;line-height:1.65;color:#8ea0a9}
.mod-needs li:before{content:"";position:absolute;left:3px;top:8px;width:5px;height:5px;border-radius:50%;
  border:1.5px solid #52676f}
.mod-gets li:before{content:"";position:absolute;left:2px;top:6px;width:9px;height:5px;
  border-left:1.6px solid var(--c);border-bottom:1.6px solid var(--c);transform:rotate(-45deg)}
.mod-who{margin-top:auto;padding-top:14px;border-top:1px solid #142229;display:flex;flex-direction:column;gap:5px}
.mod-who span{font-size:10px;letter-spacing:.12em;color:#68808b;text-transform:uppercase}
.mod-who b{font-size:13px;font-weight:600;color:#b7c5cb}
.solution-foot{margin:22px 0 0;font-size:13.5px;line-height:1.75;color:#7f929b;max-width:98ch}

/* --- e-bus depot ---------------------------------------------------------- */
.fleet-panel{margin-top:14px;border:1px solid #172a33;border-radius:16px;background:#071015;padding:22px 24px 24px}
.fleet-strip{display:grid;grid-template-columns:repeat(8,1fr);gap:10px;margin-top:18px}
.bus{border:1px solid #16262e;border-radius:11px;background:#060e13;padding:12px 12px 13px;display:grid;gap:9px;
  outline:none;transition:.22s}
.bus:hover,.bus:focus-visible{transform:translateY(-2px);border-color:#2b4a58;background:#0a161c}
.bus-top{display:flex;align-items:baseline;justify-content:space-between;gap:6px}
.bus-top b{font:600 12px/1 ui-monospace,Menlo,monospace}
.bus-top span{font-size:10px;color:#63787f}
.bus-bar{height:7px;border-radius:5px;background:#111e25;overflow:hidden}
.bus-bar i{display:block;height:100%;border-radius:5px;background:#19a878;transition:width .8s cubic-bezier(.2,.8,.25,1)}
.bus.sev-warning .bus-bar i{background:var(--amber)}
.bus-foot{display:flex;flex-direction:column;gap:3px}
.bus-foot em{font-style:normal;font:600 13px/1 ui-monospace,Menlo,monospace}
.bus.sev-warning .bus-foot em{color:var(--amber)}
.bus-foot span{font-size:9.5px;color:#5f747e;line-height:1.4}
.bus-why{color:#c2a05e!important}
.fleet-plot{margin-top:20px}
.fleet-panel .plot-tall{height:320px}
@media(max-width:1050px){.fleet-strip{grid-template-columns:repeat(4,1fr)}}
@media(max-width:600px){.fleet-strip{grid-template-columns:1fr 1fr}}

/* ==========================================================================
   INGEST FLOW + INTERFACE EFFICIENCY
   ========================================================================== */
.ingest-section{border-top:1px solid #101e25}
.ingest-flow{display:grid;grid-template-columns:1.15fr .14fr 1.05fr .14fr .9fr;gap:16px;
  align-items:stretch;margin-top:52px}
.ingest-col{display:flex;flex-direction:column;gap:10px}
.ingest-h{font:700 9.5px/1 Inter,system-ui,sans-serif;letter-spacing:.16em;color:#68808b;margin-bottom:2px}
.ipath{border:1px solid #1b333d;border-radius:14px;background:#060e13;padding:18px 18px 20px;
  display:grid;gap:7px;flex:1;transition:.25s;position:relative;overflow:hidden}
.ipath:before{content:"";position:absolute;left:0;top:0;height:2px;width:100%}
.ipath-a{--c:#3987e5}.ipath-b{--c:#54e5e8}
.ipath:before{background:linear-gradient(90deg,var(--c),transparent);opacity:.6}
.ipath:hover{border-color:color-mix(in srgb,var(--c) 44%,#1b333d);background:#0a161c;transform:translateY(-2px)}
.ipath-tag{font:700 9px/1 Inter,system-ui,sans-serif;letter-spacing:.14em;color:var(--c)}
.ipath b{font-size:15.5px;font-weight:600}
.ipath small{font-size:12.5px;line-height:1.65;color:#7f929b}

.ingest-arrow{display:grid;place-items:center}
.ingest-arrow .wire{width:100%}
.ispark{animation:sparkRun 1.5s cubic-bezier(.4,0,.5,1) infinite}
.ispark-b{animation-delay:.55s}

.icloud{display:grid;gap:8px;flex:1;border:1px solid #244854;border-radius:14px;padding:14px;
  background:linear-gradient(165deg,rgba(11,25,32,.92),rgba(5,11,15,.9))}
.icloud-step{border:1px solid #16272f;border-radius:10px;background:#060e13;padding:11px 12px;display:grid;gap:3px}
.icloud-step b{font-size:12.5px;font-weight:600}
.icloud-step small{font-size:11px;line-height:1.5;color:#75888f}
.iout{border:1px solid #16272f;border-radius:11px;background:#060e13;padding:12px 13px;display:grid;gap:3px;
  flex:1;transition:.22s}
.iout:hover{border-color:#2b4a58;background:#0a161c}
.iout b{font-size:13px;font-weight:600}
.iout small{font-size:11px;color:#75888f}

.ux-panel{margin-top:16px;border:1px solid #172a33;border-radius:16px;background:#071015;padding:22px 24px 24px}
.ux-q{margin:16px 0 18px;font-size:15px;color:#8ea0a9}
.ux-q b{color:var(--text);font-weight:600}
.ux-rows{display:grid;gap:12px}
.ux-row{display:grid;grid-template-columns:200px 1fr 150px;gap:18px;align-items:center;
  border:1px solid #16262e;border-radius:13px;background:#060e13;padding:16px 18px}
.ux-label b{display:block;font-size:13.5px;font-weight:600}
.ux-label span{font-size:11.5px;color:#68808b}
.ux-steps{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;counter-reset:ux}
.ux-steps li{counter-increment:ux;position:relative;padding:9px 12px 9px 28px;border-radius:8px;
  font-size:12px;line-height:1.3;border:1px solid #1b2c34;background:#0a141a;color:#8ea0a9}
.ux-steps li:before{content:counter(ux);position:absolute;left:8px;top:50%;transform:translateY(-50%);
  width:15px;height:15px;border-radius:4px;display:grid;place-items:center;
  font:700 9px/1 ui-monospace,Menlo,monospace}
.ux-before li:before{background:rgba(208,59,59,.16);color:#e88a8a}
.ux-after li{border-color:rgba(25,168,120,.32);background:rgba(25,168,120,.05);color:#b5c6cb}
.ux-after li:before{background:rgba(25,168,120,.2);color:#3fc79a}
.ux-count{text-align:right;display:grid;gap:4px}
.ux-count b{font-size:30px;font-weight:600;letter-spacing:-.03em;line-height:1}
.ux-count span{font-size:11px;color:#68808b}
.ux-count.is-good b{color:var(--green)}
.ux-panel .viz-note{margin-top:16px}

@media(max-width:1050px){
  .ingest-flow{grid-template-columns:1fr}
  .ingest-arrow{transform:rotate(90deg);height:30px}
  .ingest-arrow .wire{width:30px}
  .ux-row{grid-template-columns:1fr;gap:12px}
  .ux-count{text-align:left}
}
@media(prefers-reduced-motion:reduce){.ispark{animation:none;opacity:0}}

/* --- rack status rings: magnitude stays blue, state is a ring plus a label */
.rack-pills{display:flex;gap:7px;align-items:center}
.pill-fault{font-size:10px;letter-spacing:.09em;color:#ef7a7a;border:1px solid rgba(208,59,59,.5);
  background:rgba(208,59,59,.1);border-radius:20px;padding:5px 10px;white-space:nowrap}
.rack-grid.is-in .rack-watch{box-shadow:0 0 0 1.6px var(--amber),0 0 12px rgba(250,178,25,.4);z-index:2}
.rack-grid.is-in .rack-fault{box-shadow:0 0 0 1.6px #d03b3b,0 0 12px rgba(208,59,59,.45);z-index:2;
  animation:rackFault 2.2s ease-in-out infinite}
@keyframes rackFault{0%,100%{box-shadow:0 0 0 1.6px #d03b3b,0 0 12px rgba(208,59,59,.45)}
  50%{box-shadow:0 0 0 1.6px #e86a6a,0 0 18px rgba(208,59,59,.75)}}
.scale-sep{width:1px;height:12px;background:#24363f;margin:0 6px}
.scale-state{display:inline-flex;align-items:center;gap:6px;font-size:10px;color:var(--viz-muted)}
.scale-state i{width:9px;height:9px;border-radius:2px;background:#12222a;display:block}
.ring-fault{box-shadow:0 0 0 1.6px #d03b3b}
.ring-watch{box-shadow:0 0 0 1.6px #fab219}
.insight-meta .is-fault{color:#ef7a7a!important}
@media(prefers-reduced-motion:reduce){.rack-grid.is-in .rack-fault{animation:none}}

/* --- evidence: what each primitive actually proves ------------------------ */
.evidence-copy em{font-style:normal;color:#b9c8ce}
.ev-steps{list-style:none;margin:30px 0 0;padding:0;display:grid;gap:0;counter-reset:ev}
.ev-steps li{display:grid;grid-template-columns:auto 1fr;gap:16px;padding:16px 0;
  border-top:1px solid #122129}
.ev-n{font:700 11px/1 ui-monospace,Menlo,monospace;letter-spacing:.08em;color:var(--cyan);
  padding-top:3px}
.ev-steps b{display:block;font-size:14px;font-weight:600;margin-bottom:5px}
.ev-steps small{display:block;font-size:12.5px;line-height:1.7;color:#7f929b}
.ev-steps small em{color:#a9bcc3;font-style:normal}
.ev-verify{margin-top:22px;border-left:2px solid var(--cyan);padding:2px 0 2px 16px;display:grid;gap:6px}
.ev-verify b{font-size:13.5px;font-weight:600}
.ev-verify span{font-size:12.5px;line-height:1.7;color:#8296a0}
.evidence-tags{margin-top:26px}
.evidence-tags span{font-size:10.5px}
/* links inside the About prose, marked as leaving the page */
.about-link{color:var(--cyan);text-decoration:none;border-bottom:1px solid rgba(84,229,232,.32);
  padding-bottom:1px;transition:.2s}
.about-link svg{margin-left:4px;vertical-align:-1px;opacity:.7;transition:.2s}
.about-link:hover{border-bottom-color:var(--cyan)}
.about-link:hover svg{opacity:1;transform:translate(1px,-1px)}
.about-link b{font-weight:600;color:inherit}

/* --- customer-operated platform ------------------------------------------ */
.self-panel{margin-top:16px;border:1px solid #172a33;border-radius:16px;background:#071015;padding:22px 24px 24px}
.self-pill{color:#63c9a4!important;border-color:rgba(25,168,120,.42)!important;background:rgba(25,168,120,.08)!important}
.self-lead{margin:16px 0 20px;font-size:15px;line-height:1.75;color:#8ea0a9;max-width:92ch}
.self-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.self-card{border:1px solid #16262e;border-radius:13px;background:#060e13;padding:18px 18px 20px;
  display:grid;gap:9px;align-content:start;transition:.24s}
.self-card:hover{border-color:#2b4a58;background:#0a161c;transform:translateY(-2px)}
.self-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;color:var(--cyan);
  background:rgba(84,229,232,.07);border:1px solid #1e4650}
.self-card b{font-size:14px;font-weight:600}
.self-card small{font-size:12.5px;line-height:1.7;color:#7f929b}
@media(max-width:1050px){.self-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.self-grid{grid-template-columns:1fr}}

/* ==========================================================================
   WHY THIS MATTERS - the three questions
   ========================================================================== */
.stakes-section{border-top:1px solid #101e25}
.stakes-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:52px}
.stakes-card{position:relative;overflow:hidden;border:1px solid #172a33;border-radius:16px;
  background:linear-gradient(155deg,rgba(12,21,26,.75),rgba(6,11,14,.4));padding:26px 24px 24px;
  display:flex;flex-direction:column;transition:.28s}
.stakes-card[data-stake="1"]{--c:#3987e5}
.stakes-card[data-stake="2"]{--c:#d9743a}
.stakes-card[data-stake="3"]{--c:#d03b3b}
.stakes-card:before{content:"";position:absolute;left:0;top:0;height:2px;width:100%;
  background:linear-gradient(90deg,var(--c),transparent);opacity:.55;transition:opacity .3s}
.stakes-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--c) 42%,#172a33)}
.stakes-card:hover:before{opacity:1}
.stakes-n{font:700 11px/1 ui-monospace,Menlo,monospace;letter-spacing:.1em;color:var(--c)}
.stakes-card h3{font-size:21px;font-weight:600;line-height:1.3;letter-spacing:-.02em;margin:14px 0 12px}
.stakes-card>p{margin:0 0 20px;font-size:13.5px;line-height:1.7;color:#8296a0}
.stakes-answer{margin-top:auto;border-top:1px solid #16262e;padding-top:16px}
.stakes-h{display:block;font:700 9px/1.4 Inter,system-ui,sans-serif;letter-spacing:.14em;color:#68808b;
  margin-bottom:12px}
.stakes-answer ul{list-style:none;margin:0;padding:0;display:grid;gap:11px}
.stakes-answer li{position:relative;padding-left:18px;font-size:13px;line-height:1.65;color:#8ea0a9}
.stakes-answer li:before{content:"";position:absolute;left:2px;top:8px;width:6px;height:6px;border-radius:50%;
  background:var(--c)}
.stakes-answer b{color:var(--text);font-weight:600}
.ladder{display:grid;gap:8px}
.rung{display:grid;grid-template-columns:1fr auto;gap:4px 12px;align-items:baseline;
  border:1px solid #1b2c34;border-radius:10px;background:#060e13;padding:12px 13px;transition:.24s}
.rung b{font-size:13px;font-weight:600}
.rung span{grid-column:1;font-size:11px;color:#68808b}
.rung em{grid-row:1/3;grid-column:2;align-self:center;font-style:normal;
  font:600 16px/1 ui-monospace,Menlo,monospace;font-variant-numeric:tabular-nums;color:#c2d0d6}
.rung.is-mid{border-color:rgba(250,178,25,.34);background:rgba(250,178,25,.05)}
.rung.is-mid em{color:var(--amber)}
.rung.is-top{border-color:rgba(208,59,59,.4);background:rgba(208,59,59,.06)}
.rung.is-top em{color:#ef7a7a}
.ladder-note{margin:14px 0 0;font-size:12.5px;line-height:1.7;color:#7f929b}
@media(max-width:1050px){.stakes-grid{grid-template-columns:1fr}}

/* --- yard: let the healthy tiles recede so the findings stand out -------- */
.cont.sev-ok .cont-racks i{opacity:.42}
.cont.sev-ok:hover .cont-racks i{opacity:.8}
.cont.sev-ok .cont-body{border-color:#20333c;background:linear-gradient(180deg,#0c161c,#080f14)}
.cont.sev-ok .cont-foot b{color:#7f939c}
.cont.sev-ok .cont-kpi{color:#8b9ba2}
.yard-site-head b{color:var(--text)!important}
.cont-racks i.is-hot{background:#e8e8e8!important}
.cont.sev-critical .cont-racks i.is-hot{background:#e86a6a!important;
  box-shadow:0 0 0 1px rgba(232,106,106,.6),0 0 10px rgba(208,59,59,.5)}
.cont.sev-warning .cont-racks i.is-hot{background:#fab219!important;
  box-shadow:0 0 0 1px rgba(250,178,25,.6),0 0 10px rgba(250,178,25,.45)}
.insight-meta .is-warn{color:var(--amber)!important}
.ladder-caveat{margin-top:10px;padding-top:12px;border-top:1px solid #16262e;color:#6f838d}
.ladder-caveat b{color:#b7c5cb;font-weight:600}
.stakes-caveat{margin:14px 0 0;padding-top:12px;border-top:1px solid #16262e;
  font-size:11.5px;line-height:1.65;color:#667982}
.stakes-caveat b{color:#93a5ad;font-weight:600}
/* two encodings share this grid, so the legend has to name both channels */
.rack-scale{flex-wrap:wrap;row-gap:8px}
.rack-scale b{color:#93a5ad;font-weight:600}
.scale-outline{font-size:10px;color:var(--viz-muted);letter-spacing:.05em;margin-right:2px}
.rack-pills{flex-wrap:wrap;justify-content:flex-end}
.insight-meta{gap:14px}
.insight-meta strong{text-align:right}
.rack-panel .panel-heading{gap:12px}
.rack-pills{flex-wrap:nowrap}
.pill-fault,.rack-panel .watch-pill{font-size:9.5px;padding:5px 9px;letter-spacing:.07em}
.rack-panel .panel-heading strong{white-space:nowrap}
.rack-scale{gap:6px 10px}
.scale-outline{margin-left:auto}
.cap-note{display:block;margin-top:5px;font-style:normal;font-size:10.5px;line-height:1.5;color:#68808b}
.cap-note.is-alert{color:#c2a05e}
.cap-viz figcaption{gap:2px}
.pipe-asset{margin-left:auto;margin-right:12px;font-style:normal;
  font:500 9px/1 ui-monospace,Menlo,monospace;letter-spacing:.08em;color:#7d919b}
@media(max-width:720px){.pipe-asset{display:none}}
.dbc-rev{white-space:nowrap;font-size:7.5px;letter-spacing:.1em}

/* a four-column table inside a narrow card has to be allowed to scroll,
   otherwise the last column is silently cut off */
.table-wrap>div{min-width:0;overflow-x:auto;-webkit-overflow-scrolling:touch}
.table-wrap>div::-webkit-scrollbar{height:5px}
.table-wrap>div::-webkit-scrollbar-thumb{background:#1e3a44;border-radius:5px}
.viz-table{min-width:max-content}
.viz-table th,.viz-table td{padding:5px 7px;white-space:nowrap}
.viz-table th{font-size:9.5px;line-height:1.3}
/* in a narrow card two tables side by side leave neither enough room */
.table-wrap{grid-template-columns:repeat(auto-fit,minmax(330px,1fr))}
.replay-signals{display:flex;gap:5px;flex-wrap:wrap;margin:10px 0 8px}
.replay-signals button{cursor:pointer;background:#081016;border:1px solid #17303a;border-radius:7px;
  color:#7c919b;font:600 10.5px/1 Inter,system-ui,sans-serif;letter-spacing:.04em;padding:7px 11px;transition:.18s}
.replay-signals button:hover{color:var(--text);border-color:#2a5560;background:#0c1a21}
.replay-signals button[aria-selected="true"]{color:#041416;background:var(--cyan);border-color:var(--cyan)}
/* a rack that stopped reporting has no measurement to colour */
.cont-racks i.is-nodata{background:
  repeating-linear-gradient(45deg,#33424a 0 2px,#1b262c 2px 4px)!important;
  box-shadow:0 0 0 1px rgba(160,180,190,.45);opacity:1}
.yard-note{max-width:none;line-height:1.6}
.yard-note b{color:#93a5ad;font-weight:600}
/* severity of the marked rack, on the marked rack itself */
.cont-racks i.is-hot{background:#e8615f!important;
  box-shadow:0 0 0 1px rgba(232,97,95,.6),0 0 10px rgba(208,59,59,.45)}
.cont-racks i.is-warn{background:#fab219!important;
  box-shadow:0 0 0 1px rgba(250,178,25,.6),0 0 10px rgba(250,178,25,.45)}
.rule-caveat{margin:10px 0 0;font-size:11px;line-height:1.6;color:#66797f;
  padding-top:10px;border-top:1px solid #16262e}
.root-note{display:block;font-style:normal;font-size:8px;letter-spacing:.06em;color:#5b727c;margin-top:5px}
.evidence-footer{flex-wrap:wrap;gap:10px 18px}

/* --- cerez onayi -------------------------------------------------------
   Ret ve kabul AYNI sinifi kullaniyor. Alman denetim otoriteleri (DSK)
   reddin kabul kadar belirgin olmasini istiyor; ayni sinif bunu kod
   seviyesinde garanti ediyor, goz karariyla degil.                      */
.cookie-btn{font:inherit;font-size:14px;font-weight:600;letter-spacing:.01em;
  padding:11px 26px;border-radius:10px;cursor:pointer;white-space:nowrap;
  background:#12222b;color:#eaf3f7;border:1px solid #2a4553;transition:background .16s,border-color .16s}
.cookie-btn:hover{background:#18303c;border-color:#3a5d70}
.cookie-btn:focus-visible{outline:2px solid #54e5e8;outline-offset:2px}
.cookie-link{font:inherit;font-size:13.5px;background:none;border:0;padding:11px 4px;
  color:#9fb3bf;text-decoration:underline;cursor:pointer}
.cookie-link:hover{color:#d8e6ee}
.cookie-detail{margin-top:14px;display:grid;gap:10px;border-top:1px solid rgba(255,255,255,.08);padding-top:14px}
.cookie-opt{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;line-height:1.55;color:#9fb0bd}
.cookie-opt input{margin-top:3px;flex:none;width:16px;height:16px;accent-color:#54e5e8}
.cookie-opt b{color:#e8eef3;font-weight:600;margin-right:6px}
.cookie-opt input:disabled+span{opacity:.72}
@media(max-width:760px){.cookie-actions{flex-direction:column}.cookie-btn{width:100%}}
