:root {
  --ink: #eef2eb;
  --muted: #9aa59f;
  --bg: #080b0e;
  --panel: #11171b;
  --line: #253038;
  --acid: #c9ff3d;
  --cyan: #42e8e0;
  --orange: #ff8157;
  --purple: #a487ff;
  --shadow: 0 30px 100px rgba(0, 0, 0, 0.42);
}

* { box-sizing: border-box; }
html, body { height: 100%; margin: 0; overflow: hidden; }
body {
  color: var(--ink);
  background:
    radial-gradient(circle at 75% 20%, rgba(66, 232, 224, .08), transparent 31%),
    radial-gradient(circle at 15% 85%, rgba(201, 255, 61, .05), transparent 30%),
    var(--bg);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
button { font: inherit; }
.noise {
  pointer-events: none;
  position: fixed;
  inset: 0;
  opacity: .035;
  z-index: 10;
  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='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E");
}
#deck { height: 100%; }
.slide {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-rows: auto 1fr auto;
  padding: clamp(34px, 5vw, 84px);
  opacity: 0;
  transform: translateX(34px);
  pointer-events: none;
  transition: opacity .28s ease, transform .32s cubic-bezier(.2,.8,.2,1);
}
.slide.active { opacity: 1; transform: none; pointer-events: auto; }
.eyebrow {
  color: var(--acid);
  font: 700 12px/1.2 ui-monospace, SFMono-Regular, Menlo, monospace;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.slide-no {
  position: absolute;
  top: 4.8vw;
  right: 5vw;
  color: #4e5a5d;
  font: 600 13px ui-monospace, SFMono-Regular, Menlo, monospace;
}
.content { align-self: center; width: min(1180px, 100%); margin: auto; }
h1, h2, h3, p { margin-top: 0; }
h1, h2 {
  letter-spacing: -.055em;
  line-height: .96;
  text-wrap: balance;
}
h1 { font-size: clamp(64px, 9.7vw, 155px); max-width: 1150px; margin-bottom: 30px; }
h2 { font-size: clamp(47px, 6.3vw, 100px); margin-bottom: 36px; max-width: 1100px; }
h3 { font-size: clamp(22px, 2.2vw, 34px); }
.subtitle { font-size: clamp(20px, 2.1vw, 34px); color: var(--muted); max-width: 850px; line-height: 1.35; }
.acid { color: var(--acid); }
.cyan { color: var(--cyan); }
.orange { color: var(--orange); }
.muted { color: var(--muted); }
.strike { text-decoration: line-through; text-decoration-color: var(--orange); }
.huge-line {
  font-size: clamp(54px, 8vw, 128px);
  font-weight: 750;
  letter-spacing: -.06em;
  line-height: .95;
}
.footer {
  color: #6d797b;
  font: 600 11px ui-monospace, SFMono-Regular, Menlo, monospace;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.title-grid { display: grid; grid-template-columns: 1fr auto; gap: 40px; align-items: end; }
.stamp {
  border: 1px solid var(--acid);
  color: var(--acid);
  border-radius: 999px;
  padding: 12px 16px;
  font: 700 12px ui-monospace, monospace;
  transform: rotate(-5deg);
  margin-bottom: 42px;
}
.terminal {
  background: #07090b;
  border: 1px solid #2a353b;
  border-radius: 14px;
  box-shadow: var(--shadow);
  overflow: hidden;
}
.terminal-head {
  display: flex; gap: 7px; align-items: center;
  padding: 13px 16px; border-bottom: 1px solid #222b30;
  color: #738085; font: 12px ui-monospace, monospace;
}
.dot { width: 9px; height: 9px; border-radius: 50%; background: #3a454a; }
.terminal pre, pre.code {
  margin: 0;
  padding: clamp(20px, 3vw, 38px);
  color: #d6ded9;
  font: clamp(13px, 1.25vw, 20px)/1.55 ui-monospace, SFMono-Regular, Menlo, monospace;
  white-space: pre-wrap;
}
.terminal .prompt { color: var(--acid); }
.diagram {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  align-items: center;
  gap: 18px;
}
.gateway-flow {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr;
  align-items: center;
  gap: 10px;
}
.gateway-flow .node {
  min-height: 170px;
  padding: 18px 12px;
  font-size: clamp(16px, 1.6vw, 25px);
}
.node {
  min-height: 150px;
  display: grid;
  place-items: center;
  text-align: center;
  border: 1px solid var(--line);
  background: linear-gradient(145deg, rgba(255,255,255,.035), transparent);
  border-radius: 12px;
  padding: 24px;
  font-size: clamp(21px, 2.4vw, 36px);
  font-weight: 720;
}
.node small { display: block; color: var(--muted); font: 13px/1.4 ui-monospace, monospace; margin-top: 9px; }
.arrow { text-align: center; color: var(--acid); font-size: 34px; }
.equation {
  display: grid;
  grid-template-columns: repeat(9, auto);
  gap: 16px;
  align-items: center;
  justify-content: center;
  font-size: clamp(18px, 2vw, 30px);
  font-weight: 750;
}
.equation .pill { padding: 20px 22px; border-radius: 9px; border: 1px solid var(--line); background: var(--panel); }
.equation .operator { color: var(--acid); }
.timeline { display: grid; grid-template-columns: repeat(8, 1fr); gap: 0; margin-top: 50px; }
.timeline:has(.moment:nth-child(3):last-child) { grid-template-columns: repeat(3, 1fr); }
.moment { position: relative; border-top: 2px solid #3a464c; padding: 28px 12px 0 0; color: var(--muted); font-size: 14px; }
.moment::before { content:""; position:absolute; width:12px; height:12px; top:-7px; left:0; border-radius:50%; background:var(--bg); border:2px solid var(--acid); }
.moment b { display:block; color:var(--ink); margin-bottom:6px; }
.moment span { color: var(--acid); font: 11px ui-monospace, monospace; }
.split { display:grid; grid-template-columns: 1fr 1fr; gap: clamp(24px, 4vw, 62px); align-items:center; }
.json-anatomy { display:grid; grid-template-columns: 1.3fr .7fr; gap: 34px; align-items:center; }
.labels { display:grid; gap:14px; }
.label { border-left: 3px solid var(--acid); padding: 10px 16px; color: var(--muted); }
.label b { color: var(--ink); font-family: ui-monospace, monospace; }
.transport { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:22px; }
.pipe { text-align:center; color:var(--acid); font:700 clamp(15px,1.5vw,23px) ui-monospace,monospace; }
.pipe::after { content:""; display:block; height:2px; width:100%; background:var(--acid); margin-top:10px; }
.stack { display:grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.stack .node { min-height: 100px; font-size: clamp(18px, 1.8vw, 27px); }
.loop-grid { display:grid; grid-template-columns: repeat(4, 1fr); gap:14px; }
.loop-grid .node { min-height:120px; font-size:clamp(17px,1.7vw,25px); }
.loop-grid .node:nth-child(odd) { border-color:#3d5548; }
.approval {
  border: 1px solid var(--orange);
  box-shadow: 0 0 50px rgba(255,129,87,.10);
  border-radius: 14px;
  padding: clamp(26px,4vw,54px);
}
.approval .tag { color:var(--orange); font:700 12px ui-monospace,monospace; letter-spacing:.15em; }
.approval-actions { display:flex; gap:14px; margin-top:28px; }
.fake-btn { padding:13px 22px; border:1px solid #4b595d; border-radius:7px; font-weight:700; }
.fake-btn.allow { background:var(--acid); color:#101408; border-color:var(--acid); }
.demo-layout { display:grid; grid-template-columns:.76fr 1.24fr; gap:24px; align-items:stretch; height:min(61vh,650px); }
.demo-brief { border:1px solid var(--line); background:rgba(17,23,27,.76); border-radius:12px; padding:26px; display:flex; flex-direction:column; }
.demo-brief blockquote { margin:0 0 22px; font-size:clamp(17px,1.5vw,24px); line-height:1.4; }
.demo-meta { color:var(--muted); font:12px/1.6 ui-monospace,monospace; }
.demo-buttons { display:flex; flex-wrap:wrap; gap:9px; margin-top:auto; }
.demo-buttons button {
  cursor:pointer; border:1px solid #3b494e; color:var(--ink); background:#141b1f;
  border-radius:7px; padding:10px 13px; font-weight:700;
}
.demo-buttons button.primary { color:#0c1107; background:var(--acid); border-color:var(--acid); }
.matrix { border:1px solid #283339; border-radius:12px; background:#070a0c; overflow:auto; padding:15px; scroll-behavior:smooth; }
.event { border-left:2px solid #364248; margin:0 0 11px; padding:9px 12px; animation:arrive .22s ease both; }
.event .event-label { color:var(--cyan); font:700 10px ui-monospace,monospace; letter-spacing:.12em; }
.event.tool .event-label { color:var(--purple); }
.event.result .event-label { color:var(--acid); }
.event.approval .event-label { color:var(--orange); }
.event pre { margin:5px 0 0; color:#b9c3bf; font:12px/1.45 ui-monospace,monospace; white-space:pre-wrap; }
@keyframes arrive { from { opacity:0; transform:translateY(8px); } }
.takeaway {
  display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-top:45px;
}
.takeaway div { border-top:2px solid var(--acid); padding-top:14px; font-weight:750; font-size:clamp(17px,1.7vw,26px); }
.controls {
  position:fixed; z-index:20; right:22px; bottom:19px;
  display:flex; align-items:center; gap:8px;
  border:1px solid rgba(72,85,91,.7); background:rgba(8,11,14,.82);
  backdrop-filter:blur(14px); border-radius:10px; padding:7px;
}
.controls button { width:35px;height:35px;border:0;border-radius:6px;background:#151c20;color:var(--ink);cursor:pointer;font-weight:800; }
.controls button:hover { background:#243036; }
.controls .text-button { color:var(--muted); font:700 11px ui-monospace,monospace; }
.progress-wrap { width:128px; min-width:128px; padding:0 8px; }
#counter { display:block; color:var(--muted); font:10px/1.2 ui-monospace,monospace; margin-bottom:5px; white-space:nowrap; }
.progress { height:2px; background:#303a3f; }
.progress i { display:block; height:100%; background:var(--acid); transition:width .25s ease; }
.notes {
  position:fixed; z-index:30; top:0; right:0; width:min(440px,100vw); height:100%;
  transform:translateX(102%); transition:transform .25s ease;
  background:#11171b; border-left:1px solid #344047; box-shadow:var(--shadow); padding:26px;
  overflow:auto;
}
.notes.open { transform:none; }
.notes-head { display:flex;justify-content:space-between;align-items:center;color:var(--acid);font:700 11px ui-monospace,monospace;letter-spacing:.14em;border-bottom:1px solid var(--line);padding-bottom:17px; }
.notes-head button { border:0;background:none;color:var(--ink);font-size:25px;cursor:pointer; }
#notesBody { color:#c8d0cc; font-size:16px; line-height:1.65; padding-top:22px; white-space:pre-line; }
.url-card { display:inline-block;border:1px solid var(--acid);border-radius:12px;padding:18px 24px;color:var(--acid);font:700 clamp(16px,1.7vw,26px) ui-monospace,monospace;margin-top:20px; }
.three-up { display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:42px; }
.mini-card {
  min-height:150px;padding:24px;border:1px solid var(--line);border-radius:12px;
  background:linear-gradient(145deg,rgba(255,255,255,.035),transparent);
  display:flex;flex-direction:column;justify-content:space-between;gap:18px;
}
.mini-card b { color:var(--acid);font:800 13px ui-monospace,monospace;letter-spacing:.12em; }
.mini-card span { color:var(--muted);font-size:clamp(16px,1.45vw,23px);line-height:1.35; }
.mini-card code { color:var(--cyan);font:13px/1.5 ui-monospace,monospace; }
.mini-card.danger { border-color:rgba(255,129,87,.42); }
.mini-card.danger b { color:var(--orange); }
.centered { margin-inline:auto;text-align:center;margin-top:34px; }
.stack.single { grid-template-columns:1fr; }
.protocol-lanes { display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:38px; }
.lane {
  border:1px solid var(--line);border-radius:14px;padding:28px;
  display:grid;gap:18px;background:rgba(17,23,27,.72);
}
.lane b { color:var(--acid);font:800 13px ui-monospace,monospace;letter-spacing:.12em; }
.lane span { font-size:clamp(23px,2.2vw,34px);font-weight:760; }
.lane code { color:var(--muted);font:14px/1.5 ui-monospace,monospace; }
.system-river { display:grid;grid-template-columns:1fr auto 1.4fr 1fr;gap:18px;align-items:center; }
.fork { display:grid;gap:42px;color:var(--cyan);font:750 clamp(15px,1.5vw,22px) ui-monospace,monospace; }
.acid-border { border-color:var(--acid)!important; }
.cyan-border { border-color:var(--cyan)!important; }
.state-machine { display:flex;align-items:stretch;gap:12px; }
.state {
  position:relative;flex:1;min-height:150px;border:1px solid var(--line);border-radius:12px;padding:20px;
  display:grid;place-items:center;text-align:center;font:750 clamp(15px,1.55vw,23px) ui-monospace,monospace;
}
.state.warning { border-color:var(--orange);color:var(--orange); }
.transcript { display:grid;gap:10px;max-width:950px;margin:auto; }
.transcript div { display:grid;grid-template-columns:150px 1fr;align-items:center;border:1px solid var(--line);border-radius:9px;padding:16px 20px;font-size:clamp(17px,1.6vw,24px); }
.transcript span { color:var(--acid);font:800 13px ui-monospace,monospace;text-transform:uppercase; }
.tall-code { max-height:65vh;overflow:auto; }
.correlation { display:grid;place-items:center;gap:22px; }
.packet { width:min(780px,100%);padding:28px;border:1px solid var(--line);border-radius:12px;display:flex;justify-content:space-between;align-items:center; }
.packet b { color:var(--acid);font:800 13px ui-monospace,monospace;text-transform:uppercase; }
.packet code { font-size:clamp(17px,2vw,28px);color:var(--cyan); }
.policy-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:14px; }
.policy { min-height:190px;border:1px solid var(--line);border-radius:12px;padding:22px;display:flex;flex-direction:column;gap:18px; }
.policy b { font:800 12px ui-monospace,monospace;letter-spacing:.14em;color:var(--muted); }
.policy span { flex:1;font-size:clamp(18px,1.8vw,27px);font-weight:720; }
.policy strong { font:800 15px ui-monospace,monospace; }
.policy.allow strong { color:var(--acid); }.policy.ask strong { color:var(--orange); }.policy.deny strong { color:#ff5f6d; }
.sequence { display:grid;grid-template-columns:repeat(4,1fr);gap:15px; }
.sequence div { position:relative;min-height:170px;border:1px solid var(--line);border-radius:12px;padding:24px;display:flex;flex-direction:column;gap:22px; }
.sequence div:not(:last-child)::after { content:"→";position:absolute;right:-14px;top:43%;z-index:2;color:var(--acid);font-size:25px; }
.sequence b { color:var(--acid);font:800 13px ui-monospace,monospace; }
.sequence code { color:var(--ink);font:clamp(13px,1.35vw,20px)/1.45 ui-monospace,monospace;white-space:pre-wrap; }
.sequence.compact div { min-height:145px; }
.split .sequence { grid-template-columns:1fr 1fr; }
.split .sequence div { min-height:125px; }
.split .sequence div:not(:last-child)::after { display:none; }
.vennish { display:grid;grid-template-columns:1fr .55fr 1fr;align-items:center; }
.cap { min-height:260px;border:1px solid var(--line);border-radius:50%;display:grid;place-content:center;text-align:center;gap:24px;padding:50px; }
.cap b { color:var(--acid);font:800 13px ui-monospace,monospace; }.cap span { color:var(--muted);font-size:clamp(17px,1.6vw,24px); }
.intersection { z-index:2;margin-inline:-55px;border-radius:50%;aspect-ratio:1;background:var(--acid);color:#111707;display:grid;place-items:center;text-align:center;font:850 14px/1.3 ui-monospace,monospace; }
.http-flow { display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:20px;align-items:center; }
.wire { display:grid;gap:17px;text-align:center; }.wire code { color:var(--acid);font:750 clamp(20px,2.2vw,32px) ui-monospace,monospace; }.wire span { color:var(--muted);font:13px ui-monospace,monospace; }.wire b { color:var(--cyan); }
.resilience-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:14px; }
.resilience-grid div { min-height:130px;padding:22px;border:1px solid var(--line);border-radius:12px;display:grid;gap:16px; }
.resilience-grid b { color:var(--acid);font:800 12px ui-monospace,monospace;letter-spacing:.12em; }.resilience-grid span { color:var(--muted);font-size:clamp(16px,1.4vw,22px); }
.mesh { display:grid;grid-template-columns:repeat(2,1fr);gap:12px; }
.mesh span { border:1px solid rgba(255,129,87,.34);border-radius:8px;padding:17px;color:#d7c5bf;font:700 13px ui-monospace,monospace; }
.primitive-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:14px; }
.primitive-grid div { min-height:190px;padding:24px;border:1px solid var(--line);border-radius:12px;display:flex;flex-direction:column;gap:25px; }
.primitive-grid b { color:var(--acid);font:800 13px ui-monospace,monospace; }.primitive-grid span { color:var(--muted);font-size:clamp(17px,1.6vw,24px);line-height:1.35; }
.threats { display:grid;grid-template-columns:1fr 1fr;gap:16px; }
.threats div { padding:24px;border:1px solid rgba(255,129,87,.36);border-radius:12px;display:grid;gap:13px; }
.threats b { color:var(--orange);font:800 12px ui-monospace,monospace; }.threats span { color:var(--muted);font-size:clamp(17px,1.45vw,22px); }
.trace-line { display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap; }
.trace-line span { border:1px solid var(--line);border-radius:8px;padding:16px 14px;font:700 13px ui-monospace,monospace; }.trace-line i { color:var(--acid);font-style:normal; }
.metric-row { display:flex;justify-content:center;gap:15px;margin-top:35px;flex-wrap:wrap; }.metric-row b { color:var(--cyan);font:700 12px ui-monospace,monospace;border:1px solid #244245;border-radius:999px;padding:9px 14px; }
.provider-swap { display:grid;grid-template-columns:1fr auto 1fr;gap:25px;align-items:center; }
.provider-swap > div:not(.swap-arrow) { min-height:200px;padding:28px;border:1px solid var(--line);border-radius:12px;display:grid;gap:26px; }
.provider-swap b { color:var(--acid);font-size:clamp(24px,2.3vw,36px); }.provider-swap code { color:var(--muted);font:15px/1.6 ui-monospace,monospace; }.swap-arrow { color:var(--cyan);font-size:36px; }
.quote-slide { max-width:1050px;margin:auto; }.quote-slide span { display:block;font-size:clamp(38px,5.7vw,88px);font-weight:760;letter-spacing:-.05em;line-height:1.05; }.quote-slide small { display:block;margin-top:35px;color:var(--muted);font-size:16px; }
.before-after { display:grid;grid-template-columns:1fr 1fr;gap:22px; }
.before-after div { min-height:300px;padding:30px;border:1px solid var(--line);border-radius:14px;display:flex;flex-direction:column;gap:28px; }
.before-after b { color:var(--acid);font:800 13px ui-monospace,monospace; }.before-after span { font-size:clamp(22px,2.3vw,35px);line-height:1.35; }.before-after strong { margin-top:auto;color:var(--orange);font:750 14px ui-monospace,monospace; }
.workcells { display:grid;grid-template-columns:repeat(5,1fr);gap:11px; }
.workcells div { min-height:190px;padding:20px;border:1px solid var(--line);border-radius:12px;display:flex;flex-direction:column;gap:25px; }
.workcells b { color:var(--acid);font:800 12px ui-monospace,monospace; }.workcells span { color:var(--muted);font-size:clamp(16px,1.4vw,21px); }
.blueprint { display:grid;gap:10px; }
.layer { display:grid;grid-template-columns:240px 1fr;gap:30px;border:1px solid var(--line);border-radius:9px;padding:15px 21px; }
.layer b { color:var(--acid);font:800 12px ui-monospace,monospace; }.layer span { color:var(--muted);font-size:clamp(16px,1.45vw,21px); }
.rules { display:grid;gap:10px; }
.rules div { display:grid;grid-template-columns:70px 1fr;align-items:center;border:1px solid var(--line);border-radius:9px;padding:14px 20px; }
.rules b { color:var(--acid);font:800 13px ui-monospace,monospace; }.rules span { font-size:clamp(17px,1.6vw,24px); }
.equation.wrap { display:flex;flex-wrap:wrap; }
.source-links { color:var(--muted);font:12px ui-monospace,monospace;margin-top:22px; }.source-links a { color:var(--cyan); }
.contact-intro{text-align:center;margin-bottom:22px}.contact-intro h2{margin:0;font-size:clamp(64px,7vw,108px)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(70px,9vw,150px);max-width:1120px;margin:0 auto}.contact-card{display:flex;flex-direction:column;align-items:center;gap:16px;color:var(--ink);text-decoration:none}.contact-card img{width:min(24vw,370px);aspect-ratio:1;background:#fff;border-radius:12px;padding:10px}.contact-card span{display:flex;flex-direction:column;align-items:center;gap:7px;border-top:1px solid rgba(201,255,61,.55);padding-top:13px;min-width:280px}.contact-card b{color:var(--ink);font:850 clamp(22px,2vw,32px) ui-monospace,monospace;letter-spacing:.04em;text-align:center}.contact-card small{color:var(--muted);font:750 clamp(12px,1vw,16px) ui-monospace,monospace;letter-spacing:.08em}.contact-card:hover b{color:var(--acid)}
.history-contract{display:grid;gap:20px;place-items:center;padding:34px;border:1px solid var(--line);border-radius:14px;background:rgba(17,23,27,.72)}.history-contract>div{display:grid;grid-template-columns:1fr auto 1fr;gap:14px;align-items:center;width:100%}.history-contract span{padding:22px 16px;border:1px solid var(--line);border-radius:9px;text-align:center;font-size:clamp(18px,1.8vw,28px);font-weight:780}.history-contract b{color:var(--orange);font-size:28px}.history-contract i{color:var(--muted);font:700 12px ui-monospace,monospace;font-style:normal;letter-spacing:.08em}.history-contract strong{width:100%;padding:22px;border:1px solid var(--acid);border-radius:9px;color:var(--acid);text-align:center;font:850 clamp(25px,3vw,44px) ui-monospace,monospace}
.live-placeholder{min-height:62vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;border:1px solid var(--acid);border-radius:18px;background:radial-gradient(circle at 50% 45%,rgba(201,255,61,.08),transparent 48%)}.live-placeholder>span{color:var(--acid);font:800 13px ui-monospace,monospace;letter-spacing:.18em}.live-placeholder h2{margin:28px 0 20px}.live-placeholder p{margin:0;color:var(--muted);font-size:clamp(20px,2vw,31px)}

@media (max-width: 760px) {
  .slide { padding:28px 24px 80px; overflow:auto; }
  .slide-no { top:28px; right:24px; }
  .title-grid,.split,.json-anatomy,.demo-layout,.protocol-lanes,.system-river,.http-flow,.provider-swap,.before-after,.contact-grid { grid-template-columns:1fr; }
  .contact-intro{margin-bottom:24px}.contact-grid{grid-template-columns:1fr 1fr;gap:18px}.contact-card img{width:min(38vw,300px)}.contact-card b{font-size:16px}
  .stamp { display:none; }
  .diagram,.transport,.gateway-flow { grid-template-columns:1fr; }
  .arrow { transform:rotate(90deg); }
  .timeline { grid-template-columns:repeat(2,1fr); row-gap:25px; }
  .equation { grid-template-columns:1fr 1fr; font-size:16px; }
  .operator { display:none; }
  .loop-grid,.takeaway,.stack,.three-up,.policy-grid,.sequence,.resilience-grid,.primitive-grid,.workcells { grid-template-columns:1fr 1fr; }
  .state-machine { display:grid;grid-template-columns:1fr 1fr; }
  .sequence div:not(:last-child)::after { display:none; }
  .vennish { grid-template-columns:1fr;gap:12px; }
  .intersection { aspect-ratio:auto;margin:0;border-radius:10px;padding:18px; }
  .threats { grid-template-columns:1fr; }
  .layer { grid-template-columns:1fr;gap:8px; }
  .demo-layout { height:auto; }
  .matrix { height:360px; }
  .controls { left:12px;right:12px;bottom:10px;justify-content:center; }
}

@media print {
  html,body { overflow:visible; background:#fff; color:#000; }
  .noise,.controls,.notes { display:none; }
  .slide { position:relative; opacity:1; transform:none; display:grid; min-height:100vh; page-break-after:always; color:#111; background:#fff; }
}

/* --- story-arc additions --- */
.media-slot {
  min-height:300px;padding:36px;border:2px dashed #33424b;border-radius:16px;
  background:repeating-linear-gradient(135deg,rgba(255,255,255,.018) 0 14px,transparent 14px 28px);
  display:flex;flex-direction:column;justify-content:center;align-items:center;gap:18px;text-align:center;
}
.media-slot b { color:var(--cyan);font:800 15px ui-monospace,monospace;letter-spacing:.14em; }
.media-slot span { font-size:clamp(22px,2.3vw,36px);line-height:1.3;max-width:760px; }
.media-slot i { color:#63727a;font:italic 14px ui-monospace,monospace;letter-spacing:.04em; }
.media-slot.small { min-height:250px;padding:26px; }
.media-slot.small span { font-size:clamp(17px,1.6vw,24px); }
.split .media-slot { margin:0; }
.slide .media-slot + .sequence, .slide .media-slot + .before-after,
.slide .media-slot + .protocol-lanes { margin-top:26px; }

.gates { display:grid;grid-template-columns:repeat(3,1fr);gap:20px; }
.gates .gate {
  min-height:210px;padding:30px;border:1px solid var(--line);border-radius:14px;
  background:linear-gradient(145deg,rgba(255,255,255,.035),transparent);
  display:flex;flex-direction:column;justify-content:center;align-items:center;gap:16px;
}
.gates .gate b { color:var(--acid);font-size:clamp(38px,4.4vw,68px);letter-spacing:-.04em;line-height:1; }
.gates .gate code { color:var(--muted);font:15px/1.5 ui-monospace,monospace;text-align:center; }

.metric-row > div {
  display:flex;flex-direction:column;gap:10px;align-items:center;
  border:1px solid var(--line);border-radius:12px;padding:18px 26px;min-width:190px;
}
.metric-row > div b { border:0;padding:0;color:var(--muted);letter-spacing:.12em; }
.metric-row > div span { font-size:clamp(22px,2.2vw,34px);font-weight:700;letter-spacing:-.03em; }
.equation.wrap { justify-content:center;align-items:center;gap:16px;row-gap:18px; }
.equation.reveal .pill { padding:34px 38px;font-size:clamp(24px,2.6vw,40px);font-weight:800;letter-spacing:-.03em;line-height:1.1;text-align:center; }
.equation.reveal .operator { font-size:clamp(20px,1.9vw,30px);font-weight:700;letter-spacing:.02em; }
.equation.reveal .pill.acid { border-color:var(--acid);box-shadow:0 0 0 1px rgba(201,255,61,.28),0 22px 70px rgba(201,255,61,.09); }
.reveal-eq { display:flex;flex-direction:column;align-items:center;gap:22px; }
.reveal-eq .reveal-top { display:flex;align-items:center;justify-content:center;gap:22px;flex-wrap:wrap; }
.reveal-eq .pill { padding:34px 40px;border-radius:12px;border:1px solid var(--line);background:var(--panel);
  font-size:clamp(24px,2.6vw,40px);font-weight:800;letter-spacing:-.03em;line-height:1.12;text-align:center; }
.reveal-eq .operator { color:var(--acid);font-size:clamp(19px,1.8vw,29px);font-weight:700; }
.reveal-eq .reveal-equals { color:var(--acid);font-size:clamp(30px,2.8vw,46px);font-weight:800;line-height:1; }
.reveal-eq .pill.acid { color:var(--acid);border-color:var(--acid);
  box-shadow:0 0 0 1px rgba(201,255,61,.3),0 26px 80px rgba(201,255,61,.1); }
.sequence.five { grid-template-columns:repeat(5,1fr); }
.sequence.five div { padding:20px; }
.sequence.five code { font-size:clamp(12px,1.05vw,15px); }

/* --- embedded clip --- */
.video-frame {
  position:relative;width:100%;aspect-ratio:16/9;max-height:62vh;margin-inline:auto;
  border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#000;
  box-shadow:var(--shadow);
}
.video-frame:empty::after {
  content:"CLIP UNLOADED";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  color:#4e5a5d;font:700 13px ui-monospace,monospace;letter-spacing:.18em;
}
.video-frame iframe { position:absolute;inset:0;width:100%;height:100%;border:0; }
.video-bar { display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:18px;flex-wrap:wrap; }
.video-credit { color:var(--muted);font:14px/1.5 ui-monospace,monospace; }
.video-credit b { color:var(--cyan); }
.video-buttons { display:flex;gap:10px;align-items:center; }
.video-buttons button, .video-buttons a {
  border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:999px;
  padding:9px 16px;font:700 12px ui-monospace,monospace;letter-spacing:.12em;cursor:pointer;text-decoration:none;
}
.video-buttons button:hover, .video-buttons a:hover { border-color:var(--acid);color:var(--acid); }

/* --- inline historical images --- */
.media-img { margin:0;display:flex;flex-direction:column;gap:12px;align-items:center; }
.media-img img {
  width:100%;max-height:46vh;object-fit:contain;border-radius:14px;
  border:1px solid var(--line);background:#0d1114;box-shadow:var(--shadow);
}
.media-img figcaption { color:var(--muted);font:12px/1.5 ui-monospace,monospace;letter-spacing:.06em;text-align:center; }
.video-frame.compact { max-height:42vh; }
