/* ABOUTME: Presentation-specific layouts for the 14-slide Gate and Room talk. */
/* ABOUTME: Uses one persistent semantic diagram to move from approval gate to shared room. */

:root {
  --violet: #9a87d4;
  --violet-soft: rgba(154, 135, 212, .14);
  --paper: #e8e4d9;
  --ink: #161410;
  --signal: #d5b660;
}

body { overflow: hidden; }

.deck-logo {
  position: fixed;
  right: 26px;
  top: 22px;
  width: 134px;
  height: auto;
  opacity: .3;
  z-index: 30;
  pointer-events: none;
}

.reveal .slide-number {
  right: 28px;
  bottom: 22px;
  background: transparent;
  color: var(--text-faint);
  font: 500 11px/1 'JetBrains Mono', monospace;
  letter-spacing: .1em;
}

.reveal .slides > section {
  overflow: hidden;
  isolation: isolate;
  padding: 4.45rem 5.7rem 3.7rem;
}

.reveal .slides > section::after {
  content: "";
  position: absolute;
  left: 5.7rem;
  right: 5.7rem;
  bottom: 2.85rem;
  height: 1px;
  background: linear-gradient(90deg, var(--rule), transparent 76%);
  z-index: -1;
}

.reveal p,
.reveal h1,
.reveal h2,
.reveal h3,
.reveal blockquote,
.reveal figure { margin: 0; }

.reveal img { max-width: none; max-height: none; }

.reveal h2 {
  font-size: 3.2rem;
  line-height: .99;
  max-width: 22ch;
}

.reveal .kicker {
  margin-bottom: 2.05rem;
  font-size: .67rem;
}

.slide-landing {
  margin-top: auto !important;
  font: italic 400 1.42rem/1.22 'Instrument Serif', Georgia, serif;
  color: var(--text-dim);
  max-width: none !important;
}

.slide-landing em { color: var(--text-bright); }

/* Opening */
.title-frame {
  background:
    radial-gradient(circle at 80% 28%, rgba(201, 165, 78, .1), transparent 24%),
    linear-gradient(112deg, transparent 0 70%, rgba(232, 227, 217, .025) 70% 70.15%, transparent 70.15%);
}

.title-frame::before {
  content: "";
  position: absolute;
  right: 8.5rem;
  top: 8.4rem;
  width: 16.5rem;
  height: 16.5rem;
  border: 1px solid rgba(201, 165, 78, .22);
  border-radius: 50%;
  box-shadow: inset 0 0 0 3.15rem var(--bg), inset 0 0 0 3.2rem rgba(201, 165, 78, .1);
}

.title-frame::after { display: none !important; }

.title-lockup { margin-top: 1rem; }
.title-overline {
  display: block;
  margin-bottom: .75rem;
  font: italic 400 1.15rem/1 'Instrument Serif', Georgia, serif;
  color: var(--text-dim);
}

.title-frame h1 {
  font-size: 5.4rem;
  line-height: .88;
  letter-spacing: -.047em;
  max-width: 9ch;
}

.title-frame h1 em { color: var(--gold); }
.title-lockup > p {
  margin-top: 1.7rem !important;
  max-width: 28em !important;
  font-size: 1rem;
  color: var(--text-dim);
}

.opening-threshold {
  position: absolute;
  right: 6.5rem;
  bottom: 5.2rem;
  width: 31rem;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: .9rem;
  font: 500 .57rem/1 'JetBrains Mono', monospace;
  letter-spacing: .17em;
  color: var(--text-faint);
}

.opening-threshold i { height: 1px; background: linear-gradient(90deg, var(--rule), var(--gold)); }
.opening-threshold b { font-weight: 500; color: var(--gold); }

/* Scenario */
.scenario-frame {
  background: radial-gradient(circle at 13% 18%, rgba(77, 168, 160, .08), transparent 22%);
}

.scenario-message {
  position: relative;
  width: 70%;
  padding: 2rem 2.3rem 2.1rem;
  border-top: 1px solid rgba(77, 168, 160, .5);
  border-bottom: 1px solid var(--rule);
  background: linear-gradient(90deg, rgba(77, 168, 160, .08), transparent);
  font: 400 3.05rem/1.1 'Instrument Serif', Georgia, serif;
  color: var(--text-bright);
}

.scenario-message::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background: var(--teal);
}

.scenario-message span {
  display: block;
  margin-bottom: 1.15rem;
  font: 500 .62rem/1 'JetBrains Mono', monospace;
  letter-spacing: .18em;
  color: var(--teal);
}

.scenario-message em { color: var(--gold); }

.scenario-questions {
  position: absolute;
  right: 5.7rem;
  top: 13.15rem;
  width: 25rem;
  border-left: 1px solid var(--rule);
}

.scenario-questions p {
  max-width: none !important;
  padding: 1rem 0 1rem 1.55rem;
  border-bottom: 1px solid var(--rule);
  font: italic 400 1.38rem/1.22 'Instrument Serif', Georgia, serif;
  color: var(--text);
}

.scenario-questions b {
  display: inline-block;
  width: 2rem;
  font: 500 .57rem/1 'JetBrains Mono', monospace;
  color: var(--text-faint);
}

/* Delegability */
.delegable-frame h2 { font-size: 3.35rem; }
.delegable-layout {
  display: grid;
  grid-template-columns: 1.42fr .75fr;
  gap: 3.2rem;
  margin-top: 2.25rem;
  align-items: stretch;
}

.task-specification {
  border: 1px solid var(--rule);
  background: linear-gradient(135deg, rgba(232, 227, 217, .03), transparent);
}

.task-heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem 1.3rem;
  border-bottom: 1px solid var(--rule);
  font: 500 .61rem/1 'JetBrains Mono', monospace;
  letter-spacing: .15em;
  color: var(--text-dim);
}

.task-heading b { color: var(--gold); font-weight: 500; }
.task-specification ul { list-style: none; margin: 0; padding: .45rem 1.3rem .8rem; }
.task-specification li {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: .8rem .1rem;
  border-bottom: 1px solid var(--rule);
  font: italic 400 1.42rem/1.15 'Instrument Serif', Georgia, serif;
}
.task-specification li:last-child { border-bottom: 0; }
.task-specification li i {
  width: .62rem;
  height: .62rem;
  border: 1px solid var(--gold);
  box-shadow: inset 0 0 0 2px var(--bg);
  background: var(--gold);
  flex: 0 0 auto;
}

.ablation-evidence {
  border-top: 2px solid var(--gold);
  padding: 1.15rem 1.25rem .9rem;
  background: var(--bg-2);
}
.ablation-evidence > span,
.ablation-evidence small {
  display: block;
  font: 500 .54rem/1.4 'JetBrains Mono', monospace;
  letter-spacing: .14em;
  color: var(--text-faint);
}
.ablation-evidence > div {
  display: grid;
  grid-template-columns: 5.3rem 1fr auto 1fr;
  align-items: baseline;
  gap: .7rem;
  padding: 1rem 0;
  border-bottom: 1px solid var(--rule);
}
.ablation-evidence > div b {
  font: 500 .62rem/1 'JetBrains Mono', monospace;
  color: var(--text-dim);
}
.ablation-evidence > div em,
.ablation-evidence > div strong {
  font: italic 400 2.25rem/1 'Instrument Serif', Georgia, serif;
}
.ablation-evidence > div em { color: var(--text-faint); }
.ablation-evidence > div strong { color: var(--gold); }
.ablation-evidence > div i { color: var(--text-faint); font-style: normal; }
.ablation-evidence small { margin-top: .8rem; letter-spacing: .05em; }

/* Attention bottleneck */
.attention-frame h2 { font-size: 3.4rem; }
.attention-layout {
  display: grid;
  grid-template-columns: 1.3fr .85fr;
  gap: 2.7rem;
  margin-top: 1.8rem;
  min-height: 20rem;
}

.fanout-diagram {
  display: grid;
  grid-template-columns: 8.6rem 1fr 12rem 1fr 9rem;
  align-items: center;
  min-height: 18.8rem;
  border-top: 1px solid var(--rule);
  border-bottom: 1px solid var(--rule);
}

.fanout-task,
.fanout-human {
  padding: 1rem .85rem;
  border: 1px solid var(--rule);
  background: var(--bg-2);
}
.fanout-task { border-left: 2px solid var(--teal); }
.fanout-human { border-left: 2px solid var(--gold); }
.fanout-task span,
.fanout-human span {
  display: block;
  margin-bottom: .6rem;
  font: 500 .53rem/1 'JetBrains Mono', monospace;
  letter-spacing: .14em;
  color: var(--text-faint);
}
.fanout-task b,
.fanout-human b {
  font: italic 400 1rem/1.15 'Instrument Serif', Georgia, serif;
  color: var(--text-bright);
}
.fanout-lines { height: 10rem; position: relative; }
.fanout-lines::before,
.fanout-lines::after {
  content: "";
  position: absolute;
  top: 50%;
  height: 1px;
  background: var(--rule);
}
.left-lines::before { left: 0; right: 50%; }
.left-lines::after { right: 0; width: 50%; box-shadow: 0 -4.5rem 0 var(--rule), 0 4.5rem 0 var(--rule); }
.right-lines::before { left: 0; width: 50%; box-shadow: 0 -4.5rem 0 var(--rule), 0 4.5rem 0 var(--rule); }
.right-lines::after { left: 50%; right: 0; }
.workstream-stack { display: grid; gap: .68rem; }
.workstream-stack span {
  padding: .62rem .85rem;
  border-left: 2px solid var(--teal);
  background: rgba(77, 168, 160, .07);
  font: 500 .58rem/1 'JetBrains Mono', monospace;
  letter-spacing: .09em;
  text-transform: uppercase;
  color: var(--text);
}
.workstream-stack span:nth-child(2) { border-color: var(--coral); background: rgba(212,115,94,.07); }
.workstream-stack span:nth-child(3) { border-color: var(--violet); background: var(--violet-soft); }
.workstream-stack span:nth-child(4) { border-color: var(--gold); background: var(--gold-soft); }

.product-proof { display: grid; grid-template-rows: 1fr 1fr; gap: 1rem; }
.product-proof figure {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--rule);
  background: var(--bg-2);
}
.product-proof img {
  width: 100%;
  height: 8.2rem;
  object-fit: cover;
  object-position: center;
  display: block;
  filter: saturate(.82) contrast(.96);
}
.product-proof figcaption {
  display: flex;
  justify-content: space-between;
  padding: .55rem .7rem;
  font: 500 .51rem/1 'JetBrains Mono', monospace;
  letter-spacing: .08em;
  color: var(--text-dim);
}
.product-proof figcaption b { color: var(--gold); }

/* Gate / room analogy system */
.analogy-frame h2 { font-size: 3.25rem; max-width: 26ch; }
.analogy-question {
  margin-top: .7rem !important;
  max-width: none !important;
  font: italic 400 1.3rem/1.2 'Instrument Serif', Georgia, serif;
  color: var(--text-dim);
}

.gate-room-figure {
  --figure-scale: 1;
  position: relative;
  width: 100%;
  height: 21.25rem;
  margin-top: 1.25rem;
  border-top: 1px solid var(--rule);
  border-bottom: 1px solid var(--rule);
  background:
    linear-gradient(90deg, transparent 0 24.9%, rgba(232,227,217,.018) 25% 25.1%, transparent 25.2% 49.9%, rgba(232,227,217,.018) 50% 50.1%, transparent 50.2% 74.9%, rgba(232,227,217,.018) 75% 75.1%, transparent 75.2%);
}

.room-shell,
.world-zone,
.threshold,
.task-artifact,
.participant,
.history-trail,
.crossing-request,
.receipt,
.technical-boundary {
  position: absolute;
  box-sizing: border-box;
}

.room-shell {
  left: 4%;
  top: 8%;
  width: 79%;
  height: 82%;
  border: 1px solid rgba(232, 227, 217, .16);
  background: linear-gradient(135deg, rgba(232,227,217,.025), transparent 60%);
}
.room-shell > span,
.world-zone > span,
.technical-boundary > span {
  position: absolute;
  left: .75rem;
  top: .65rem;
  font: 500 .5rem/1 'JetBrains Mono', monospace;
  letter-spacing: .15em;
  color: var(--text-faint);
}

.world-zone {
  right: 0;
  top: 8%;
  width: 16%;
  height: 82%;
  background: linear-gradient(90deg, rgba(201,165,78,.025), rgba(201,165,78,.08));
}

.threshold {
  left: 83%;
  top: 4%;
  width: 2rem;
  height: 90%;
  text-align: center;
}
.threshold i {
  display: block;
  position: absolute;
  left: 50%;
  top: 0;
  bottom: 0;
  width: 2px;
  background: var(--gold);
  box-shadow: 0 0 1.5rem rgba(201,165,78,.22);
}
.threshold span {
  position: absolute;
  left: 50%;
  bottom: .55rem;
  transform: translateX(-50%) rotate(-90deg);
  transform-origin: center;
  font: 500 .51rem/1 'JetBrains Mono', monospace;
  letter-spacing: .14em;
  color: var(--gold);
}

.task-artifact {
  left: 35%;
  top: 14%;
  width: 14rem;
  padding: .8rem .95rem;
  border-left: 3px solid var(--teal);
  background: var(--paper);
  color: var(--ink);
  box-shadow: 0 1rem 2.5rem rgba(0,0,0,.2);
}
.task-artifact span,
.task-artifact b { display: block; }
.task-artifact span {
  margin-bottom: .45rem;
  font: 600 .5rem/1 'JetBrains Mono', monospace;
  letter-spacing: .12em;
  color: #6e675c;
}
.task-artifact b { font: italic 400 1.15rem/1 'Instrument Serif', Georgia, serif; }

.participant {
  width: 6.5rem;
  text-align: center;
  color: var(--text-dim);
}
.participant i {
  display: grid;
  place-items: center;
  width: 2.55rem;
  height: 2.55rem;
  margin: 0 auto .38rem;
  border: 1px solid currentColor;
  border-radius: 50%;
  background: var(--bg);
  font: 500 .67rem/1 'JetBrains Mono', monospace;
  font-style: normal;
  color: inherit;
}
.participant span,
.participant small { display: block; }
.participant span { font: 500 .58rem/1 'JetBrains Mono', monospace; color: var(--text); }
.participant small {
  margin-top: .28rem;
  font: 500 .42rem/1 'JetBrains Mono', monospace;
  letter-spacing: .08em;
  color: var(--text-faint);
  text-transform: uppercase;
}
.participant.human { left: 13%; top: 62%; color: var(--gold); }
.participant.agent { color: var(--teal); }
.participant.bumble { left: 12%; top: 30%; }
.participant.fizz { left: 30%; top: 58%; color: var(--coral); }
.participant.honey { left: 55%; top: 56%; color: var(--violet); }

.history-trail {
  left: 39%;
  top: 38%;
  width: 35%;
  display: grid;
  gap: .4rem;
}
.history-trail span {
  padding: .38rem .55rem;
  border-bottom: 1px solid var(--rule);
  font: 500 .5rem/1.2 'JetBrains Mono', monospace;
  color: var(--text-dim);
}

.crossing-request {
  left: 69%;
  top: 64%;
  display: flex;
  align-items: center;
  gap: .55rem;
  color: var(--gold);
}
.crossing-request span {
  padding: .45rem .6rem;
  border: 1px solid rgba(201,165,78,.35);
  background: var(--bg);
  font: 500 .49rem/1 'JetBrains Mono', monospace;
  letter-spacing: .1em;
}
.crossing-request i { font-style: normal; font-size: 1.15rem; }

.receipt {
  left: 67%;
  top: 80%;
  padding: .55rem .7rem;
  border-top: 1px solid var(--gold);
  background: rgba(201,165,78,.07);
}
.receipt span,
.receipt b { display: block; }
.receipt span {
  margin-bottom: .32rem;
  font: 500 .44rem/1 'JetBrains Mono', monospace;
  letter-spacing: .1em;
  color: var(--text-faint);
}
.receipt b { font: italic 400 .77rem/1 'Instrument Serif', Georgia, serif; color: var(--text); }

.technical-boundary {
  left: 3%;
  top: 4%;
  width: 91%;
  height: 90%;
  border: 1px dashed var(--coral);
  opacity: 0;
}
.technical-boundary > span { color: var(--coral); }

/* State 1: clean gate */
.gate-room-figure[data-diagram-state="gate-clean"] .room-shell {
  left: 4%; width: 63%; opacity: .08;
}
.gate-room-figure[data-diagram-state="gate-clean"] .room-shell span { opacity: 0; }
.gate-room-figure[data-diagram-state="gate-clean"] .world-zone { width: 29%; opacity: 1; }
.gate-room-figure[data-diagram-state="gate-clean"] .threshold { left: 70%; }
.gate-room-figure[data-diagram-state="gate-clean"] .task-artifact { left: 12%; top: 39%; }
.gate-room-figure[data-diagram-state="gate-clean"] .human { left: 59%; top: 39%; }
.gate-room-figure[data-diagram-state="gate-clean"] .agent,
.gate-room-figure[data-diagram-state="gate-clean"] .history-trail,
.gate-room-figure[data-diagram-state="gate-clean"] .receipt { opacity: 0; }
.gate-room-figure[data-diagram-state="gate-clean"] .crossing-request { left: 44%; top: 48%; }

.gate-examples {
  display: flex;
  gap: 1.5rem;
  margin-top: .8rem;
  font: 500 .53rem/1 'JetBrains Mono', monospace;
  letter-spacing: .11em;
  text-transform: uppercase;
  color: var(--text-faint);
}
.gate-examples span::before { content: "·"; margin-right: .5rem; color: var(--gold); }

/* State 2: congested gate */
.congested-frame h2 { font-size: 3rem; }
.gate-room-figure[data-diagram-state="gate-congested"] { margin-top: 1rem; height: 20.25rem; }
.gate-room-figure[data-diagram-state="gate-congested"] .room-shell { left: 4%; width: 63%; opacity: .08; }
.gate-room-figure[data-diagram-state="gate-congested"] .room-shell span { opacity: 0; }
.gate-room-figure[data-diagram-state="gate-congested"] .world-zone { width: 29%; }
.gate-room-figure[data-diagram-state="gate-congested"] .threshold { left: 70%; }
.gate-room-figure[data-diagram-state="gate-congested"] .task-artifact { left: 7%; top: 11%; }
.gate-room-figure[data-diagram-state="gate-congested"] .human { left: 59%; top: 39%; color: var(--coral); }
.gate-room-figure[data-diagram-state="gate-congested"] .bumble { left: 8%; top: 60%; }
.gate-room-figure[data-diagram-state="gate-congested"] .fizz { left: 21%; top: 60%; }
.gate-room-figure[data-diagram-state="gate-congested"] .honey { left: 34%; top: 60%; }
.gate-room-figure[data-diagram-state="gate-congested"] .history-trail { left: 28%; top: 12%; width: 27%; }
.gate-room-figure[data-diagram-state="gate-congested"] .crossing-request { left: 46%; top: 47%; }
.gate-room-figure[data-diagram-state="gate-congested"] .receipt { left: 57%; top: 72%; }
.approval-quote {
  margin-top: .75rem !important;
  font: italic 400 1.05rem/1.2 'Instrument Serif', Georgia, serif;
  color: var(--text-dim);
}

/* State 3: room */
.room-frame { background: radial-gradient(circle at 55% 55%, rgba(77,168,160,.06), transparent 38%); }
.gate-room-figure[data-diagram-state="room-open"] .room-shell { left: 3%; width: 94%; opacity: 1; border-color: rgba(77,168,160,.28); }
.gate-room-figure[data-diagram-state="room-open"] .room-shell > span { color: var(--teal); }
.gate-room-figure[data-diagram-state="room-open"] .world-zone,
.gate-room-figure[data-diagram-state="room-open"] .threshold,
.gate-room-figure[data-diagram-state="room-open"] .technical-boundary { opacity: 0; }
.gate-room-figure[data-diagram-state="room-open"] .task-artifact { left: 37%; top: 14%; }
.gate-room-figure[data-diagram-state="room-open"] .human { left: 10%; top: 62%; }
.gate-room-figure[data-diagram-state="room-open"] .bumble { left: 10%; top: 27%; }
.gate-room-figure[data-diagram-state="room-open"] .fizz { left: 26%; top: 59%; }
.gate-room-figure[data-diagram-state="room-open"] .honey { left: 80%; top: 55%; }
.gate-room-figure[data-diagram-state="room-open"] .history-trail { left: 40%; top: 42%; width: 33%; }
.gate-room-figure[data-diagram-state="room-open"] .crossing-request { left: 67%; top: 73%; opacity: .6; }
.gate-room-figure[data-diagram-state="room-open"] .receipt { left: 67%; top: 82%; opacity: .55; }

/* Hinge */
.hinge-frame h2 { font-size: 2.95rem; max-width: 28ch; }
.hinge-layout {
  display: grid;
  grid-template-columns: 1.24fr .86fr;
  gap: 2.2rem;
  margin-top: 1.6rem;
  min-height: 26rem;
}
.buzz-screenshot {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--rule);
  background: var(--bg-2);
}
.buzz-screenshot img {
  width: 100%;
  height: 26rem;
  object-fit: cover;
  object-position: center;
  display: block;
}
.buzz-screenshot::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent 60%, rgba(13,12,10,.1));
  pointer-events: none;
}
.buzz-screenshot figcaption {
  position: absolute;
  left: .8rem;
  bottom: .7rem;
  z-index: 2;
  padding: .42rem .55rem;
  background: rgba(13,12,10,.86);
  font: 500 .5rem/1 'JetBrains Mono', monospace;
  letter-spacing: .13em;
  color: var(--gold);
}
.hinge-argument { display: flex; flex-direction: column; }
.hinge-argument blockquote {
  padding: 1.2rem 1.3rem 1.25rem;
  border-left: 3px solid var(--violet);
  background: var(--violet-soft);
  font: italic 400 1.48rem/1.18 'Instrument Serif', Georgia, serif;
  color: var(--text-bright);
}
.hinge-argument blockquote span {
  display: block;
  margin-bottom: .7rem;
  font: 500 .54rem/1 'JetBrains Mono', monospace;
  letter-spacing: .14em;
  color: var(--violet);
}
.hinge-argument > p {
  margin-top: .8rem !important;
  font-size: .72rem;
  color: var(--text-dim);
}
.gate-room-figure.compact {
  height: 13.2rem;
  margin-top: auto;
}
.compact .room-shell > span,
.compact .world-zone > span { font-size: .35rem; top: .38rem; left: .42rem; }
.compact .task-artifact { width: 8rem; padding: .45rem .55rem; }
.compact .task-artifact span { font-size: .34rem; margin-bottom: .25rem; }
.compact .task-artifact b { font-size: .7rem; }
.compact .participant { width: 3.2rem; }
.compact .participant i { width: 1.55rem; height: 1.55rem; font-size: .42rem; margin-bottom: .2rem; }
.compact .participant span { font-size: .35rem; }
.compact .participant small { display: none; }
.compact .history-trail span { font-size: .34rem; padding: .24rem .3rem; }
.compact .crossing-request span { font-size: .32rem; padding: .28rem .35rem; }
.compact .receipt { padding: .32rem .4rem; }
.compact .receipt span { font-size: .3rem; }
.compact .receipt b { font-size: .52rem; }
.gate-room-figure[data-diagram-state="room-gated"] .room-shell { left: 2%; top: 7%; width: 75%; height: 85%; border-color: rgba(77,168,160,.3); }
.gate-room-figure[data-diagram-state="room-gated"] .world-zone { top: 7%; width: 22%; height: 85%; }
.gate-room-figure[data-diagram-state="room-gated"] .threshold { left: 76%; top: 4%; height: 91%; }
.gate-room-figure[data-diagram-state="room-gated"] .task-artifact { left: 25%; top: 15%; }
.gate-room-figure[data-diagram-state="room-gated"] .human { left: 63%; top: 56%; }
.gate-room-figure[data-diagram-state="room-gated"] .bumble { left: 8%; top: 58%; }
.gate-room-figure[data-diagram-state="room-gated"] .fizz { left: 24%; top: 62%; }
.gate-room-figure[data-diagram-state="room-gated"] .honey { left: 42%; top: 57%; }
.gate-room-figure[data-diagram-state="room-gated"] .history-trail { left: 28%; top: 41%; width: 25%; }
.gate-room-figure[data-diagram-state="room-gated"] .crossing-request { left: 62%; top: 33%; }
.gate-room-figure[data-diagram-state="room-gated"] .receipt { left: 61%; top: 77%; }

/* Identity */
.identity-frame h2 { font-size: 3.45rem; }
.identity-chain {
  display: grid;
  grid-template-columns: 1fr 8rem 1fr 8rem 1fr;
  align-items: center;
  margin-top: 2.7rem;
  border-top: 1px solid var(--rule);
  border-bottom: 1px solid var(--rule);
  min-height: 16rem;
}
.identity-node { text-align: center; }
.identity-node i {
  display: grid;
  place-items: center;
  width: 4.2rem;
  height: 4.2rem;
  margin: 0 auto 1rem;
  border: 1px solid currentColor;
  border-radius: 50%;
  font: 500 .8rem/1 'JetBrains Mono', monospace;
  font-style: normal;
}
.identity-node span,
.identity-node b { display: block; }
.identity-node span { font: 500 .58rem/1 'JetBrains Mono', monospace; letter-spacing: .13em; color: var(--text); }
.identity-node b { margin-top: .6rem; font: italic 400 1rem/1 'Instrument Serif', serif; color: var(--text-dim); }
.identity-node.owner { color: var(--gold); }
.identity-node.agent { color: var(--violet); }
.identity-node.artifact { color: var(--teal); }
.identity-link { text-align: center; color: var(--text-faint); }
.identity-link span { display: block; font: 500 .47rem/1 'JetBrains Mono', monospace; letter-spacing: .14em; }
.identity-link i { display: block; margin-top: .8rem; font: normal 400 1.2rem/1 sans-serif; color: var(--gold); }
.identity-thesis {
  display: grid;
  grid-template-columns: .85fr 1.25fr;
  gap: 2.5rem;
  align-items: baseline;
  margin-top: 1.7rem;
}
.identity-thesis blockquote { font: italic 400 1.9rem/1.1 'Instrument Serif', serif; color: var(--text-bright); }
.identity-thesis p { max-width: none !important; font-size: .72rem; color: var(--text-dim); }

/* Legibility */
.legibility-frame h2 { font-size: 3.45rem; }
.activity-composition {
  display: grid;
  grid-template-columns: .65fr 1.35fr;
  gap: 3rem;
  margin-top: 2.25rem;
}
.presence-rail { border-top: 2px solid var(--teal); padding-top: .55rem; }
.presence-rail > div {
  display: grid;
  grid-template-columns: 1rem 6rem 1fr;
  align-items: center;
  gap: .6rem;
  padding: .78rem .1rem;
  border-bottom: 1px solid var(--rule);
}
.presence-rail i { width: .47rem; height: .47rem; border-radius: 50%; background: var(--teal); box-shadow: 0 0 .8rem rgba(77,168,160,.45); }
.presence-rail b { font: 500 .6rem/1 'JetBrains Mono', monospace; color: var(--text); }
.presence-rail span { font: italic 400 .92rem/1 'Instrument Serif', serif; color: var(--text-dim); }
.presence-rail small {
  display: block;
  margin-top: 1rem;
  font: 500 .48rem/1.4 'JetBrains Mono', monospace;
  letter-spacing: .1em;
  color: var(--text-faint);
}
.activity-sentences { border-top: 1px solid var(--rule); }
.activity-sentences article {
  display: grid;
  grid-template-columns: 2rem 1fr;
  gap: 1rem;
  align-items: baseline;
  padding: 1rem .2rem;
  border-bottom: 1px solid var(--rule);
}
.activity-sentences article > span { font: 500 .5rem/1 'JetBrains Mono', monospace; color: var(--text-faint); }
.activity-sentences p { max-width: none !important; font: 400 1.03rem/1.3 'Hanken Grotesk', sans-serif; color: var(--text); }
.activity-sentences p b { font-weight: 500; color: var(--text-bright); }
.activity-sentences p i { font: italic 400 1.05rem/1 'Instrument Serif', serif; color: var(--teal); }
.activity-sentences .activity-important { background: linear-gradient(90deg, var(--gold-soft), transparent); }
.activity-sentences .activity-important p i { color: var(--gold); }
.legibility-rule {
  display: flex;
  align-items: center;
  gap: .7rem;
  margin-top: 1.65rem !important;
  max-width: none !important;
  font: 500 .57rem/1 'JetBrains Mono', monospace;
  letter-spacing: .11em;
  text-transform: uppercase;
  color: var(--text-dim);
}
.legibility-rule i { font-style: normal; color: var(--gold); }
.legibility-rule b { margin-left: auto; font-weight: 500; color: var(--text-faint); }

/* Room as management plane */
.management-frame h2 { font-size: 3.15rem; }
.management-layout {
  display: grid;
  grid-template-columns: 1fr 15rem;
  gap: 2rem;
  margin-top: .6rem;
}
.management-layout .gate-room-figure { height: 20rem; margin-top: 0; }
.management-key { border-top: 2px solid var(--gold); }
.management-key p {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .5rem;
  padding: .75rem .1rem;
  border-bottom: 1px solid var(--rule);
  max-width: none !important;
}
.management-key span { font: 500 .49rem/1 'JetBrains Mono', monospace; letter-spacing: .1em; color: var(--text-faint); }
.management-key b { font: italic 400 .95rem/1 'Instrument Serif', serif; color: var(--text); }
.gate-room-figure[data-diagram-state="room-management"] .room-shell { left: 3%; width: 82%; border-color: rgba(77,168,160,.28); }
.gate-room-figure[data-diagram-state="room-management"] .world-zone { width: 14%; }
.gate-room-figure[data-diagram-state="room-management"] .threshold { left: 84%; }
.gate-room-figure[data-diagram-state="room-management"] .task-artifact { left: 34%; top: 14%; }
.gate-room-figure[data-diagram-state="room-management"] .human { left: 69%; top: 54%; }
.gate-room-figure[data-diagram-state="room-management"] .bumble { left: 8%; top: 58%; }
.gate-room-figure[data-diagram-state="room-management"] .fizz { left: 23%; top: 62%; }
.gate-room-figure[data-diagram-state="room-management"] .honey { left: 52%; top: 57%; }
.gate-room-figure[data-diagram-state="room-management"] .history-trail { left: 34%; top: 40%; width: 28%; }
.gate-room-figure[data-diagram-state="room-management"] .crossing-request { left: 70%; top: 34%; }
.gate-room-figure[data-diagram-state="room-management"] .receipt { left: 68%; top: 78%; }

/* Honest ledger */
.honest-frame h2 { font-size: 3.2rem; }
.honest-layout {
  display: grid;
  grid-template-columns: 1fr 18rem;
  gap: 2.1rem;
  margin-top: 1rem;
}
.honest-layout .gate-room-figure { height: 19rem; margin-top: 0; }
.honest-ledger { border-top: 2px solid var(--coral); }
.honest-ledger p {
  padding: .75rem .1rem;
  border-bottom: 1px solid var(--rule);
  max-width: none !important;
}
.honest-ledger span,
.honest-ledger b { display: block; }
.honest-ledger span { margin-bottom: .42rem; font: 500 .47rem/1 'JetBrains Mono', monospace; letter-spacing: .1em; color: var(--coral); }
.honest-ledger b { font: italic 400 .9rem/1.12 'Instrument Serif', serif; color: var(--text); }
.gate-room-figure[data-diagram-state="room-honest"] .room-shell { left: 3%; width: 70%; border-color: rgba(77,168,160,.28); }
.gate-room-figure[data-diagram-state="room-honest"] .room-shell > span { color: var(--teal); }
.gate-room-figure[data-diagram-state="room-honest"] .world-zone { width: 25%; background: rgba(212,115,94,.035); }
.gate-room-figure[data-diagram-state="room-honest"] .threshold { left: 72%; opacity: .35; }
.gate-room-figure[data-diagram-state="room-honest"] .task-artifact { left: 29%; top: 14%; border-color: var(--coral); }
.gate-room-figure[data-diagram-state="room-honest"] .human { left: 60%; top: 57%; }
.gate-room-figure[data-diagram-state="room-honest"] .bumble { left: 7%; top: 58%; }
.gate-room-figure[data-diagram-state="room-honest"] .fizz { left: 21%; top: 62%; }
.gate-room-figure[data-diagram-state="room-honest"] .honey { left: 43%; top: 57%; }
.gate-room-figure[data-diagram-state="room-honest"] .history-trail { left: 29%; top: 42%; width: 28%; }
.gate-room-figure[data-diagram-state="room-honest"] .crossing-request { left: 61%; top: 34%; color: var(--coral); }
.gate-room-figure[data-diagram-state="room-honest"] .receipt { left: 59%; top: 79%; border-color: var(--coral); }
.gate-room-figure[data-diagram-state="room-honest"] .technical-boundary {
  left: 74%;
  top: 8%;
  width: 23%;
  height: 82%;
  opacity: 1;
}

/* Closing */
.closing-frame {
  background: radial-gradient(circle at 48% 58%, rgba(201,165,78,.06), transparent 34%);
}
.closing-frame h2 { font-size: 3.65rem; line-height: .92; }
.closing-layout {
  display: grid;
  grid-template-columns: 1.4fr .6fr;
  gap: 2.4rem;
  align-items: stretch;
  margin-top: 1.4rem;
}
.closing-layout .gate-room-figure { height: 18.7rem; margin-top: 0; }
.closing-architecture {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 1rem 0 1.5rem 1.4rem;
  border-left: 1px solid var(--rule);
}
.closing-principles {
  border-top: 2px solid var(--gold);
}
.closing-principle {
  padding: .72rem .1rem .78rem;
  border-bottom: 1px solid var(--rule);
}
.closing-principle span {
  display: block;
  font: 500 .57rem/1.5 'JetBrains Mono', monospace;
  letter-spacing: .13em;
  color: var(--gold);
}
.closing-principle b {
  display: block;
  margin-top: .24rem;
  font: italic 400 1.02rem/1.14 'Instrument Serif', serif;
  color: var(--text);
}
.closing-stakes {
  margin: 1rem 0 0 !important;
  max-width: 15em !important;
  font: 400 .82rem/1.32 'Inter', sans-serif;
  color: var(--text-dim);
}
.closing-stakes em { color: var(--text); }
.gate-room-figure[data-diagram-state="room-complete"] .room-shell { left: 3%; width: 81%; border-color: rgba(77,168,160,.3); }
.gate-room-figure[data-diagram-state="room-complete"] .world-zone { width: 15%; background: rgba(201,165,78,.07); }
.gate-room-figure[data-diagram-state="room-complete"] .threshold { left: 83%; }
.gate-room-figure[data-diagram-state="room-complete"] .task-artifact { left: 33%; top: 13%; border-color: var(--gold); }
.gate-room-figure[data-diagram-state="room-complete"] .human { left: 70%; top: 53%; }
.gate-room-figure[data-diagram-state="room-complete"] .bumble { left: 7%; top: 59%; }
.gate-room-figure[data-diagram-state="room-complete"] .fizz { left: 21%; top: 62%; }
.gate-room-figure[data-diagram-state="room-complete"] .honey { left: 51%; top: 57%; }
.gate-room-figure[data-diagram-state="room-complete"] .history-trail { left: 33%; top: 42%; width: 28%; }
.gate-room-figure[data-diagram-state="room-complete"] .crossing-request { left: 70%; top: 34%; }
.gate-room-figure[data-diagram-state="room-complete"] .receipt { left: 68%; top: 77%; }
.gate-room-figure[data-diagram-state="room-complete"] .technical-boundary { opacity: .18; left: 2%; top: 4%; width: 95%; border-color: var(--teal); }

@media (prefers-reduced-motion: reduce) {
  .reveal .slides section,
  .reveal .slides section * {
    transition-duration: 0s !important;
    animation-duration: 0s !important;
  }
}

/* ------------------------------------------------------------------ */
/* Projector scale + full-canvas field                                */
/* ------------------------------------------------------------------ */

:root {
  --projector-body: 28px;
  --projector-body-small: 23px;
  --projector-support: 21px;
  --projector-label: 17px;
  --projector-label-small: 15px;
  --projector-serif: 32px;
}

/* Reveal marks the active section display:block!important. Restore the
   intended flex canvas so evidence fields can occupy the full height. */
.reveal .slides > section,
.reveal .slides > section > section {
  display: flex !important;
  padding: 56px 84px 50px;
}

.reveal .kicker {
  margin-bottom: 26px;
  font-size: var(--projector-label);
}

.reveal .kicker::before { width: 30px; }

.reveal h2 { font-size: 54px; }

.slide-landing {
  margin-top: auto !important;
  padding-bottom: 8px;
  font-size: 31px;
}

/* Slide 1 keeps intentional breathing room, but its lower axis remains active. */
.title-frame { padding-top: 66px !important; }
.title-overline { font-size: 25px; }
.title-frame h1 { font-size: 90px; }
.title-lockup > p { font-size: 23px; line-height: 1.4 !important; }
.opening-threshold { font-size: 15px; width: 560px; bottom: 76px; }

/* Slide 2 — the message fills the upper field; the three questions form a
   full-width lower band instead of a small right-hand annotation. */
.scenario-frame .scenario-message {
  flex: 1;
  width: 100%;
  min-height: 285px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 40px 50px 44px;
  font-size: 60px;
}
.scenario-message span { margin-bottom: 24px; font-size: var(--projector-label); }
.scenario-questions {
  position: static;
  width: 100%;
  min-height: 180px;
  margin-top: 26px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid var(--rule);
  border-left: 0;
}
.scenario-questions p {
  display: flex;
  align-items: center;
  min-width: 0;
  padding: 24px 28px;
  border-right: 1px solid var(--rule);
  border-bottom: 1px solid var(--rule);
  font-size: 31px;
}
.scenario-questions p:last-child { border-right: 0; }
.scenario-questions b {
  width: 42px;
  flex: 0 0 42px;
  font-size: var(--projector-label-small);
}

/* Slide 3 — acceptance conditions are the dominant proof object. */
.delegable-frame h2 { font-size: 58px; }
.delegable-layout {
  flex: 1;
  min-height: 0;
  margin: 30px 0 22px;
  gap: 44px;
}
.task-heading { padding: 22px 26px; font-size: var(--projector-label); }
.task-specification ul { padding: 10px 28px 16px; }
.task-specification li {
  min-height: 86px;
  padding: 14px 4px;
  gap: 22px;
  font-size: 34px;
}
.task-specification li i { width: 16px; height: 16px; }
.ablation-evidence { padding: 24px 26px 20px; }
.ablation-evidence > span,
.ablation-evidence small { font-size: var(--projector-label-small); }
.ablation-evidence > div {
  min-height: 84px;
  grid-template-columns: 118px 1fr auto 1fr;
  gap: 16px;
  padding: 18px 0;
}
.ablation-evidence > div b { font-size: var(--projector-label); }
.ablation-evidence > div em,
.ablation-evidence > div strong { font-size: 48px; }
.ablation-evidence > div i { font-size: 28px; }
.ablation-evidence small { margin-top: 18px; line-height: 1.4; }

/* Slide 4 — enlarge both the process and the product evidence. */
.attention-frame h2 { font-size: 58px; }
.attention-layout {
  flex: 1;
  min-height: 0;
  margin: 28px 0 22px;
  gap: 42px;
}
.fanout-diagram { min-height: 0; height: 100%; grid-template-columns: 150px 1fr 220px 1fr 165px; }
.fanout-task,
.fanout-human { padding: 22px 18px; }
.fanout-task span,
.fanout-human span { font-size: var(--projector-label-small); }
.fanout-task b,
.fanout-human b { font-size: 26px; }
.fanout-lines { height: 250px; }
.left-lines::after,
.right-lines::before { box-shadow: 0 -105px 0 var(--rule), 0 105px 0 var(--rule); }
.workstream-stack { gap: 14px; }
.workstream-stack span { padding: 15px 18px; font-size: var(--projector-label); }
.product-proof { gap: 18px; }
.product-proof img { height: 190px; }
.product-proof figcaption { padding: 12px 14px; font-size: var(--projector-label-small); }

/* Slides 5–8 and 11–13 — one diagram family at projector scale. */
.analogy-frame h2 { font-size: 56px; }
.analogy-question { margin-top: 12px !important; font-size: 29px; }
.gate-room-figure {
  flex: 1;
  min-height: 430px;
  height: auto;
  margin-top: 22px;
}
.room-shell > span,
.world-zone > span,
.technical-boundary > span {
  left: 15px;
  top: 14px;
  font-size: var(--projector-label-small);
  line-height: 1.25;
}
.threshold { width: 42px; }
.threshold span { bottom: 18px; font-size: var(--projector-label-small); }
.task-artifact {
  width: 260px;
  padding: 17px 20px;
}
.task-artifact span { margin-bottom: 9px; font-size: var(--projector-label-small); }
.task-artifact b { font-size: 27px; }
.participant { width: 112px; }
.participant i {
  width: 54px;
  height: 54px;
  margin-bottom: 9px;
  font-size: 18px;
}
.participant span { font-size: 17px; }
.participant small { margin-top: 6px; font-size: 13px; }
.history-trail { gap: 8px; }
.history-trail span { padding: 9px 11px; font-size: 16px; line-height: 1.25; }
.crossing-request { gap: 12px; }
.crossing-request span { padding: 10px 13px; font-size: 15px; }
.crossing-request i { font-size: 28px; }
.receipt { padding: 12px 15px; }
.receipt span { margin-bottom: 7px; font-size: 13px; }
.receipt b { font-size: 21px; }
.gate-examples { margin-top: 16px; gap: 30px; font-size: var(--projector-label-small); }

.congested-frame h2 { font-size: 52px; }
.gate-room-figure[data-diagram-state="gate-congested"] {
  flex: 1;
  height: auto;
  min-height: 405px;
  margin-top: 18px;
}
.approval-quote { margin-top: 16px !important; padding-bottom: 4px; font-size: 25px; }

/* Slide 7 gets the largest shared field; the room is the content. */
.room-frame .gate-room-figure { min-height: 455px; }
.room-frame .slide-landing { font-size: 31px; }

/* Slide 8 — enlarge the actual interface and the decisive quote. */
.hinge-frame h2 { font-size: 52px; }
.hinge-layout {
  flex: 1;
  min-height: 0;
  margin-top: 26px;
  gap: 38px;
}
.buzz-screenshot img { height: 100%; min-height: 510px; }
.buzz-screenshot figcaption { left: 16px; bottom: 14px; padding: 9px 12px; font-size: var(--projector-label-small); }
.hinge-argument blockquote { padding: 26px 28px; font-size: 33px; }
.hinge-argument blockquote span { margin-bottom: 16px; font-size: var(--projector-label-small); }
.hinge-argument > p { margin-top: 16px !important; font-size: 22px; line-height: 1.4; }
.gate-room-figure.compact {
  flex: 0 0 285px;
  min-height: 285px;
  height: 285px;
}
.compact .room-shell > span,
.compact .world-zone > span { top: 9px; left: 9px; font-size: 12px; }
.compact .task-artifact { width: 160px; padding: 10px 12px; }
.compact .task-artifact span { margin-bottom: 6px; font-size: 12px; }
.compact .task-artifact b { font-size: 18px; }
.compact .participant { width: 66px; }
.compact .participant i { width: 34px; height: 34px; margin-bottom: 5px; font-size: 12px; }
.compact .participant span { font-size: 12px; }
.compact .history-trail span { padding: 6px 7px; font-size: 12px; }
.compact .crossing-request span { padding: 7px 8px; font-size: 12px; }
.compact .crossing-request i { font-size: 18px; }
.compact .receipt { padding: 7px 9px; }
.compact .receipt span { font-size: 11px; }
.compact .receipt b { font-size: 15px; }
.compact .threshold span { font-size: 12px; bottom: 11px; }

/* Slide 9 — the provenance chain stretches through the full middle field. */
.event-fabric-frame h2 { font-size: 58px; }
.event-fabric {
  flex: 1;
  min-height: 0;
  margin-top: 28px;
  display: grid;
  grid-template-columns: 165px 70px 285px 70px 230px 70px 175px;
  gap: 10px;
  align-items: stretch;
}
.event-actors {
  display: grid;
  grid-template-rows: 52px repeat(3, 1fr);
  border-top: 2px solid var(--teal);
  border-bottom: 1px solid var(--rule);
}
.event-actors > span,
.event-envelope > span,
.event-relay > span {
  display: flex;
  align-items: center;
  font: 500 var(--projector-label-small)/1.2 'JetBrains Mono', monospace;
  letter-spacing: .14em;
  color: var(--text-dim);
}
.event-actors p {
  max-width: none !important;
  display: grid;
  grid-template-columns: 46px 1fr;
  grid-template-rows: 1fr 1fr;
  align-items: center;
  column-gap: 12px;
  padding: 13px 4px;
  border-top: 1px solid var(--rule);
}
.event-actors p i {
  grid-row: 1 / 3;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border: 1px solid var(--teal);
  border-radius: 50%;
  font: normal 500 15px/1 'JetBrains Mono', monospace;
  color: var(--teal);
}
.event-publishers p:nth-of-type(1) i { border-color: var(--gold); color: var(--gold); }
.event-publishers p:nth-of-type(2) i { border-color: var(--violet); color: var(--violet); }
.event-publishers p:nth-of-type(3) i { border-color: var(--coral); color: var(--coral); }
.event-actors p b {
  align-self: end;
  font: 500 18px/1.1 'Hanken Grotesk', sans-serif;
  color: var(--text-bright);
}
.event-actors p small {
  align-self: start;
  margin-top: 5px;
  font: 500 13px/1 'JetBrains Mono', monospace;
  letter-spacing: .08em;
  color: var(--text-faint);
  text-transform: uppercase;
}
.event-arrow {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 16px;
  color: var(--gold);
}
.event-arrow span {
  font: 500 12px/1 'JetBrains Mono', monospace;
  letter-spacing: .12em;
  color: var(--text-faint);
  writing-mode: vertical-rl;
  transform: rotate(180deg);
}
.event-arrow i { font: normal 400 31px/1 sans-serif; }
.event-envelope {
  padding: 20px 22px;
  display: grid;
  grid-template-rows: 45px repeat(5, 1fr);
  background: var(--paper);
  color: var(--ink);
  border-left: 3px solid var(--gold);
}
.event-envelope > span { color: rgba(22, 20, 16, .55); }
.event-envelope p {
  max-width: none !important;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 7px;
  border-top: 1px solid rgba(22, 20, 16, .12);
}
.event-envelope p b {
  font: 500 15px/1 'JetBrains Mono', monospace;
  letter-spacing: .1em;
  color: rgba(22, 20, 16, .58);
  text-transform: uppercase;
}
.event-envelope p i {
  font: italic 400 22px/1 'Instrument Serif', serif;
  color: var(--ink);
}
.event-relay {
  padding: 20px 24px;
  display: grid;
  grid-template-rows: 52px repeat(4, 1fr);
  background: linear-gradient(145deg, rgba(77, 168, 160, .18), rgba(77, 168, 160, .04));
  border: 1px solid rgba(77, 168, 160, .48);
}
.event-relay > span { color: var(--teal); }
.event-relay b {
  display: flex;
  align-items: center;
  border-top: 1px solid rgba(77, 168, 160, .18);
  font: italic 400 27px/1 'Instrument Serif', serif;
  color: var(--text-bright);
}
.event-examples {
  max-width: none !important;
  margin-top: 20px !important;
  display: flex;
  justify-content: space-between;
  padding: 13px 18px;
  border-top: 1px solid var(--rule);
  border-bottom: 1px solid var(--rule);
  font: 500 14px/1 'JetBrains Mono', monospace;
  letter-spacing: .09em;
  color: var(--text-dim);
  text-transform: uppercase;
}
.event-examples span::before {
  content: "·";
  margin-right: 12px;
  color: var(--gold);
}
.event-fabric-frame .slide-landing { font-size: 29px; }

/* Slide 10 — the provenance chain stretches through the full middle field. */
.identity-frame h2 { font-size: 58px; }
.identity-chain {
  flex: 1;
  min-height: 0;
  margin-top: 32px;
  grid-template-columns: 1fr 150px 1fr 150px 1fr;
}
.identity-node i { width: 86px; height: 86px; margin-bottom: 20px; font-size: 22px; }
.identity-node span { font-size: var(--projector-label); }
.identity-node b { margin-top: 12px; font-size: 26px; }
.identity-link span { font-size: var(--projector-label-small); }
.identity-link i { margin-top: 16px; font-size: 32px; }
.identity-thesis {
  margin-top: 24px;
  padding-bottom: 8px;
  grid-template-columns: .9fr 1.3fr;
  align-items: center;
}
.identity-thesis blockquote { font-size: 36px; }
.identity-thesis p { font-size: 23px; line-height: 1.35; }

/* Slide 10 — activity sentences become the lower two-thirds of the canvas. */
.legibility-frame h2 { font-size: 58px; }
.activity-composition {
  flex: 1;
  min-height: 0;
  margin-top: 30px;
  gap: 52px;
}
.presence-rail {
  display: grid;
  grid-template-rows: repeat(3, 1fr) auto;
}
.presence-rail > div {
  min-height: 0;
  grid-template-columns: 24px 120px 1fr;
  gap: 16px;
  padding: 16px 4px;
}
.presence-rail i { width: 12px; height: 12px; }
.presence-rail b { font-size: var(--projector-label); }
.presence-rail span { font-size: 27px; }
.presence-rail small { margin-top: 22px; font-size: var(--projector-label-small); line-height: 1.45; }
.activity-sentences {
  display: grid;
  grid-template-rows: repeat(3, 1fr);
}
.activity-sentences article {
  min-height: 0;
  grid-template-columns: 42px 1fr;
  gap: 20px;
  padding: 22px 8px;
  align-items: center;
}
.activity-sentences article > span { font-size: var(--projector-label-small); }
.activity-sentences p { font-size: var(--projector-body); }
.activity-sentences p i { font-size: 29px; }
.legibility-rule { margin-top: 24px !important; padding-bottom: 8px; gap: 14px; font-size: var(--projector-label); }
.legibility-rule b { font-size: var(--projector-label-small); }

/* Slide 11 — the room and mapping table both fill the lower field. */
.management-frame h2 { font-size: 55px; }
.management-layout {
  flex: 1;
  min-height: 0;
  margin-top: 20px;
  grid-template-columns: 1fr 310px;
  gap: 34px;
}
.management-layout .gate-room-figure {
  height: auto;
  min-height: 0;
  margin-top: 0;
}
.management-key p {
  min-height: 70px;
  align-items: center;
  padding: 14px 4px;
}
.management-key span { font-size: var(--projector-label-small); }
.management-key b { font-size: 27px; }

/* Slide 12 — the honest ledger is a true lower-field comparison. */
.honest-frame h2 { font-size: 56px; }
.honest-layout {
  flex: 1;
  min-height: 0;
  margin-top: 24px;
  grid-template-columns: 1fr 360px;
  gap: 36px;
}
.honest-layout .gate-room-figure {
  height: auto;
  min-height: 0;
  margin-top: 0;
}
.honest-ledger p { min-height: 78px; padding: 15px 4px; }
.honest-ledger span { margin-bottom: 9px; font-size: var(--projector-label-small); }
.honest-ledger b { font-size: 25px; line-height: 1.18; }
.gate-room-figure[data-diagram-state="room-honest"] .technical-boundary > span {
  right: 12px;
  width: auto;
  font-size: 14px;
  line-height: 1.25;
}

/* Closing — resolution occupies the canvas instead of sitting in a small band. */
.closing-frame h2 { max-width: 1120px; font-size: 55px; line-height: .98; }
.closing-layout {
  flex: 1;
  min-height: 0;
  margin-top: 26px;
  gap: 40px;
  grid-template-columns: 1.34fr .66fr;
}
.closing-layout .gate-room-figure {
  height: auto;
  min-height: 0;
  margin-top: 0;
}
.closing-architecture { padding: 16px 0 18px 30px; }
.closing-principle { padding: 14px 2px 16px; }
.closing-principle span { font-size: var(--projector-label-small); line-height: 1.4; }
.closing-principle b { margin-top: 5px; font-size: 27px; line-height: 1.12; }
.closing-stakes {
  max-width: 13.5em !important;
  margin-top: 18px !important;
  font-size: 22px;
  line-height: 1.34;
}
