:root {
  --ink: #141413;
  --body: #3d3d3a;
  --muted: #6c6a64;
  --paper: #faf9f5;
  --cream: #efe9de;
  --surface-soft: #f5f0e8;
  --surface-dark: #181715;
  --surface-dark-elevated: #252320;
  --navy: #181715;
  --blue: #5db8a6;
  --rust: #cc785c;
  --sage: #e8a55a;
  --line: #e6dfd8;
  --font-display: "Cormorant Garamond", "EB Garamond", Georgia, "Times New Roman", serif;
  --font-body: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
}

* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; }
body { color: var(--ink); background: var(--surface-dark); font-family: var(--font-body); }
button, a { font: inherit; }
button { color: inherit; }

.deck-toolbar {
  height: 64px;
  padding: 0 24px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 24px;
  color: var(--ink);
  background: var(--paper);
  border-bottom: 1px solid var(--line);
}
.deck-brand { color: inherit; text-decoration: none; font: 22px/1 var(--font-display); letter-spacing: -.02em; }
.deck-brand::before { content: "✦"; margin-right: 8px; color: var(--rust); font-family: var(--font-body); font-size: 14px; }
.deck-brand span { margin-left: 10px; color: var(--muted); font: 500 9px var(--font-body); letter-spacing: .12em; vertical-align: 3px; }
.deck-progress { min-width: 190px; display: flex; align-items: center; gap: 12px; font-size: 9px; letter-spacing: .15em; }
.progress-track { width: 120px; height: 3px; overflow: hidden; background: var(--line); border-radius: 999px; }
.progress-track i { display: block; width: 8.333%; height: 100%; background: var(--rust); border-radius: inherit; transition: width .25s ease; }
.toolbar-actions { justify-self: end; display: flex; gap: 8px; }
.toolbar-actions button, .deck-controls button, .toolbar-actions a {
  padding: 9px 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--ink);
  background: var(--paper);
  text-decoration: none;
  cursor: pointer;
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .12em;
}
.toolbar-actions a:first-child { color: #fff; background: var(--rust); border-color: var(--rust); }
.toolbar-actions button:hover, .deck-controls button:hover { background: var(--cream); }
.toolbar-actions a:first-child:hover { background: #a9583e; border-color: #a9583e; }

.deck { height: calc(100vh - 64px); padding: 22px 78px 66px; }
.slide { display: none; width: 100%; height: 100%; }
.slide.active { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; }
.slide-canvas {
  position: relative;
  width: min(100%, calc((100vh - 102px) * 1.7778));
  aspect-ratio: 16 / 9;
  max-height: 100%;
  overflow: hidden;
  flex: 0 1 auto;
  background: var(--paper);
  border-radius: 12px;
  box-shadow: 0 8px 30px rgba(0,0,0,.24);
}
.deck-controls { position: fixed; right: 24px; bottom: 17px; display: flex; gap: 7px; z-index: 10; }
.deck-controls button { width: 38px; height: 38px; padding: 0; border-color: var(--line); border-radius: 50%; font-size: 16px; }

.slide-canvas { padding: 5.6% 6%; }
.slide-kicker { margin: 0 0 2.3%; color: var(--muted); font-size: clamp(7px, .7vw, 12px); font-weight: 500; letter-spacing: .14em; }
.slide-kicker.light { color: rgba(255,255,255,.7); }
.slide-canvas h2 { margin: 0; font: 400 clamp(28px, 4.15vw, 68px)/1.05 var(--font-display); letter-spacing: -.025em; }
.slide-canvas h3 { font-family: var(--font-display); font-weight: 400; }

.cover-slide { padding: 0; color: #fff; }
.cover-image, .cover-overlay { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.cover-overlay { background: linear-gradient(90deg, rgba(24,23,21,.88) 0%, rgba(24,23,21,.54) 46%, rgba(24,23,21,.06) 76%), linear-gradient(0deg, rgba(20,20,19,.38), transparent 45%); }
.cover-copy { position: absolute; left: 7%; top: 18%; width: 58%; }
.cover-copy h1 { margin: 0; font: 400 clamp(38px, 5.5vw, 90px)/.98 var(--font-display); letter-spacing: -.035em; }
.cover-copy > p:last-child { width: 68%; margin-top: 4%; color: var(--paper); font: clamp(11px, 1.5vw, 24px)/1.5 var(--font-body); }
.cover-footer { position: absolute; left: 7%; right: 7%; bottom: 6%; display: flex; justify-content: space-between; border-top: 1px solid rgba(255,255,255,.42); padding-top: 1.5%; font-size: clamp(7px, .68vw, 11px); font-weight: 700; letter-spacing: .16em; }

.problem-grid { margin-top: 5.2%; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.problem-grid article { min-height: 125px; padding: 3.2%; display: grid; grid-template-columns: 34px 1fr; grid-template-rows: auto auto; background: var(--cream); border-radius: 12px; }
.problem-grid span { grid-row: 1 / 3; color: var(--rust); font-size: clamp(8px, .8vw, 13px); font-weight: 700; }
.problem-grid h3 { margin: 0 0 2%; font-size: clamp(14px, 1.65vw, 27px); }
.problem-grid p { margin: 0; color: var(--body); font-size: clamp(8px, 1vw, 16px); line-height: 1.55; }

.ink-slide { color: var(--paper); background: var(--surface-dark); }
.ink-slide h2 { width: 80%; }
.thesis-flow { margin: 8% 0 7%; display: flex; align-items: center; gap: 1.3%; }
.thesis-flow div { flex: 1; min-height: 82px; padding: 2.5% 2%; display: flex; flex-direction: column; justify-content: center; border: 1px solid rgba(255,255,255,.18); border-radius: 12px; }
.thesis-flow div.aal-node { color: var(--ink); background: var(--rust); border-color: var(--rust); }
.thesis-flow b { font-size: clamp(8px, .9vw, 14px); letter-spacing: .14em; }
.thesis-flow span { margin-top: 8px; color: #a09d96; font: clamp(8px, .9vw, 14px) var(--font-body); }
.thesis-flow .aal-node span { color: #3d2a24; }
.thesis-flow i { color: #a09d96; font: normal clamp(13px, 1.5vw, 24px) var(--font-display); }
.three-promises { display: grid; grid-template-columns: repeat(3, 1fr); gap: 4%; padding-top: 3%; border-top: 1px solid rgba(255,255,255,.2); }
.three-promises article { display: flex; gap: 7px; flex-direction: column; }
.three-promises strong { font: 400 clamp(16px, 1.65vw, 27px) var(--font-display); }
.three-promises span { color: #a09d96; font-size: clamp(8px, .88vw, 14px); line-height: 1.55; }

.cream-slide { background: var(--surface-soft); }
.protocol-line { margin-top: 8%; display: flex; align-items: center; }
.protocol-line article { flex: 1; min-width: 0; }
.protocol-line > i { width: 4%; height: 1px; margin: 0 1.2%; background: #9f9a8e; }
.protocol-line span { display: grid; place-items: center; width: clamp(24px, 2.8vw, 45px); aspect-ratio: 1; margin-bottom: 10%; color: #fff; background: var(--ink); border-radius: 50%; font-size: clamp(8px, .75vw, 12px); }
.protocol-line h3 { margin: 0 0 8%; font-size: clamp(12px, 1.35vw, 22px); }
.protocol-line p { margin: 0; color: var(--body); font-size: clamp(7px, .82vw, 13px); line-height: 1.55; }
.boundary-callout { position: absolute; left: 6%; right: 6%; bottom: 6%; padding: 2.2% 2.7%; display: grid; grid-template-columns: 1fr 1.5fr 2fr; align-items: center; gap: 2.5%; color: var(--paper); background: var(--surface-dark); border-radius: 12px; }
.boundary-callout span { color: #aaa99f; font-size: clamp(6px, .65vw, 10px); font-weight: 700; letter-spacing: .16em; }
.boundary-callout strong { font: 400 clamp(14px, 1.55vw, 25px) var(--font-display); }
.boundary-callout p { margin: 0; color: #c3c1b9; font-size: clamp(7px, .78vw, 12px); line-height: 1.4; }

.demo-setup-slide { display: grid; grid-template-columns: .95fr 1.05fr; gap: 7%; color: white; background: var(--rust); }
.setup-copy h2 { font-size: clamp(34px, 5.1vw, 82px); }
.setup-copy > p { width: 85%; color: rgba(255,255,255,.82); font: clamp(10px, 1.22vw, 20px)/1.55 var(--font-body); }
.demo-stats { margin-top: 10%; display: flex; gap: 9%; }
.demo-stats div { display: flex; flex-direction: column; }
.demo-stats strong { font: 400 clamp(24px, 3.4vw, 55px) var(--font-display); }
.demo-stats span { color: rgba(255,255,255,.78); font-size: clamp(7px, .7vw, 11px); text-transform: uppercase; letter-spacing: .12em; }
.prompt-visual { align-self: center; padding: 8%; color: var(--ink); background: var(--paper); border-radius: 16px; box-shadow: 0 8px 24px rgba(20,20,19,.16); }
.prompt-visual > span { font-size: clamp(7px, .7vw, 11px); font-weight: 700; letter-spacing: .16em; }
.prompt-visual blockquote { margin: 10% 0 13%; font: 400 clamp(18px, 2.6vw, 42px)/1.15 var(--font-display); letter-spacing: -.02em; }
.prompt-arrow { padding-top: 5%; border-top: 1px solid var(--line); font-size: clamp(7px, .72vw, 12px); font-weight: 700; letter-spacing: .14em; text-align: right; }

.screenshot-slide { padding: 4.8% 4.5%; display: grid; grid-template-columns: .62fr 1.38fr; align-items: center; gap: 4%; }
.screenshot-copy h2 { font-size: clamp(28px, 3.5vw, 57px); }
.screenshot-copy ul { margin: 13% 0 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.screenshot-copy li { padding: 5% 0; border-bottom: 1px solid var(--line); font-size: clamp(8px, .85vw, 14px); }
.screenshot-frame { height: 88%; padding: 1.2%; overflow: hidden; background: var(--surface-dark); border-radius: 12px; box-shadow: 0 8px 24px rgba(20,20,19,.14); }
.screenshot-frame img { width: 100%; height: 100%; object-fit: cover; object-position: top; }

.proof-slide h2 { width: 60%; }
.phase-list { position: absolute; left: 6%; width: 54%; bottom: 6%; }
.phase-list article { min-height: 42px; padding: 1.4% 2%; display: grid; grid-template-columns: 9% 1fr auto; align-items: center; border-top: 1px solid var(--line); }
.phase-list article:last-child { border-bottom: 1px solid var(--line); }
.phase-list article.highlight { color: #fff; background: var(--rust); border-color: var(--rust); border-radius: 8px; }
.phase-list span, .phase-list em { font-size: clamp(6px, .64vw, 10px); font-style: normal; letter-spacing: .12em; }
.phase-list b { font: 400 clamp(11px, 1.25vw, 20px) var(--font-display); }
.phase-list em { padding: 5px 9px; border: 1px solid currentColor; border-radius: 999px; }
.proof-metadata { position: absolute; right: 6%; bottom: 6%; width: 29%; padding: 2.5%; color: var(--paper); background: var(--surface-dark); border-radius: 12px; }
.proof-metadata > span { display: block; margin-bottom: 7%; color: #bfc4bb; font-size: clamp(6px, .64vw, 10px); letter-spacing: .14em; }
.proof-metadata div { padding: 4% 0; display: flex; align-items: baseline; gap: 8px; border-top: 1px solid rgba(255,255,255,.17); font-size: clamp(7px, .7vw, 11px); }
.proof-metadata b { min-width: 20%; color: #fff; font: 400 clamp(14px, 1.65vw, 27px) var(--font-display); }

.human-slide { padding: 4.8% 5%; display: grid; grid-template-columns: .9fr 1.1fr; gap: 5%; align-items: center; background: var(--surface-soft); }
.human-copy h2 { font-size: clamp(28px, 4vw, 65px); }
.human-copy > p { width: 90%; color: var(--body); font: clamp(9px, 1.05vw, 17px)/1.55 var(--font-body); }
.actor-comparison { margin-top: 9%; display: grid; grid-template-columns: 1fr 1fr; gap: 3%; }
.actor-comparison > div { padding: 7%; background: var(--paper); border-top: 4px solid var(--blue); border-radius: 12px; }
.actor-comparison > div.human { border-color: var(--rust); }
.actor-comparison span { font-size: clamp(6px, .64vw, 10px); font-weight: bold; letter-spacing: .14em; }
.actor-comparison b { min-height: 3.5em; margin: 8% 0; display: block; font: 400 clamp(10px, 1vw, 16px)/1.35 var(--font-display); }
.actor-comparison code { color: #666; font-size: clamp(6px, .6vw, 9px); }
.human-shot { height: 90%; padding: 1.2%; overflow: hidden; background: var(--surface-dark); border-radius: 12px; }
.human-shot img { width: 100%; height: 100%; object-fit: cover; object-position: top; }

.boundary-slide { color: var(--paper); background: var(--surface-dark); }
.boundary-slide h2 { width: 68%; font-size: clamp(34px, 5vw, 81px); }
.boundary-slide h2 em { color: var(--rust); font-style: italic; }
.boundary-code { position: absolute; right: 6%; top: 21%; width: 30%; overflow: hidden; background: var(--surface-dark-elevated); border: 1px solid rgba(255,255,255,.1); border-radius: 12px; }
.boundary-code div { padding: 6.5% 7%; display: flex; justify-content: space-between; border-bottom: 1px solid rgba(255,255,255,.1); font: clamp(7px, .74vw, 12px) var(--font-mono); }
.boundary-code div:last-child { border: 0; }
.boundary-code span { color: #a5aaa1; }
.boundary-code strong { color: #fff; }
.boundary-statement { position: absolute; left: 6%; bottom: 7%; width: 52%; margin: 0; color: #a09d96; font: clamp(10px, 1.3vw, 21px)/1.55 var(--font-body); }

.platform-slide h2 { width: 70%; }
.vertical-grid { position: absolute; left: 6%; right: 6%; bottom: 6%; display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.vertical-grid article { min-height: 190px; padding: 8%; background: var(--cream); border-radius: 12px; }
.vertical-grid article > span { color: var(--rust); font-size: clamp(17px, 2vw, 32px); }
.vertical-grid h3 { margin: 18% 0 8%; font-size: clamp(13px, 1.45vw, 24px); }
.vertical-grid p { margin: 0; color: var(--body); font-size: clamp(7px, .78vw, 13px); line-height: 1.55; }

.roadmap-slide { background: var(--surface-soft); }
.roadmap { position: absolute; left: 6%; right: 6%; bottom: 6%; display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.roadmap article { min-height: 235px; padding: 3.3%; background: var(--paper); border-radius: 12px; }
.roadmap article:nth-child(2) { background: var(--cream); }
.roadmap span { color: var(--rust); font-size: clamp(6px, .67vw, 11px); font-weight: bold; letter-spacing: .15em; }
.roadmap h3 { margin: 8% 0 10%; font-size: clamp(16px, 1.72vw, 28px); }
.roadmap ul { margin: 0; padding: 0; list-style: none; }
.roadmap li { padding: 3.5% 0; border-top: 1px solid #c6c1b7; color: #5e5f59; font-size: clamp(7px, .77vw, 12px); }

.closing-slide { color: var(--paper); background: var(--surface-dark); }
.closing-slide h2 { margin-top: 7%; font-size: clamp(40px, 6.2vw, 100px); }
.closing-slide h3 { margin: 2% 0 0; color: #a09d96; font: italic 400 clamp(22px, 3.2vw, 52px) var(--font-display); }
.closing-rule { width: 45%; height: 3px; margin-top: 6%; background: var(--rust); border-radius: 999px; }
.closing-line { color: #a09d96; font: clamp(11px, 1.25vw, 20px) var(--font-body); }
.closing-line b { color: white; }
.closing-footer { position: absolute; left: 6%; right: 6%; bottom: 6%; padding-top: 2%; display: flex; justify-content: space-between; border-top: 1px solid rgba(255,255,255,.22); font-size: clamp(7px, .72vw, 12px); letter-spacing: .16em; }

@media (max-width: 900px) {
  .deck-toolbar { padding: 0 12px; grid-template-columns: auto 1fr auto; gap: 10px; }
  .deck-brand span, .progress-track { display: none; }
  .deck-progress { min-width: 0; justify-content: center; }
  .toolbar-actions button { padding: 8px; font-size: 7px; }
  .deck { padding: 14px 45px 58px; }
  .deck-controls { right: 10px; bottom: 12px; }
}

@media (max-width: 700px) {
  .slide-canvas { padding: 5% 6%; }
  .slide-canvas h2 { font-size: clamp(20px, 4.6vw, 26px); line-height: .96; }
  .slide-kicker { margin-bottom: 1.7%; }

  .problem-grid { margin-top: 4%; }
  .problem-grid article { min-height: 78px; padding: 2.4%; grid-template-columns: 27px 1fr; }
  .problem-grid h3 { margin-bottom: 1%; font-size: clamp(10px, 2.25vw, 14px); }
  .problem-grid p { font-size: clamp(6px, 1.35vw, 9px); line-height: 1.35; }

  .setup-copy h2 { font-size: clamp(24px, 5.5vw, 31px); }
  .screenshot-copy h2 { font-size: clamp(21px, 4.8vw, 27px); }

  .proof-slide h2 { width: 54%; font-size: clamp(20px, 4.4vw, 25px); }
  .phase-list { bottom: 4%; }
  .phase-list article { min-height: 28px; padding: .9% 2%; }
  .phase-list b { font-size: clamp(8px, 1.7vw, 11px); }
  .proof-metadata { bottom: 4%; padding: 2%; }
  .proof-metadata > span { margin-bottom: 4%; }
  .proof-metadata div { padding: 2.7% 0; }
  .proof-metadata b { font-size: clamp(11px, 2.4vw, 15px); }

  .boundary-slide h2 { width: 59%; font-size: clamp(25px, 5.3vw, 31px); }
  .closing-slide h2 { font-size: clamp(31px, 6.5vw, 38px); }

  .vertical-grid { bottom: 4%; }
  .vertical-grid article { min-height: 145px; padding: 5%; }
  .vertical-grid h3 { margin: 10% 0 5%; font-size: clamp(9px, 1.9vw, 12px); }
  .vertical-grid p { font-size: clamp(5px, 1.2vw, 8px); line-height: 1.35; }

  .roadmap { bottom: 4%; }
  .roadmap article { min-height: 150px; padding: 2.5%; }
  .roadmap h3 { margin: 5% 0 6%; font-size: clamp(11px, 2.2vw, 14px); line-height: 1; }
  .roadmap li { padding: 2.3% 0; font-size: clamp(5px, 1.15vw, 7px); }
}

@media print {
  @page { size: 13.333in 7.5in; margin: 0; }
  html, body { width: 13.333in; background: white; }
  .deck-toolbar, .deck-controls { display: none !important; }
  .deck { width: 13.333in; height: auto; padding: 0; }
  .slide, .slide.active { display: block; width: 13.333in; height: 7.5in; page-break-after: always; break-after: page; }
  .slide:last-child { page-break-after: auto; break-after: auto; }
  .slide-canvas { width: 13.333in; height: 7.5in; max-height: none; aspect-ratio: auto; border-radius: 0; box-shadow: none; }
}
