:root{
  --bg:#16171a;
  --bg-1:#1d1f23;
  --bg-2:#25282e;
  --line:#2c2f36;
  --line-2:#363a42;
  --ink:#e7e8ec;
  --ink-dim:#9aa0aa;
  --ink-mute:#9197a0;
  --red:#e08a78;
  --red-soft:#e8a394;
  --amber:#d8a657;
  --toxic:#aab2bd;
  --blue:#c2c7d0;
  --mono:ui-monospace,'SFMono-Regular','SF Mono',Menlo,Consolas,'Liberation Mono','Courier New',monospace;
  --sans:system-ui,-apple-system,'Segoe UI','Helvetica Neue',Arial,sans-serif;
  --display:ui-monospace,'SFMono-Regular','SF Mono',Menlo,Consolas,'Liberation Mono',monospace;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;overflow-x:hidden}
body{
  background:var(--bg);
  color:var(--ink);
  font-family:var(--sans);
  font-size:15px;
  line-height:1.55;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  background-image:
    radial-gradient(ellipse 900px 500px at 85% -5%, rgba(224,138,120,.10), transparent 60%),
    radial-gradient(ellipse 700px 400px at 10% 40%, rgba(194,199,208,.05), transparent 60%),
    linear-gradient(var(--bg), var(--bg));
}
/* grain */
body::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:100;
  background-image:url("data:image/svg+xml;utf8,<svg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9'/></filter><rect width='100%25' height='100%25' filter='url(%23n)' opacity='0.35'/></svg>");
  opacity:.06;mix-blend-mode:overlay;
}
a{color:inherit;text-decoration:none}
.mono{font-family:var(--mono)}
.wrap{max-width:1240px;margin:0 auto;padding:0 28px}

/* ───── top alert bar ───── */
.alert-bar{
  background:var(--red);color:#fff;
  font-family:var(--mono);font-size:12px;font-weight:500;
  padding:8px 0;overflow:hidden;position:relative;
  border-bottom:1px solid #000;
}
.alert-bar .ticker{display:flex;gap:48px;white-space:nowrap;animation:slide 42s linear infinite}
.alert-bar .ticker span::before{content:"● ";color:#fff}
@keyframes slide{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ───── nav ───── */
nav.top{
  position:sticky;top:0;z-index:50;
  background:rgba(22,23,26,.85);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
nav.top .wrap{display:flex;align-items:center;gap:16px;height:64px}
.brand{font-family:var(--mono);font-size:13px;letter-spacing:.1em;font-weight:700}
.brand b{color:var(--red)}
.brand .sep{color:var(--ink-mute);margin:0 12px}
.brand .prod{color:var(--ink);font-weight:500}
nav.top .links{display:flex;flex:1;justify-content:center;gap:28px;font-family:var(--mono);font-size:12px;color:var(--ink-dim)}
nav.top .links a:hover{color:var(--ink)}
.call-btn{
  font-family:var(--mono);font-size:12px;font-weight:600;
  background:var(--red);color:#fff;padding:10px 16px;
  border:1px solid var(--red);
  display:inline-flex;align-items:center;gap:8px;
  transition:.2s;white-space:nowrap;flex-shrink:0;
}
.call-btn:hover{background:#000;border-color:var(--red);color:var(--red)}
.call-btn::before{content:"";width:8px;height:8px;border-radius:50%;background:#fff;animation:pulse 1.4s infinite;flex-shrink:0}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}

/* ───── lang switcher ───── */
.lang-wrap{position:relative}
.lang-btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:10px 16px;
  border:1px solid var(--line-2);border-radius:4px;
  background:transparent;color:var(--ink-dim);
  font-family:var(--mono);font-size:12px;font-weight:500;
  letter-spacing:.02em;text-transform:uppercase;
  cursor:pointer;transition:.2s;white-space:nowrap;
  anchor-name:--lang-btn-rr;
}
.lang-wrap:has(.lang-options:popover-open) .lang-btn,
.lang-btn:hover{color:var(--ink);border-color:var(--red)}
.lang-options{
  inset:unset;margin:0;
  width:200px;max-height:min(70vh,500px);overflow-y:auto;
  padding:8px;
  border:1px solid var(--line-2);border-radius:4px;
  background:var(--bg-1);
  box-shadow:0 18px 48px rgba(0,0,0,.4);
  top:70px;right:16px;
}
@supports(anchor-name:--x){
  .lang-options{
    position-anchor:--lang-btn-rr;
    top:calc(anchor(bottom) + 10px);
    right:anchor(right);
  }
}
.lang-options a{
  display:block;padding:8px 10px;border-radius:3px;
  color:var(--ink-dim);font-size:13px;font-family:var(--sans);line-height:1.2;transition:.15s}
.lang-options a:hover{background:var(--bg-2);color:var(--ink)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}

/* ───── HERO SIM ───── */
.hero-sim{border-bottom:1px solid var(--line);overflow:hidden}

/* ───── STATS BAND ───── */
.band{
  padding:68px 0;
  border-bottom:1px solid var(--line);
  background:
    linear-gradient(180deg,rgba(224,138,120,.04) 0%,transparent 100%),
    #191b1f;
  position:relative;
}
.band::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(90deg,rgba(224,138,120,.05) 1px,transparent 1px);
  background-size:8.333% 100%;
}
.band-head{
  display:flex;align-items:baseline;justify-content:space-between;
  margin-bottom:36px;flex-wrap:wrap;gap:16px;
}
.band-head .k{
  font-family:var(--mono);font-size:11px;letter-spacing:.2em;
  color:var(--red);text-transform:uppercase;
  display:flex;align-items:center;gap:12px;
}
.band-head .k::before{content:"";width:24px;height:1px;background:var(--red)}
.band-head h2{
  font-family:var(--display);font-size:clamp(22px,2.6vw,34px);
  font-weight:400;text-transform:lowercase;letter-spacing:-.01em;
  line-height:1;max-width:22ch;
}
.band-head p{
  font-family:var(--mono);font-size:12px;color:var(--ink-mute);
  max-width:34ch;text-align:right;
}
.band-grid{
  display:grid;grid-template-columns:repeat(6,1fr);gap:0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  position:relative;
}
.band-cell{
  padding:28px 22px;
  border-right:1px solid var(--line);
  position:relative;
  transition:background .2s;
}
.band-cell:last-child{border-right:none}
.band-cell:hover{background:rgba(224,138,120,.04)}
.band-cell .num{
  font-family:var(--display);
  font-size:clamp(28px,3.4vw,44px);
  color:var(--red);
  line-height:1;
  margin-bottom:12px;
  text-transform:lowercase;
}
.band-cell .lbl{
  font-family:var(--mono);font-size:11px;
  color:var(--ink-dim);line-height:1.5;
  letter-spacing:.02em;
}
.band-cell .idx{
  position:absolute;top:10px;right:12px;
  font-family:var(--mono);font-size:9px;
  color:var(--ink-mute);letter-spacing:.15em;
}
@media(max-width:960px){
  .band-grid{grid-template-columns:repeat(2,1fr)}
  .band-cell{border-bottom:1px solid var(--line)}
  .band-cell:nth-child(2n){border-right:none}
  .band-cell:nth-last-child(-n+2){border-bottom:none}
}
/* pipeline stat footer */
.pipe-stat{
  margin-top:18px;padding-top:14px;
  border-top:1px dashed var(--line);
  font-family:var(--mono);font-size:11px;
  color:var(--ink-mute);line-height:1.5;
}
.pipe-stat b{color:var(--red);font-weight:600}

/* ───── section frame ───── */
section{padding:96px 0;border-bottom:1px solid var(--line);position:relative}
.kicker{
  font-family:var(--mono);font-size:11px;letter-spacing:.2em;
  color:var(--red);text-transform:uppercase;margin-bottom:14px;
  display:flex;align-items:center;gap:12px;
}
.kicker::before{content:"";width:24px;height:1px;background:var(--red)}
h2{
  font-family:var(--display);
  font-size:clamp(28px,4vw,50px);
  line-height:1;
  font-weight:600;
  letter-spacing:-.02em;
  max-width:20ch;
  margin-bottom:18px;
  text-transform:lowercase;
}
.sub{color:var(--ink-dim);font-size:16px;max-width:60ch;margin-bottom:48px}

/* ───── TRIAGE INTERACTIVE ───── */
#triage{background:linear-gradient(180deg,var(--bg) 0%,var(--bg-1) 100%)}
.triage-box{
  display:grid;grid-template-columns:1fr 1fr;gap:0;
  border:1px solid var(--line-2);background:#191b1f;
  position:relative;
}
.triage-box::before{
  content:"INCIDENT TRIAGE // LIVE";
  position:absolute;top:-11px;left:22px;
  background:#191b1f;padding:0 10px;
  font-family:var(--mono);font-size:10px;letter-spacing:.2em;color:var(--red);
}
.triage-left{padding:42px 38px;border-right:1px solid var(--line)}
.q-progress{display:flex;gap:6px;margin-bottom:28px}
.q-progress i{flex:1;height:3px;background:var(--line-2);display:block;transition:.3s}
.q-progress i.done{background:var(--red)}
.q-progress i.active{background:var(--red-soft);box-shadow:0 0 12px var(--red)}

.q-step{display:none}
.q-step.active{display:block;animation:fadein .4s ease}
@keyframes fadein{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.q-num{font-family:var(--mono);font-size:11px;color:var(--ink-mute);letter-spacing:.2em;margin-bottom:10px}
.q-title{font-family:var(--mono);font-size:20px;font-weight:500;margin-bottom:6px;line-height:1.25}
.q-hint{font-size:13px;color:var(--ink-dim);margin-bottom:22px}
.q-opts{display:flex;flex-direction:column;gap:8px}
.q-opt{
  font-family:var(--mono);font-size:13px;
  background:transparent;color:var(--ink);
  border:1px solid var(--line-2);
  padding:14px 16px;cursor:pointer;
  display:flex;align-items:center;justify-content:space-between;
  text-align:left;transition:.15s;
}
.q-opt:hover{border-color:var(--red);background:rgba(224,138,120,.05);color:#fff}
.q-opt .k{color:var(--ink-mute);font-size:11px}
.q-opt:hover .k{color:var(--red)}

/* right panel — live verdict */
.triage-right{padding:42px 38px;background:#141518;position:relative}
.verdict-title{font-family:var(--mono);font-size:11px;letter-spacing:.2em;color:var(--ink-mute);margin-bottom:14px}
.sev-label{font-family:var(--display);font-size:36px;text-transform:lowercase;margin-bottom:4px;transition:color .4s}
.sev-sub{font-family:var(--mono);font-size:12px;color:var(--ink-dim);margin-bottom:24px;min-height:32px}
.sev-bar{height:8px;background:var(--line-2);position:relative;margin-bottom:8px;overflow:hidden}
.sev-fill{position:absolute;inset:0 100% 0 0;background:var(--red);transition:inset .6s cubic-bezier(.6,.1,.2,1),background .4s}
.sev-scale{display:flex;justify-content:space-between;font-family:var(--mono);font-size:10px;color:var(--ink-mute);margin-bottom:28px}

.action-list{border-top:1px solid var(--line);padding-top:22px}
.action-list h3{font-family:var(--mono);font-size:11px;letter-spacing:.18em;color:var(--red);margin-bottom:14px;text-transform:uppercase}
.action-list ol{list-style:none;counter-reset:a}
.action-list li{
  counter-increment:a;
  font-family:var(--mono);font-size:12.5px;color:var(--ink-mute);
  padding:10px 0 10px 32px;position:relative;
  border-bottom:1px dashed var(--line);
  transition:.4s;
}
.action-list li.on{opacity:1;color:var(--ink)}
.action-list li::before{
  content:"0"counter(a);
  position:absolute;left:0;top:10px;
  font-size:11px;color:var(--red);
}
.action-list li:last-child{border-bottom:none}

.restart{
  margin-top:22px;font-family:var(--mono);font-size:11px;color:var(--ink-mute);
  background:none;border:none;cursor:pointer;letter-spacing:.1em;
  text-transform:uppercase;
}
.restart:hover{color:var(--red)}

/* ───── TIMELINE / PIPELINE ───── */
.pipeline-intro{
  display:grid;
  grid-template-columns:minmax(0, .95fr) minmax(420px, .9fr);
  gap:54px;
  align-items:start;
  margin-bottom:48px;
}
.pipeline-copy{
  position:relative;
  z-index:1;
}
.pipeline-copy .sub{margin-bottom:0}
.pipeline-bridge{
  position:relative;
  align-self:start;
  margin-top:-56px;
  overflow:hidden;
  --bridge-line:#9aa0aa;
  --bridge-line-soft:#c2c7d0;
  --bridge-red:#e08a78;
  --bridge-yellow:#d8a657;
  --bridge-green:#aab2bd;
  --bridge-cyan:#c2c7d0;
  --bridge-duration:6.4s;
}
.pipeline-bridge svg{
  display:block;
  width:100%;
  aspect-ratio:1280 / 760;
  background:transparent;
}
.pipeline-bridge .line{
  fill:none;
  stroke:var(--bridge-line);
  stroke-width:3;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.pipeline-bridge .soft{
  fill:none;
  stroke:var(--bridge-line-soft);
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
  opacity:.95;
}
.pipeline-bridge .deck-top{
  fill:rgba(255,255,255,.02);
  stroke:var(--bridge-line);
  stroke-width:3;
  stroke-linejoin:round;
}
.pipeline-bridge .deck-side{
  fill:rgba(255,255,255,.01);
  stroke:var(--bridge-line);
  stroke-width:3;
  stroke-linejoin:round;
}
.pipeline-bridge .tower-face,
.pipeline-bridge .tower-side,
.pipeline-bridge .tower-top,
.pipeline-bridge .tower-base{
  fill:rgba(255,255,255,.015);
  stroke:var(--bridge-line);
  stroke-width:3;
  stroke-linejoin:round;
}
.pipeline-bridge .texture{
  fill:none;
  stroke:var(--bridge-line);
  stroke-width:2;
  opacity:.45;
  stroke-linecap:round;
  stroke-dasharray:40 22 12 16 4 14;
}
.pipeline-bridge .phase-fill{
  fill:transparent;
  stroke:var(--bridge-line);
  stroke-width:3;
}
.pipeline-bridge .phase-ring{
  fill:none;
  stroke:var(--bridge-line);
  stroke-width:3;
  stroke-dasharray:10 10;
  opacity:.95;
}
.pipeline-bridge .phase-number{
  fill:var(--bridge-line);
  font-family:Arial,Helvetica,sans-serif;
  font-size:28px;
  font-weight:700;
  text-anchor:middle;
  dominant-baseline:middle;
}
.pipeline-bridge .phase-stick{
  fill:none;
  stroke:var(--bridge-line);
  stroke-width:3;
  stroke-dasharray:1 14;
  stroke-linecap:round;
  opacity:.85;
}
.pipeline-bridge .phase-glow{
  opacity:0;
  transform-origin:center;
  filter:blur(10px);
}
.pipeline-bridge .p1 .phase-fill,
.pipeline-bridge .p1 .phase-ring,
.pipeline-bridge .p1 .phase-stick{animation:bridgePhase1Shape var(--bridge-duration) linear infinite}
.pipeline-bridge .p1 .phase-number{animation:bridgePhase1Text var(--bridge-duration) linear infinite}
.pipeline-bridge .p1 .phase-glow{fill:var(--bridge-red);animation:bridgePhase1Glow var(--bridge-duration) linear infinite}
.pipeline-bridge .p2 .phase-fill,
.pipeline-bridge .p2 .phase-ring,
.pipeline-bridge .p2 .phase-stick{animation:bridgePhase2Shape var(--bridge-duration) linear infinite}
.pipeline-bridge .p2 .phase-number{animation:bridgePhase2Text var(--bridge-duration) linear infinite}
.pipeline-bridge .p2 .phase-glow{fill:var(--bridge-yellow);animation:bridgePhase2Glow var(--bridge-duration) linear infinite}
.pipeline-bridge .p3 .phase-fill,
.pipeline-bridge .p3 .phase-ring,
.pipeline-bridge .p3 .phase-stick{animation:bridgePhase3Shape var(--bridge-duration) linear infinite}
.pipeline-bridge .p3 .phase-number{animation:bridgePhase3Text var(--bridge-duration) linear infinite}
.pipeline-bridge .p3 .phase-glow{fill:var(--bridge-green);animation:bridgePhase3Glow var(--bridge-duration) linear infinite}
.pipeline-bridge .p4 .phase-fill,
.pipeline-bridge .p4 .phase-ring,
.pipeline-bridge .p4 .phase-stick{animation:bridgePhase4Shape var(--bridge-duration) linear infinite}
.pipeline-bridge .p4 .phase-number{animation:bridgePhase4Text var(--bridge-duration) linear infinite}
.pipeline-bridge .p4 .phase-glow{fill:var(--bridge-cyan);animation:bridgePhase4Glow var(--bridge-duration) linear infinite}
@keyframes bridgePhase1Shape{
  0%,8%,100%{fill:transparent;stroke:var(--bridge-line)}
  10%,98%{fill:rgba(224,138,120,.14);stroke:var(--bridge-red)}
}
@keyframes bridgePhase1Text{
  0%,8%,100%{fill:var(--bridge-line)}
  10%,98%{fill:var(--bridge-red)}
}
@keyframes bridgePhase1Glow{
  0%,8%,100%{opacity:0}
  10%,98%{opacity:.28}
}
@keyframes bridgePhase2Shape{
  0%,31%,100%{fill:transparent;stroke:var(--bridge-line)}
  33%,98%{fill:rgba(216,166,87,.18);stroke:var(--bridge-yellow)}
}
@keyframes bridgePhase2Text{
  0%,31%,100%{fill:var(--bridge-line)}
  33%,98%{fill:#d8a657}
}
@keyframes bridgePhase2Glow{
  0%,31%,100%{opacity:0}
  33%,98%{opacity:.24}
}
@keyframes bridgePhase3Shape{
  0%,54%,100%{fill:transparent;stroke:var(--bridge-line)}
  56%,98%{fill:rgba(170,178,189,.14);stroke:var(--bridge-green)}
}
@keyframes bridgePhase3Text{
  0%,54%,100%{fill:var(--bridge-line)}
  56%,98%{fill:var(--bridge-green)}
}
@keyframes bridgePhase3Glow{
  0%,54%,100%{opacity:0}
  56%,98%{opacity:.24}
}
@keyframes bridgePhase4Shape{
  0%,77%,100%{fill:transparent;stroke:var(--bridge-line)}
  79%,98%{fill:rgba(194,199,208,.14);stroke:var(--bridge-cyan)}
}
@keyframes bridgePhase4Text{
  0%,77%,100%{fill:var(--bridge-line)}
  79%,98%{fill:var(--bridge-cyan)}
}
@keyframes bridgePhase4Glow{
  0%,77%,100%{opacity:0}
  79%,98%{opacity:.26}
}
.pipeline{display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative;border:1px solid var(--line-2)}
.pipe-card{display:flow-root;padding:34px 28px;border-right:1px solid var(--line);position:relative;background:var(--bg-1)}
.pipe-card:last-child{border-right:none}
.pipe-card .ph{font-family:var(--mono);font-size:10px;letter-spacing:.2em;color:var(--red);margin-bottom:18px}
.pipe-card .ph span{color:var(--ink-mute)}
.pipe-card .icon{
  width:44px;height:44px;border:1px solid var(--line-2);
  display:grid;place-items:center;float:left;margin:1px 14px 8px 0;
  font-family:var(--mono);font-size:16px;color:var(--red);
}
.pipe-card h3{font-family:var(--mono);font-size:17px;font-weight:600;margin-bottom:10px;line-height:1.25}
.pipe-card p{font-size:13px;color:var(--ink-dim);line-height:1.6}
.pipe-card::after{
  content:"→";position:absolute;right:-9px;top:50%;
  font-family:var(--mono);color:var(--red);
  background:var(--bg);padding:0 2px;z-index:2;
}
.pipe-card:last-child::after{display:none}

/* ───── THREATS / WHAT WE HANDLE ───── */
.threats-intro{
  display:grid;
  grid-template-columns:minmax(380px, .85fr) minmax(0, .95fr);
  gap:54px;
  align-items:start;
  margin-bottom:48px;
}
.threats-copy{
  grid-column:2;
  justify-self:end;
  max-width:680px;
  position:relative;
  z-index:1;
  text-align:right;
}
.threats-copy .kicker{justify-content:flex-end}
.threats-copy h2,
.threats-copy .sub{margin-left:auto}
.threats-copy .sub{margin-bottom:0}
.threats-magnifier{
  grid-column:1;
  grid-row:1;
  position:relative;
  align-self:start;
  margin-top:-18px;
  overflow:hidden;
  --mag-ink:#e08a78;
  --mag-paper:#191b1f;
  --mag-paper-2:#25282e;
  --mag-paper-light:#22242a;
  --ink:var(--mag-ink);
  --paper:var(--mag-paper);
  --paper-2:var(--mag-paper-2);
  --paper-light:var(--mag-paper-light);
}
.threats-magnifier svg{
  display:block;
  width:100%;
  aspect-ratio:1024 / 531;
  background:transparent;
}
.threats-magnifier .ink,
.threats-magnifier .ink-scale{
  fill:none;
  stroke:var(--mag-ink);
  stroke-linecap:round;
  stroke-linejoin:round;
}
.threats-magnifier .ink{vector-effect:non-scaling-stroke}
.threats-magnifier .rough{filter:url(#magnifierRoughen)}
.threats-magnifier .heavy{stroke-width:3.75}
.threats-magnifier .bold{stroke-width:2.55}
.threats-magnifier .mid{stroke-width:1.55}
.threats-magnifier .fine{stroke-width:.9}
.threats-magnifier .hair{stroke-width:.52}
.threats-magnifier .dash{stroke-dasharray:6 5}
.threats-magnifier .lens-system{
  transform-box:view-box;
  transform-origin:500px 265px;
  animation:magnifierLensSwing 11s ease-in-out infinite;
}
@keyframes magnifierLensSwing{
  0%,100%{transform:translate(0,0)}
  25%{transform:translate(200px,-3px)}
  50%{transform:translate(0,2px)}
  75%{transform:translate(-200px,-3px)}
}
.threats-magnifier .mag-shift{
  transform-box:view-box;
  transform-origin:500px 265px;
  animation:magnifierShift 11s ease-in-out infinite;
}
@keyframes magnifierShift{
  0%,100%{transform:translate(0,0)}
  25%{transform:translate(-400px,0)}
  50%{transform:translate(0,0)}
  75%{transform:translate(400px,0)}
}
.threats-magnifier #lens-glint{animation:magnifierShimmer 5s ease-in-out infinite}
@keyframes magnifierShimmer{
  0%,100%{opacity:.85}
  50%{opacity:.55}
}
.threat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.threat{
  background:var(--bg-1);border:1px solid var(--line);
  padding:32px 28px 34px;position:relative;
  transition:.25s;
}
.threat:hover{border-color:var(--red);transform:translateY(-3px)}
.threat .fam{font-family:var(--mono);font-size:10px;letter-spacing:.18em;color:var(--ink-mute);margin-bottom:18px}
.threat h3{font-family:var(--mono);font-size:19px;margin-bottom:14px;color:var(--ink)}
.threat ul{list-style:none}
.threat li{
  font-size:13px;color:var(--ink-dim);padding:7px 0 7px 18px;
  position:relative;border-bottom:1px dashed var(--line);
}
.threat li:last-child{border-bottom:none}
.threat li::before{content:"▸";position:absolute;left:0;color:var(--red)}

/* ───── LIVE OPS CLOCK ───── */
.ops-intro{
  display:grid;
  grid-template-columns:minmax(0, .95fr) minmax(380px, .85fr);
  gap:54px;
  align-items:start;
  margin-bottom:50px;
}
.ops-intro > div:first-child{
  position:relative;
  z-index:1;
}
.ops-intro .sub{margin-bottom:0}
.ops-eye{
  position:relative;
  align-self:start;
  margin-top:-18px;
  overflow:hidden;
  --eye-ink:#e08a78;
  --eye-ink-soft:rgba(224,138,120,.72);
  --eye-paper:#191b1f;
  --eye-paper-mid:#1d1f23;
  --eye-paper-2:#25282e;
  --eye-paper-light:#22242a;
  --eye-pupil:#2a1c19;
  --eye-soft-fill:rgba(224,138,120,.08);
  --eye-wash:rgba(224,138,120,.052);
  --eye-fine-stroke:rgba(224,138,120,.2);
  --ink:var(--eye-ink);
  --paper:var(--eye-paper);
  --paper-mid:var(--eye-paper-mid);
  --paper-2:var(--eye-paper-2);
  --paper-light:var(--eye-paper-light);
  --pupil:var(--eye-pupil);
  color-scheme:dark light;
}
.ops-eye svg{
  position:relative;
  display:block;
  width:100%;
  aspect-ratio:1024 / 531;
  background:transparent;
}
.ops-eye .ink{
  fill:none;
  stroke:var(--eye-ink);
  stroke-linecap:round;
  stroke-linejoin:round;
  vector-effect:non-scaling-stroke;
}
.ops-eye .rough{filter:url(#roughen)}
.ops-eye .heavy{stroke-width:3.75}
.ops-eye .bold{stroke-width:2.55}
.ops-eye .mid{stroke-width:1.55}
.ops-eye .fine{stroke-width:.9}
.ops-eye .hair{stroke-width:.52}
.ops-eye .dash{stroke-dasharray:11 10 3 12}
.ops-eye .short-dash{stroke-dasharray:4 10}
.ops-eye .wash{fill:var(--eye-wash);stroke:none}
.ops-eye .paper-fill{fill:var(--eye-paper-light);stroke:none}
.ops-eye .ink-fill{fill:var(--eye-ink);stroke:var(--eye-ink)}
.ops-eye .soft-fill{fill:var(--eye-soft-fill);stroke:none}
.ops-eye .fiber path,
.ops-eye .fiber line{
  stroke:var(--eye-fine-stroke);
  stroke-width:.65;
  vector-effect:non-scaling-stroke;
}
.ops-eye .grain-dot{fill:var(--eye-ink);opacity:.55}
.ops-eye #eyeball{
  transform-box:view-box;
  transform-origin:506px 254px;
  animation:lookAround 7s ease-in-out infinite;
}
@keyframes lookAround{
  0%{transform:translate(0,0)}
  8%{transform:translate(-2px,1px)}
  30%{transform:translate(-22px,3px)}
  40%{transform:translate(-19px,0)}
  52%{transform:translate(0,0)}
  60%{transform:translate(2px,-1px)}
  72%{transform:translate(22px,-3px)}
  82%{transform:translate(19px,0)}
  100%{transform:translate(0,0)}
}
.ops-eye #eyelid-top,
.ops-eye #eyelid-bottom{
  transform-box:view-box;
  transform:scaleY(0);
}
.ops-eye #eyelid-top{
  transform-origin:513px 115px;
  animation:blinkTop 7s ease-in-out infinite;
}
.ops-eye #eyelid-bottom{
  transform-origin:513px 445px;
  animation:blinkBottom 7s ease-in-out infinite;
}
@keyframes blinkTop{
  0%,35%{transform:scaleY(0)}
  42%,44%{transform:scaleY(1)}
  51%,87%{transform:scaleY(0)}
  94%,96%{transform:scaleY(1)}
  100%{transform:scaleY(0)}
}
@keyframes blinkBottom{
  0%,35%{transform:scaleY(0)}
  42%,44%{transform:scaleY(1)}
  51%,87%{transform:scaleY(0)}
  94%,96%{transform:scaleY(1)}
  100%{transform:scaleY(0)}
}
.ops-eye #eyelid-line{
  stroke:var(--eye-ink);
  stroke-width:2.2;
  fill:none;
  opacity:0;
  animation:blinkLine 7s ease-in-out infinite;
}
@keyframes blinkLine{
  0%,38%{opacity:0}
  42%,44%{opacity:.85}
  48%,90%{opacity:0}
  94%,96%{opacity:.85}
  100%{opacity:0}
}
.ops-eye #grain-rotor{
  transform-box:view-box;
  transform-origin:506px 254px;
  animation:rotateGrain 7s ease-in-out infinite;
}
@keyframes rotateGrain{
  0%{transform:rotate(0deg)}
  30%{transform:rotate(-14deg)}
  52%{transform:rotate(0deg)}
  72%{transform:rotate(14deg)}
  100%{transform:rotate(0deg)}
}
.ops-eye #eye-highlight{
  transform-box:view-box;
  transform-origin:465px 227px;
  animation:highlightShift 7s linear infinite;
}
@keyframes highlightShift{
  0%{transform:translate(0,0)}
  22%{transform:translate(4px,-4px)}
  30%{transform:translate(8px,0)}
  38%{transform:translate(4px,4px)}
  52%{transform:translate(0,0)}
  64%{transform:translate(-4px,-4px)}
  72%{transform:translate(-8px,0)}
  80%{transform:translate(-4px,4px)}
  100%{transform:translate(0,0)}
}
.ops{
  display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;
}
.clock-box{
  background:#141518;border:1px solid var(--line-2);
  padding:38px;font-family:var(--mono);position:relative;
}
.clock-box::before{
  content:"◉ LIVE — RESPONSE BRIDGE";
  position:absolute;top:-10px;left:20px;
  background:#141518;padding:0 10px;
  font-size:10px;letter-spacing:.2em;color:var(--toxic);
}
.clock-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:24px}
.clock-cell{border:1px solid var(--line);padding:14px 10px;text-align:center}
.clock-cell .v{font-size:28px;font-weight:600;color:var(--red)}
.clock-cell .u{font-size:9px;letter-spacing:.15em;color:var(--ink-mute);margin-top:4px;text-transform:uppercase}
.clock-log{font-size:11.5px;color:var(--ink-dim);line-height:1.8;border-top:1px solid var(--line);padding-top:16px}
.clock-log div{opacity:0;animation:logfade .6s forwards}
.clock-log .ts{color:var(--toxic);margin-right:8px}
.clock-log .warn{color:var(--amber)}
.clock-log .ok{color:var(--toxic)}
@keyframes logfade{to{opacity:1}}

/* ───── FAQ ───── */
.faq{display:grid;grid-template-columns:1fr 1fr;gap:20px 48px}
.faq details{
  border-bottom:1px solid var(--line);padding:18px 0;
}
.faq summary{
  font-family:var(--mono);font-size:15px;cursor:pointer;list-style:none;
  display:flex;justify-content:space-between;align-items:center;
  min-height:44px;
  color:var(--ink);
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--red);font-size:20px;transition:.2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq p{color:var(--ink-dim);font-size:13.5px;margin-top:12px;line-height:1.7}

/* ───── CTA ───── */
.cta-final{
  background:
    linear-gradient(135deg,rgba(224,138,120,.14),transparent 60%),
    #191b1f;
  border:1px solid var(--red);
  padding:72px 56px;
  position:relative;overflow:hidden;
}
.cta-final::before{
  content:"";position:absolute;inset:0;
  background-image:linear-gradient(rgba(224,138,120,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(224,138,120,.06) 1px,transparent 1px);
  background-size:40px 40px;
  mask-image:radial-gradient(circle at 80% 50%,#000,transparent 70%);
}
.cta-final .inner{position:relative;display:grid;grid-template-columns:1.3fr 1fr;gap:48px;align-items:center}
.cta-final h2{color:#fff;margin-bottom:14px;max-width:16ch}
.cta-final p{color:var(--ink-dim);font-size:15px;max-width:52ch;margin-bottom:0}
.cta-final .btn-stack{display:flex;flex-direction:column;gap:12px}

/* ───── FOOTER ───── */
footer{padding:48px 0 36px;background:#121316}
footer .row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px}
footer .links a{font-family:var(--mono);font-size:12px;color:var(--ink-dim);margin-right:22px}
footer .links a:hover{color:var(--red)}
footer .copy{font-family:var(--mono);font-size:11px;color:var(--ink-mute)}

/* ───── RESPONSIVE ───── */
@media(max-width:960px){
  .triage-box,.pipeline-intro,.pipeline,.threats-intro,.threat-grid,.ops-intro,.ops,.faq,.cta-final .inner{grid-template-columns:1fr!important}
  .triage-left{border-right:none;border-bottom:1px solid var(--line)}
  .pipe-card{border-right:none;border-bottom:1px solid var(--line)}
  .pipe-card::after{display:none}
  .stats{grid-template-columns:repeat(3,1fr)}
  .pipeline-intro{
    position:relative;
    overflow:visible;
    gap:30px;
    margin-bottom:38px;
  }
  .pipeline-bridge{
    position:absolute;
    top:-34px;
    right:-52px;
    width:min(64vw,460px);
    max-width:none;
    margin-top:0;
    opacity:.24;
    pointer-events:none;
    z-index:0;
  }
  .threats-intro{
    position:relative;
    overflow:visible;
    gap:30px;
    margin-bottom:38px;
  }
  .threats-copy{
    grid-column:auto;
    justify-self:end;
    text-align:right;
  }
  .threats-copy .kicker{justify-content:flex-end}
  .threats-copy h2,
  .threats-copy .sub{margin-left:auto}
  .threats-magnifier{
    grid-column:auto;
    grid-row:1;
    position:absolute;
    top:-18px;
    left:-42px;
    width:min(58vw,420px);
    max-width:none;
    margin-top:0;
    opacity:.28;
    pointer-events:none;
    z-index:0;
  }
  .ops-intro{
    position:relative;
    overflow:visible;
    gap:30px;
    margin-bottom:38px;
  }
  .ops-eye{
    position:absolute;
    top:-18px;
    right:-42px;
    width:min(58vw,420px);
    max-width:none;
    margin-top:0;
    opacity:.28;
    pointer-events:none;
    z-index:0;
  }
  .cta-final{padding:48px 28px}
  section{padding:64px 0}
}

@media(max-width:640px){
  nav.top .links{display:none}
  .call-btn{padding:8px 12px;font-size:11px;margin-left:auto}
  .brand .sep,.brand .prod{display:none}

  .wrap{padding:0 16px}
  .stats{grid-template-columns:1fr 1fr;max-width:100%}
  .band-head{flex-direction:column}
  .band-head p{text-align:left}
  .triage-left,.triage-right{padding:24px 20px}
  .pipeline-bridge{
    width:min(78vw,360px);
  }
  .threats-magnifier{
    width:min(74vw,340px);
  }
  .ops-eye{
    width:min(74vw,340px);
  }
  .cta-final{padding:36px 20px}
}

/* ───────────────────────────────────────── */
/* ───── DAY THEME — AUTO (OS-DRIVEN) ───── */
/* ───────────────────────────────────────── */
/* Dark (default) applies unless the OS/browser requests light. */
/* embedded dark modules that stay dark in both themes: */
.cta-final{color-scheme:dark}

:root[data-theme="light"]{
  --bg:#fbfbfc;
  --bg-1:#ffffff;
  --bg-2:#f2f5f9;
  --line:#e2e8f1;
  --line-2:#cdd5e0;
  --ink:#15171c;
  --ink-dim:#3a4048;
  --ink-mute:#565b62;
  --red:#b04a39;
  --red-soft:#a84f3f;
}
[data-theme="light"] body{
  background-image:
    radial-gradient(ellipse 900px 500px at 85% -5%, rgba(192,99,82,.08), transparent 60%),
    radial-gradient(ellipse 700px 400px at 10% 40%, rgba(20,22,28,.04), transparent 60%),
    linear-gradient(var(--bg),var(--bg));
}
[data-theme="light"] body::before{mix-blend-mode:multiply;opacity:.09}
[data-theme="light"] nav.top{background:rgba(251,251,252,.85);border-bottom-color:var(--line)}
[data-theme="light"] .hero::before{
  background-image:
    linear-gradient(rgba(192,99,82,.06) 1px,transparent 1px),
    linear-gradient(90deg,rgba(192,99,82,.06) 1px,transparent 1px);
}
[data-theme="light"] .hero h1 .glitch::before{color:#7a8089}
[data-theme="light"] .hero h1 .glitch::after{color:#565b62}

/* stats band */
[data-theme="light"] .band{background:linear-gradient(180deg,rgba(192,99,82,.04) 0%,transparent 100%),#f2f5f9}
[data-theme="light"] .band::before{background-image:linear-gradient(90deg,rgba(192,99,82,.06) 1px,transparent 1px)}

/* triage */
[data-theme="light"] #triage{background:linear-gradient(180deg,var(--bg) 0%,var(--bg-1) 100%)}
[data-theme="light"] .triage-box{background:var(--bg-1);border-color:var(--line-2)}
[data-theme="light"] .triage-box::before{background:var(--bg-1)}
[data-theme="light"] .triage-left{border-right-color:var(--line)}
[data-theme="light"] .q-opt{border-color:var(--line-2);color:var(--ink);background:rgba(255,255,255,.4)}
[data-theme="light"] .q-opt:hover{background:rgba(192,99,82,.08);color:#000;border-color:var(--red)}
[data-theme="light"] .q-progress i{background:var(--line-2)}

/* live verdict panel — flip to paper */
[data-theme="light"] .triage-right{background:var(--bg)}
[data-theme="light"] .triage-right .sev-bar{background:var(--line-2)}
[data-theme="light"] .triage-right .action-list{border-top-color:var(--line)}
[data-theme="light"] .triage-right .action-list li{border-bottom-color:var(--line)}

/* pipeline */
[data-theme="light"] .pipeline{border-color:var(--line-2);background:var(--bg)}
[data-theme="light"] .pipeline-bridge{
  --bridge-line:#565b62;
  --bridge-line-soft:#8a909a;
}
[data-theme="light"] .pipe-card{background:var(--bg-1);border-right-color:var(--line)}
[data-theme="light"] .pipe-card::after{background:var(--bg)}
[data-theme="light"] .pipe-card .icon{border-color:var(--line-2)}
[data-theme="light"] .pipe-stat{border-top-color:var(--line-2)}

/* threats */
[data-theme="light"] .threat{background:var(--bg-1);border-color:var(--line)}
[data-theme="light"] .threat:hover{border-color:var(--red)}
[data-theme="light"] .threat li{border-bottom-color:var(--line)}
[data-theme="light"] .threats-magnifier{
  --mag-ink:#3a4048;
  --mag-paper:#f2f5f9;
  --mag-paper-2:#e2e8f1;
  --mag-paper-light:#fbfbfc;
}

/* ops animation */
[data-theme="light"] .ops-eye{
  --eye-ink:#3a4048;
  --eye-ink-soft:rgba(58,64,72,.72);
  --eye-paper:#f2f5f9;
  --eye-paper-mid:#eaeff5;
  --eye-paper-2:#e2e8f1;
  --eye-paper-light:#fbfbfc;
  --eye-pupil:#1d2128;
  --eye-soft-fill:rgba(58,64,72,.06);
  --eye-wash:rgba(58,64,72,.052);
  --eye-fine-stroke:rgba(58,64,72,.15);
}

/* live response bridge clock — flip to paper */
[data-theme="light"] .clock-box{
  background:var(--bg-1);
  border-color:var(--line-2);
  --toxic:#565b62;
}
[data-theme="light"] .clock-box::before{background:var(--bg-1)}
[data-theme="light"] .clock-cell{border-color:var(--line)}
[data-theme="light"] .clock-log{border-top-color:var(--line)}
[data-theme="light"] .clock-log .ts{color:#565b62}
[data-theme="light"] .clock-log .ok{color:#565b62}

/* faq */
[data-theme="light"] .faq details{border-bottom-color:var(--line)}

/* buttons */
[data-theme="light"] .btn{border-color:var(--line-2);color:var(--ink);background:rgba(255,255,255,.35)}
[data-theme="light"] .btn:hover{background:var(--bg-1);border-color:var(--ink-dim)}
[data-theme="light"] .btn.primary{background:var(--red);color:#fff;border-color:var(--red)}
[data-theme="light"] .btn.primary:hover{background:#15171c;color:var(--red);border-color:#15171c}
[data-theme="light"] .call-btn{background:var(--red);color:#fff;border-color:var(--red)}
[data-theme="light"] .call-btn:hover{background:#15171c;color:#fff;border-color:#15171c}

/* footer */
[data-theme="light"] footer{background:#f2f5f9;border-top:1px solid var(--line)}

/* CTA sits in an always-dark panel (.cta-final) — pin text + button colors to dark-readable
   values in BOTH themes. Overriding the ink tokens on .cta-final keeps its whole subtree light
   (incl. the <p> and the inline var(--ink-mute) note) even when the page is in light theme. */
.cta-final{--ink-dim:#9aa0aa;--ink-mute:#9197a0}
.cta-final .btn-stack .btn{display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid rgba(255,255,255,.4);border-radius:8px;color:#fff;text-decoration:none}
.cta-final .btn-stack .btn:hover{background:rgba(255,255,255,.14);border-color:#fff;color:#fff}
.cta-final .btn-stack .btn.primary{background:var(--red);border-color:var(--red);color:#fff}
.cta-final .btn-stack .btn.primary:hover{background:#fff;border-color:#fff;color:#15171c}

@media(max-width:520px){.clock-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
