.stage {
  position: fixed;
  inset: 0;
  display: grid;
  place-items: center;
}

#deck {
  position: relative;
  width: min(100vw, calc(100vh * 16 / 9));
  height: min(100vh, calc(100vw * 9 / 16));
  aspect-ratio: 16 / 9;
}

.slide {
  width: min(100vw, calc(100vh * 16 / 9));
  height: min(100vh, calc(100vw * 9 / 16));
  aspect-ratio: 16 / 9;
  position: absolute;
  inset: 0;
  overflow: hidden;
  container-type: size;
  background:
    radial-gradient(ellipse at 32% 26%, color-mix(in srgb, var(--accent) 5%, transparent), transparent 44%),
    linear-gradient(135deg, var(--bg), var(--bg-edge));
  color: var(--text);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.slide.active,
.slide.exiting {
  visibility: visible;
  pointer-events: auto;
}

.slide.active {
  opacity: 1;
  z-index: 2;
}

.slide.exiting {
  z-index: 1;
}

.slide-inner {
  position: absolute;
  inset: 0;
  padding: 6cqh 8cqw;
  z-index: 3;
}

.slide-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
  pointer-events: none;
  opacity: var(--bg-opacity, 0.42);
  print-color-adjust: exact;
}

.slide::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(rgba(26, 37, 53, 0.20) 1px, transparent 1px),
    linear-gradient(90deg, rgba(26, 37, 53, 0.20) 1px, transparent 1px);
  background-size: 4.8cqw 8.5cqh;
  opacity: 0.35;
  mix-blend-mode: screen;
}

.palette-cream::before {
  background:
    repeating-linear-gradient(0deg, transparent 0 7.3cqh, rgba(107, 99, 89, 0.08) 7.3cqh calc(7.3cqh + 1px)),
    radial-gradient(circle at 20% 20%, rgba(var(--brand-green-rgb), 0.05), transparent 36%);
  opacity: 0.72;
  mix-blend-mode: multiply;
}

.palette-nuanose::before {
  background:
    repeating-linear-gradient(0deg, transparent 0 7.3cqh, rgba(107, 99, 89, 0.08) 7.3cqh calc(7.3cqh + 1px)),
    radial-gradient(circle at 20% 20%, rgba(255, 90, 31, 0.055), transparent 36%);
  opacity: 0.72;
  mix-blend-mode: multiply;
}

.palette-ink::before,
.palette-forest::before,
.palette-manuel::before {
  opacity: 0.18;
}

.slide-meta {
  position: absolute;
  inset: 0;
  z-index: 5;
  pointer-events: none;
}

.slide-meta .brand-mark {
  position: absolute;
  top: 3.4cqh;
  left: 3.4cqw;
}

.slide[data-slide="1"] .slide-meta .brand-mark {
  top: 5.8cqh;
  left: 10cqw;
  height: auto;
  width: 18cqw;
}

.slide[data-slide="31"] .slide-meta .brand-mark {
  height: 3.4cqh;
  width: auto;
}

.slide-meta .page-no {
  position: absolute;
  right: 3.4cqw;
  bottom: 3cqh;
}

.speaker-notes {
  display: none;
}

[data-layout="cover"] {
  --bg-opacity: 0.82;
}

[data-layout="cover"]::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(11, 18, 32, 0.85) 0%, rgba(11, 18, 32, 0.20) 60%, transparent 100%);
}

[data-layout="cover"] .slide-inner {
  display: grid;
  align-content: end;
  justify-items: start;
  padding: 12cqh 10cqw;
}

[data-layout="cover"] .cover-copy {
  width: 54cqw;
  display: grid;
  gap: 2.4cqh;
}

[data-layout="cover"] .standfirst {
  color: color-mix(in srgb, var(--text) 72%, var(--text-mute));
  max-width: 50cqw;
}

[data-layout="cover"] .client-meta {
  color: var(--text-mute);
  font-size: var(--type-mono-sm);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

[data-layout="cover"] .terminal {
  position: absolute;
  top: 13cqh;
  right: 9cqw;
  width: 28cqw;
}

.slide[data-slide="1"][data-layout="cover"] .terminal {
  top: 11cqh;
}

[data-slide="31"][data-layout="cover"] .slide-inner {
  align-content: center;
  justify-items: center;
  text-align: center;
  padding: 8cqh 10cqw;
}

[data-slide="31"][data-layout="cover"] {
  --bg-opacity: 0.62;
}

[data-slide="31"][data-layout="cover"]::after {
  background:
    radial-gradient(ellipse at 50% 42%, rgba(11, 18, 32, 0.18), rgba(11, 18, 32, 0.76) 78%),
    linear-gradient(180deg, rgba(11, 18, 32, 0.34) 0%, rgba(11, 18, 32, 0.12) 42%, rgba(11, 18, 32, 0.56) 100%),
    linear-gradient(90deg, rgba(11, 18, 32, 0.42) 0%, rgba(11, 18, 32, 0.08) 52%, rgba(11, 18, 32, 0.44) 100%);
}

[data-slide="31"] .cover-copy {
  width: 64cqw;
  justify-items: center;
}

[data-slide="31"] .terminal {
  top: auto;
  right: 8cqw;
  bottom: 9cqh;
  width: 29cqw;
  text-align: left;
}

.contact-block {
  display: grid;
  gap: 0.8cqh;
  color: var(--text);
  font-size: var(--type-mono-sm);
  line-height: 1.5;
}

.close-lockup {
  width: 28cqw;
  height: auto;
  margin-bottom: 1.4cqh;
}

[data-layout="pillar"] {
  --bg-opacity: 0.58;
}

[data-layout="pillar"] .slide-inner {
  display: grid;
  grid-template-columns: 58cqw 1fr;
  grid-template-rows: auto 1fr;
  column-gap: 5cqw;
  align-items: center;
}

.pillar-copy {
  grid-column: 1;
  display: grid;
  gap: 2.8cqh;
}

.pillar-copy h1 {
  max-width: 58cqw;
}

.tag-row,
.stat-row,
.tech-row {
  display: flex;
  flex-wrap: wrap;
  gap: 1cqw;
}

[data-layout="pillar"] .terminal {
  grid-column: 2;
  width: 28cqw;
  align-self: center;
  justify-self: end;
}

[data-layout="service"] {
  --bg-opacity: 0.58;
}

[data-layout="service"] .slide-inner {
  display: grid;
  grid-template-columns: 54cqw 1fr;
  column-gap: 6cqw;
  align-items: center;
}

.service-copy {
  display: grid;
  gap: 2.4cqh;
}

.service-copy h1 {
  max-width: 54cqw;
}

.service-copy .standfirst {
  width: fit-content;
  max-width: 53cqw;
  padding: 0.8cqh 1.2cqw 0.8cqh 0;
  color: color-mix(in srgb, var(--text) 92%, var(--text-mute));
  background: linear-gradient(90deg,
    color-mix(in srgb, var(--bg) 94%, transparent) 0%,
    color-mix(in srgb, var(--bg) 82%, transparent) 76%,
    transparent 100%);
}

.service-copy .body-copy {
  width: fit-content;
  max-width: 53cqw;
  padding: 0.8cqh 1.2cqw 0.8cqh 0;
  background: linear-gradient(90deg,
    color-mix(in srgb, var(--bg) 92%, transparent) 0%,
    color-mix(in srgb, var(--bg) 78%, transparent) 76%,
    transparent 100%);
}

.service-plate {
  justify-self: end;
  width: 30cqw;
  min-height: 48cqh;
  display: grid;
  align-content: center;
  gap: 2.2cqh;
  padding-left: 3cqw;
  border-left: 1px solid var(--accent);
}

.service-arm {
  color: var(--accent);
  font-family: var(--font-mono);
  font-size: var(--type-mono-sm);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.service-word {
  color: var(--text);
  font-family: var(--font-serif-display);
  font-size: var(--type-display);
  font-weight: 300;
  line-height: 0.9;
  letter-spacing: var(--type-display-tracking);
  font-variation-settings: "opsz" 144, "SOFT" 100;
}

.service-index {
  display: grid;
  gap: 0.8cqh;
  color: color-mix(in srgb, var(--text) 52%, var(--text-mute));
  font-family: var(--font-mono);
  font-size: var(--type-mono-sm);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

[data-layout="essay"] {
  --bg-opacity: 0.36;
}

[data-layout="essay"] .slide-inner {
  display: grid;
  grid-template-rows: auto auto 1fr;
  row-gap: 2.2cqh;
}

.essay-head {
  display: grid;
  justify-items: center;
  text-align: center;
  gap: 1.6cqh;
}

.essay-head h1 {
  max-width: 74cqw;
}

.essay-content {
  align-self: stretch;
  display: grid;
  gap: 2.4cqh;
}

.three-columns {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 3cqw;
  align-items: start;
  margin-top: 2cqh;
}

.column-panel,
.case-panel,
.engage-panel,
.stage-card,
.number-cell,
.reason-line {
  border-top: 1px solid color-mix(in srgb, var(--text-mute) 42%, transparent);
  background: color-mix(in srgb, var(--bg) 88%, transparent);
}

.column-panel {
  min-height: 24cqh;
  padding: 2.2cqh 1.6cqw;
  display: grid;
  align-content: start;
  gap: 1.6cqh;
}

.panel-kicker {
  color: var(--text-mute);
  font-size: var(--type-mono-sm);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.panel-number {
  font-family: var(--font-serif-display);
  font-size: var(--type-h2);
  line-height: var(--type-h2-line-height);
  color: var(--text);
  font-variation-settings: "opsz" 144, "SOFT" 100;
}

.closing-line {
  justify-self: center;
  color: var(--text-mute);
  font-family: var(--font-serif-body);
  font-style: italic;
  font-size: var(--type-standfirst);
  line-height: var(--type-standfirst-line-height);
  max-width: 76cqw;
  text-align: center;
}

.case-grid,
.engage-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 3cqw;
  margin-top: 2cqh;
}

.engage-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.case-panel,
.engage-panel {
  padding: 2.4cqh 2cqw;
  display: grid;
  gap: 1.7cqh;
}

.case-title,
.engage-title {
  font-family: var(--font-serif-display);
  font-size: var(--type-h2);
  line-height: var(--type-h2-line-height);
  color: var(--text);
  font-weight: 400;
  font-variation-settings: "opsz" 144, "SOFT" 100;
}

.source-line {
  align-self: end;
  justify-self: start;
  color: var(--text-mute);
  font-size: var(--type-mono-sm);
}

.number-slide {
  display: grid;
  grid-template-rows: auto auto auto 1fr auto;
  align-content: start;
  padding: 18cqh 10cqw 9cqh;
}

.number-slide .chapter-mark {
  margin-bottom: 3cqh;
}

.number-headline {
  max-width: 64cqw;
  font-size: var(--type-h2);
  line-height: 1.18;
  letter-spacing: 0;
}

.number-headline .kw {
  display: block;
  font-size: var(--type-hero);
  line-height: var(--type-hero-line-height);
  font-weight: var(--type-hero-weight);
  letter-spacing: var(--type-hero-tracking);
  margin-bottom: 1.2cqh;
}

.number-headline .kw-word {
  display: block;
}

.failure-line {
  margin-top: 2cqh;
  max-width: 48cqw;
}

.number-slide .source-line {
  position: absolute;
  left: 10cqw;
  bottom: 9cqh;
}

[data-layout="diagram"] {
  --bg-opacity: 0.18;
}

[data-layout="diagram"] .slide-inner {
  display: grid;
  grid-template-rows: auto 1fr auto;
  row-gap: 2cqh;
}

.diagram-head {
  display: grid;
  gap: 1.4cqh;
}

.diagram-head h1 {
  max-width: 72cqw;
}

.diagram-area {
  align-self: center;
  justify-self: center;
  width: 78cqw;
  min-height: 48cqh;
  display: grid;
  place-items: center;
  position: relative;
}

.caption {
  justify-self: center;
  text-align: center;
  font-size: var(--type-standfirst);
  line-height: var(--type-standfirst-line-height);
  max-width: 76cqw;
}

.lanes {
  width: 70cqw;
  height: 46cqh;
}

.lane-labels {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  width: 70cqw;
  margin: -2cqh auto 0;
  color: var(--text-mute);
  font-size: var(--type-mono-sm);
  letter-spacing: 0.08em;
  text-align: center;
}

.datum-label {
  color: var(--text-mute);
  font-family: var(--font-serif-body);
  font-style: italic;
  font-size: var(--type-body);
}

.archetype-cycle {
  width: 54cqw;
  min-height: 46cqh;
  position: relative;
}

.archetype-card,
.lopsided-card {
  min-height: 46cqh;
  display: grid;
  grid-template-rows: auto 1fr auto;
  gap: 2cqh;
  padding: 2.4cqh 2cqw;
  border-top: 1px solid color-mix(in srgb, var(--text-mute) 38%, transparent);
  background: color-mix(in srgb, var(--bg) 86%, transparent);
}

.archetype-card {
  position: absolute;
  inset: 0;
  opacity: 0;
  animation: none;
}

.archetype-cycle:not(.running) .archetype-card:first-child {
  opacity: 1;
  transform: translateY(0);
}

.archetype-cycle.running .archetype-card {
  animation: archetype-cycle-1 11s var(--ease-premium) infinite;
}

.archetype-cycle.running .archetype-card:nth-child(2) {
  animation-name: archetype-cycle-2;
}

.archetype-cycle.running .archetype-card:nth-child(3) {
  animation-name: archetype-cycle-3;
}

.archetype-cycle.running .archetype-card:nth-child(4) {
  animation-name: archetype-cycle-4;
}

.tri-bars {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1cqw;
  align-items: end;
  min-height: 31cqh;
  border-bottom: 1px solid color-mix(in srgb, var(--text-mute) 40%, transparent);
}

.tri-bars span {
  position: relative;
  display: grid;
  align-items: end;
  justify-items: center;
  height: var(--h);
  min-height: 5cqh;
  padding-bottom: 1cqh;
  color: var(--text-mute);
  font-family: var(--font-mono);
  font-size: var(--type-mono-sm);
  letter-spacing: 0.08em;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  border: 1px solid color-mix(in srgb, var(--text) 40%, transparent);
  border-bottom-color: var(--accent);
}

.archetype-card:nth-child(1) .tri-bars span:nth-child(1),
.archetype-card:nth-child(2) .tri-bars span:nth-child(2),
.archetype-card:nth-child(3) .tri-bars span:nth-child(3),
.smc-archetype .tri-bars span {
  color: var(--text);
  border-color: var(--text);
  border-bottom-color: var(--accent);
}

.smc-archetype .tri-bars span {
  border-color: var(--accent);
}

.archetype-caption {
  color: var(--text-mute);
  font-family: var(--font-serif-body);
  font-style: italic;
  font-size: var(--type-standfirst);
  line-height: var(--type-standfirst-line-height);
  text-align: center;
}

@keyframes archetype-cycle-1 {
  0%,
  18% {
    opacity: 1;
    transform: translateY(0);
  }
  22%,
  100% {
    opacity: 0;
    transform: translateY(1.2cqh);
  }
}

@keyframes archetype-cycle-2 {
  0%,
  20% {
    opacity: 0;
    transform: translateY(1.2cqh);
  }
  24%,
  42% {
    opacity: 1;
    transform: translateY(0);
  }
  46%,
  100% {
    opacity: 0;
    transform: translateY(1.2cqh);
  }
}

@keyframes archetype-cycle-3 {
  0%,
  44% {
    opacity: 0;
    transform: translateY(1.2cqh);
  }
  48%,
  66% {
    opacity: 1;
    transform: translateY(0);
  }
  70%,
  100% {
    opacity: 0;
    transform: translateY(1.2cqh);
  }
}

@keyframes archetype-cycle-4 {
  0%,
  68% {
    opacity: 0;
    transform: translateY(1.2cqh);
  }
  72%,
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

.pipeline-layout {
  display: grid;
  grid-template-rows: auto 1fr auto;
  gap: 1.8cqh;
}

.pipeline-svg {
  width: 84cqw;
  height: 24cqh;
  justify-self: center;
}

.cell-system {
  width: 84cqw;
  justify-self: center;
  align-self: center;
  display: grid;
  gap: 1.4cqh;
}

.cell-system-svg {
  height: 39cqh;
  color: var(--accent);
  filter: drop-shadow(0 0 10px rgba(var(--brand-green-rgb), 0.18));
}

.cell-core text,
.cell-node-group text {
  fill: var(--text);
  font-family: var(--font-mono);
  font-size: var(--type-mono-sm);
  letter-spacing: 0.08em;
}

.cell-core text {
  fill: var(--accent);
  font-weight: 500;
}

.cell-node-group text {
  fill: var(--text-mute);
}

.cell-stage-cards {
  transform: translateY(-1cqh);
}

.stage-cards {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 1cqw;
}

.stage-cards-four {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.4cqw;
}

.stage-card {
  min-height: 14cqh;
  padding: 1.8cqh 1cqw;
  display: grid;
  gap: 0.8cqh;
}

.stage-card strong {
  font-family: var(--font-mono);
  font-size: var(--type-mono-sm);
  letter-spacing: 0.08em;
  color: var(--text);
}

.stage-card span,
.stage-card small {
  color: var(--text-mute);
  font-size: var(--type-mono-sm);
}

.tooltip {
  position: absolute;
  z-index: 8;
  background: #12182A;
  color: #E8F0EC;
  border: 1px solid rgba(var(--brand-green-rgb), 0.45);
  border-radius: 8px;
  padding: 1cqh 1cqw;
  font-family: var(--font-mono);
  font-size: var(--type-mono-sm);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
  opacity: 0;
  transform: translateY(1cqh);
  transition: opacity 180ms ease, transform 180ms ease;
  pointer-events: none;
}

.tooltip.visible {
  opacity: 1;
  transform: translateY(0);
}

.proof-layout {
  display: grid;
  grid-template-rows: auto 1fr;
  gap: 2cqh;
}

.slide[data-slide="16"] .proof-layout {
  padding-top: 1.4cqh;
  gap: 2.6cqh;
}

.slide[data-slide="16"] {
  --bg-opacity: 0.035;
}

.slide[data-slide="16"] .proof-top .headline {
  margin-top: 1.2cqh;
}

.proof-top {
  display: grid;
  grid-template-columns: 54cqw 1fr;
  gap: 4cqw;
  align-items: end;
}

.pull-quote {
  border-left: 2px solid var(--accent);
  padding-left: 2cqw;
  max-width: 55cqw;
  font-size: var(--type-quote);
  line-height: var(--type-quote-line-height);
  color: var(--text);
}

.dot-wrap {
  position: relative;
  width: 84cqw;
  height: 41cqh;
  justify-self: center;
}

.slide[data-slide="16"] .dot-wrap {
  height: 43cqh;
  border-top: 1px solid color-mix(in srgb, var(--text-mute) 28%, transparent);
  border-bottom: 1px solid color-mix(in srgb, var(--text-mute) 18%, transparent);
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--bg) 80%, white), color-mix(in srgb, var(--bg) 92%, white)),
    radial-gradient(ellipse at 68% 24%, color-mix(in srgb, var(--accent) 5%, transparent), transparent 48%);
}

.dot-wrap::before {
  content: "READINESS SIGNAL";
  position: absolute;
  top: 1.1cqh;
  left: 1.2cqw;
  z-index: 1;
  color: color-mix(in srgb, var(--text-mute) 62%, transparent);
  font-family: var(--font-mono);
  font-size: var(--type-mono-sm);
  letter-spacing: 0.08em;
}

#champion-dots {
  width: 100%;
  height: 100%;
  display: block;
}

.signal-insights {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  opacity: 0;
  transition: opacity 600ms ease;
}

.dot-wrap.signal-complete .signal-insights {
  opacity: 1;
}

.signal-insight {
  position: absolute;
  display: grid;
  gap: 0.35cqh;
  max-width: 22cqw;
  padding: 0.8cqh 0.7cqw 0.3cqh;
  border-top: 1px solid var(--accent);
  background: color-mix(in srgb, var(--bg) 92%, white);
  color: var(--text);
  opacity: 0;
  transform: translateY(1.2cqh);
  transition: opacity 600ms ease, transform 600ms ease;
}

.dot-wrap.signal-complete .signal-insight {
  opacity: 1;
  transform: translateY(0);
}

.signal-insight:nth-child(2) {
  transition-delay: 120ms;
}

.signal-insight:nth-child(3) {
  transition-delay: 240ms;
}

.signal-insight span {
  font-family: var(--font-mono);
  font-size: var(--type-mono-sm);
  letter-spacing: 0.08em;
  color: color-mix(in srgb, var(--text) 82%, transparent);
}

.signal-insight em {
  font-family: var(--font-serif-body);
  font-size: var(--type-standfirst);
  line-height: 1.12;
  color: color-mix(in srgb, var(--text-mute) 86%, var(--text));
}

.signal-insight--trust {
  left: 6%;
  bottom: 23%;
}

.signal-insight--champions {
  right: 3%;
  top: 3%;
}

.signal-insight--prototypes {
  left: 49%;
  bottom: 12%;
}

.dot-wrap .stat-row {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  justify-content: center;
}

.team-prose,
.studio-prose {
  max-width: 74cqw;
  justify-self: center;
  font-size: var(--type-standfirst);
  line-height: 1.7;
}

.backbone-layout {
  width: 82cqw;
  justify-self: center;
  align-self: center;
  display: grid;
  grid-template-columns: 36cqw 1fr;
  gap: 5cqw;
  align-items: center;
}

.backbone-copy {
  display: grid;
  gap: 2cqh;
}

.backbone-copy .body-copy {
  font-size: var(--type-standfirst);
  line-height: 1.55;
}

.backbone-architecture {
  position: relative;
  min-height: 40cqh;
  padding: 2.4cqh 2cqw;
  display: grid;
  align-content: center;
  gap: 1.2cqh;
  border-left: 1px solid color-mix(in srgb, var(--accent) 72%, transparent);
  border-top: 1px solid color-mix(in srgb, var(--text-mute) 34%, transparent);
  background: color-mix(in srgb, var(--bg) 82%, transparent);
}

.backbone-layer {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 4.2cqw 1fr;
  gap: 1cqw;
  align-items: center;
  padding: 1.35cqh 1.1cqw;
  border: 1px solid color-mix(in srgb, var(--text-mute) 34%, transparent);
  background: color-mix(in srgb, var(--bg) 92%, transparent);
  transform: translateX(calc(var(--i) * 0.8cqw));
}

.slide.active .backbone-layer {
  animation: backbone-layer-in 720ms var(--ease-premium) both;
  animation-delay: calc(180ms + var(--i) * 120ms);
}

.backbone-layer span {
  color: var(--accent);
  font-family: var(--font-mono);
  font-size: var(--type-mono-sm);
  letter-spacing: 0.08em;
}

.backbone-layer strong {
  font-family: var(--font-serif-display);
  font-weight: 300;
  font-size: var(--type-h2);
  color: var(--text);
  font-variation-settings: "opsz" 144, "SOFT" 100;
}

.backbone-layer small {
  grid-column: 2;
  color: var(--text-mute);
  font-family: var(--font-mono);
  font-size: var(--type-mono-sm);
  letter-spacing: 0.02em;
}

.backbone-layer.accent-layer {
  border-color: color-mix(in srgb, var(--accent) 72%, transparent);
}

.backbone-spine {
  position: absolute;
  top: 4cqh;
  bottom: 4cqh;
  left: 2.7cqw;
  width: 1px;
  background: var(--accent);
  opacity: 0.68;
}

@keyframes backbone-layer-in {
  from {
    opacity: 0;
    transform: translateX(calc(var(--i) * 0.8cqw - 1.2cqw));
  }
  to {
    opacity: 1;
    transform: translateX(calc(var(--i) * 0.8cqw));
  }
}

.team-prose strong {
  color: var(--text);
  font-weight: 500;
}

.competitor-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 2cqw;
  align-items: start;
  width: 84cqw;
}

.tower-column {
  display: grid;
  gap: 1.2cqh;
  position: relative;
}

.tower-column svg {
  width: 100%;
  height: 34cqh;
}

.statement-list {
  display: grid;
  gap: 0.7cqh;
  color: var(--text-mute);
  font-size: var(--type-mono-sm);
  line-height: 1.45;
}

.statement-list div {
  border-bottom: 1px solid transparent;
  padding-bottom: 0.35cqh;
  opacity: 0;
  transform: translateY(4px);
  transition: opacity 220ms ease, transform 220ms ease, color 220ms ease, border-color 220ms ease;
}

.tower-column:hover .statement-list div,
.tower-column:focus-within .statement-list div {
  opacity: 0.45;
  transform: translateY(0);
}

.statement-list div.active {
  opacity: 1 !important;
  border-bottom-color: var(--accent);
  color: var(--text);
}

.tower-column.has-green-tower .statement-list div {
  opacity: 1;
  transform: translateY(0);
}

.banner {
  justify-self: center;
  text-align: center;
  font-family: var(--font-serif-display);
  font-size: var(--type-h2);
  line-height: var(--type-h2-line-height);
  color: var(--text);
  font-variation-settings: "opsz" 144, "SOFT" 100;
}

.number-wall {
  width: 80cqw;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(2, 1fr);
  gap: 4cqw;
  align-self: center;
  justify-self: center;
}

.number-cell {
  min-height: 20cqh;
  padding: 2cqh 1.8cqw;
  display: grid;
  align-content: center;
  gap: 1cqh;
}

.number-cell .num {
  font-family: var(--font-serif-display);
  font-size: var(--type-hero-grid);
  line-height: var(--type-hero-grid-line-height);
  font-weight: var(--type-hero-grid-weight);
  color: var(--text);
  font-variation-settings: "opsz" 144, "SOFT" 100;
}

.number-cell .label {
  font-family: var(--font-serif-body);
  font-style: italic;
  color: var(--text-mute);
  font-size: var(--type-standfirst);
  line-height: var(--type-standfirst-line-height);
}

.year-num {
  display: inline-flex;
  align-items: center;
  gap: 0.7cqw;
}

.year-arrow {
  display: inline-block;
  transform-origin: left center;
  transition: transform 420ms var(--ease-premium);
}

.reason-list {
  display: grid;
  gap: 1.6cqh;
  max-width: 80cqw;
  justify-self: center;
}

.reason-line {
  padding: 1.8cqh 2cqw;
  font-family: var(--font-serif-display);
  font-size: var(--type-h2);
  line-height: 1.28;
  color: var(--text);
  font-variation-settings: "opsz" 144, "SOFT" 100;
}

.reason-line span {
  color: var(--text-mute);
  font-family: var(--font-serif-body);
  font-style: italic;
}

.data-slide-layout {
  display: grid;
  grid-template-rows: auto auto auto 1fr auto;
  row-gap: 2cqh;
}

.data-spine {
  width: 82cqw;
  min-height: 42cqh;
  justify-self: center;
  display: grid;
  grid-template-columns: 24cqw 1fr 18cqw;
  gap: 3cqw;
  align-items: center;
}

.spine-sources,
.spine-ai {
  display: grid;
  gap: 1.1cqh;
}

.spine-sources span,
.spine-ai span {
  border-top: 1px solid color-mix(in srgb, var(--text-mute) 44%, transparent);
  padding: 1.2cqh 0;
  color: color-mix(in srgb, var(--text) 58%, var(--text-mute));
  font-family: var(--font-mono);
  font-size: var(--type-mono-sm);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.spine-core {
  min-height: 34cqh;
  display: grid;
  place-items: center;
  text-align: center;
  position: relative;
  border-left: 1px solid var(--accent);
  border-right: 1px solid var(--accent);
}

.spine-core span {
  position: absolute;
  inset: 50% -4cqw auto;
  height: 1px;
  background: color-mix(in srgb, var(--accent) 58%, transparent);
}

.spine-core strong {
  max-width: 22cqw;
  color: var(--text);
  font-family: var(--font-serif-display);
  font-size: var(--type-h2);
  line-height: var(--type-h2-line-height);
  font-weight: 400;
  font-variation-settings: "opsz" 144, "SOFT" 100;
}

.spine-core small,
.spine-ai strong {
  color: var(--accent);
  font-family: var(--font-mono);
  font-size: var(--type-mono-sm);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.offering-layout {
  display: grid;
  grid-template-rows: auto auto 1fr;
  row-gap: 2cqh;
}

.offering-detail {
  align-self: center;
  justify-self: center;
  width: 76cqw;
  display: grid;
  gap: 2.2cqh;
}

.offering-detail h1 {
  max-width: 74cqw;
}

.offering-layout.with-proof-photo {
  grid-template-columns: minmax(0, 46cqw) 34cqw;
  grid-template-rows: auto auto 1fr;
  column-gap: 4.8cqw;
  align-items: center;
}

.offering-layout.with-proof-photo > .chapter-mark,
.offering-layout.with-proof-photo > .rule,
.offering-layout.with-proof-photo > .offering-detail {
  grid-column: 1;
}

.offering-layout.with-proof-photo > .field-photo {
  grid-column: 2;
  grid-row: 1 / 4;
  justify-self: end;
  align-self: center;
}

.offering-layout.with-proof-photo .offering-detail {
  width: auto;
  justify-self: start;
}

.offering-layout.with-proof-photo .offering-detail h1 {
  max-width: 45cqw;
}

.offering-layout.with-proof-photo .offering-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.workshop-proof {
  grid-template-columns: minmax(0, 43cqw) 38cqw;
}

.workshop-proof .offering-detail h1 {
  max-width: 43cqw;
}

.workshop-proof .offering-grid.workshop-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.field-photo {
  position: relative;
  margin: 0;
  width: 100%;
  overflow: hidden;
  border-top: 1px solid color-mix(in srgb, var(--text-mute) 48%, transparent);
  border-left: 1px solid color-mix(in srgb, var(--accent) 48%, transparent);
  background: color-mix(in srgb, var(--bg) 82%, black);
  box-shadow: 0 1px 0 color-mix(in srgb, var(--text) 10%, transparent);
}

.field-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.field-photo::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(0, 0, 0, 0.04), rgba(0, 0, 0, 0.36)),
    linear-gradient(90deg, color-mix(in srgb, var(--bg) 10%, transparent), transparent 38%);
}

.field-photo figcaption {
  position: absolute;
  left: 1.2cqw;
  right: 1.2cqw;
  bottom: 1.2cqh;
  z-index: 2;
  color: color-mix(in srgb, #fff 86%, var(--text));
  font-family: var(--font-mono);
  font-size: var(--type-mono-sm);
  letter-spacing: 0.08em;
  line-height: 1.35;
  text-transform: uppercase;
}

.field-photo-keynote {
  aspect-ratio: 4 / 3;
}

.field-photo-workshop {
  aspect-ratio: 1.52 / 1;
  align-self: end;
}

.field-photo-sprint {
  width: 30cqw;
  aspect-ratio: 3 / 4;
}

.offering-grid,
.sprint-steps,
.sharp-list {
  display: grid;
  gap: 1.2cqh;
}

.offering-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.offering-grid.workshop-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1cqw;
}

.offering-grid span,
.sprint-steps span,
.sharp-list p {
  margin: 0;
  border-top: 1px solid color-mix(in srgb, var(--text-mute) 42%, transparent);
  padding: 1.6cqh 0;
  color: var(--text);
  font-family: var(--font-serif-display);
  font-size: var(--type-h2);
  line-height: var(--type-h2-line-height);
  font-variation-settings: "opsz" 144, "SOFT" 100;
}

.sprint-steps {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.team-layout {
  display: grid;
  grid-template-rows: auto auto 1fr;
  row-gap: 2cqh;
}

.slide[data-slide="18"] {
  --bg-opacity: 0.18;
}

.slide[data-slide="13"] {
  --bg-opacity: 0.16;
}

.team-layout.has-team-photo {
  grid-template-columns: minmax(0, 49cqw) 32cqw;
  grid-template-rows: auto auto 1fr;
  column-gap: 5cqw;
  align-items: center;
}

.team-layout.has-team-photo > .chapter-mark,
.team-layout.has-team-photo > .talent-constellation,
.team-layout.has-team-photo > .essay-head,
.team-layout.has-team-photo > .essay-content {
  grid-column: 1;
}

.team-layout.has-team-photo .talent-constellation {
  justify-self: start;
  width: 38cqw;
  height: 8cqh;
}

.team-layout.has-team-photo .essay-head {
  justify-items: start;
  text-align: left;
}

.team-layout.has-team-photo .essay-head h1 {
  max-width: 49cqw;
}

.team-layout.has-team-photo .team-prose {
  max-width: 46cqw;
  justify-self: start;
}

.team-photo {
  grid-column: 2;
  grid-row: 1 / 4;
  width: 32cqw;
  aspect-ratio: 1 / 1;
  justify-self: end;
  align-self: center;
}

.team-photo::after {
  background:
    linear-gradient(180deg, rgba(0, 0, 0, 0.02), rgba(0, 0, 0, 0.34)),
    linear-gradient(90deg, rgba(0, 0, 0, 0.10), transparent 42%);
}

.talent-constellation {
  justify-self: center;
  width: 54cqw;
  height: 13cqh;
  position: relative;
}

.talent-constellation::before {
  content: none;
}

.talent-constellation span {
  position: absolute;
  width: var(--dot-size, 0.74cqw);
  height: var(--dot-size, 0.74cqw);
  left: var(--x);
  top: var(--y);
  background: color-mix(in srgb, var(--text-mute) 30%, transparent);
  border: 1px solid color-mix(in srgb, var(--text-mute) 42%, transparent);
  transform: rotate(45deg);
}

.talent-constellation span:nth-child(1) { --x: 4%; --y: 62%; --dot-size: 0.62cqw; }
.talent-constellation span:nth-child(2) { --x: 18%; --y: 34%; --dot-size: 0.78cqw; transform: rotate(26deg); }
.talent-constellation span:nth-child(3) { --x: 32%; --y: 50%; --dot-size: 0.58cqw; transform: rotate(62deg); }
.talent-constellation span:nth-child(4) { --x: 47%; --y: 20%; --dot-size: 1cqw; background: var(--accent); border-color: var(--accent); }
.talent-constellation span:nth-child(5) { --x: 63%; --y: 42%; --dot-size: 0.7cqw; transform: rotate(18deg); }
.talent-constellation span:nth-child(6) { --x: 77%; --y: 28%; --dot-size: 0.84cqw; transform: rotate(54deg); }
.talent-constellation span:nth-child(7) { --x: 91%; --y: 58%; --dot-size: 0.64cqw; }

.power-layout {
  display: grid;
  grid-template-rows: auto 1fr auto;
  gap: 2cqh;
}

.industry-map {
  width: 78cqw;
  justify-self: center;
  align-self: center;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.4cqw 1.4cqh;
}

.industry-map span {
  min-height: 10cqh;
  display: grid;
  align-content: center;
  justify-items: start;
  gap: 0.8cqh;
  border: 1px solid color-mix(in srgb, var(--text-mute) 34%, transparent);
  padding: 1.8cqh 1.4cqw;
  color: var(--text);
  font-family: var(--font-serif-display);
  font-variation-settings: "opsz" 144, "SOFT" 100;
  position: relative;
}

.industry-map span::before {
  content: "";
  width: 3.2cqw;
  height: 1.7cqh;
  border-top: 1px solid var(--accent);
  border-right: 1px solid var(--accent);
  transform: skewX(-18deg);
  opacity: 0.8;
}

.industry-map strong {
  font-family: var(--font-serif-display);
  font-size: var(--type-h2);
  font-weight: 300;
  line-height: var(--type-h2-line-height);
  font-variation-settings: "opsz" 144, "SOFT" 100;
}

.industry-map small {
  color: color-mix(in srgb, var(--text) 58%, var(--text-mute));
  font-family: var(--font-mono);
  font-size: var(--type-mono-sm);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.slide:not(.palette-cream):not(.palette-nuanose) .standfirst,
.slide:not(.palette-cream):not(.palette-nuanose) .caption,
.slide:not(.palette-cream):not(.palette-nuanose) .footer-line,
.slide:not(.palette-cream):not(.palette-nuanose) .essay-line {
  color: color-mix(in srgb, var(--text) 76%, var(--text-mute));
}

[data-layout="service"] .service-copy .standfirst,
.offering-detail .standfirst {
  width: fit-content;
  max-width: 62cqw;
  padding: 0.8cqh 1.2cqw 0.8cqh 0;
  background: linear-gradient(90deg,
    color-mix(in srgb, var(--bg) 92%, transparent) 0%,
    color-mix(in srgb, var(--bg) 78%, transparent) 72%,
    transparent 100%);
  color: var(--text);
}

.palette-cream .offering-detail .standfirst,
.palette-nuanose .offering-detail .standfirst {
  background: transparent;
}

.sharp-list {
  max-width: 78cqw;
  justify-self: center;
  margin-top: 2cqh;
}

.sharp-list p {
  color: var(--text);
}

.numbered-list p {
  display: grid;
  grid-template-columns: 4cqw 1fr;
  gap: 1.4cqw;
  align-items: baseline;
}

.numbered-list p span {
  color: color-mix(in srgb, var(--text-mute) 30%, transparent);
  font-family: var(--font-mono);
  font-size: var(--type-mono-md);
  letter-spacing: 0.08em;
}

.slide[data-slide="20"] {
  --bg-opacity: 0.22;
}

.slide[data-slide="20"] .slide-inner {
  row-gap: 1.4cqh;
}

.slide[data-slide="20"] .essay-head {
  justify-items: start;
  text-align: left;
  margin-left: 7cqw;
  gap: 1cqh;
}

.slide[data-slide="20"] .essay-head h1 {
  max-width: 48cqw;
  font-size: var(--type-h2);
  line-height: var(--type-h2-line-height);
}

.slide[data-slide="20"] .essay-head .small-rule {
  justify-self: start;
  width: 12cqw;
}

.slide[data-slide="20"] .sharp-list {
  align-self: center;
  justify-self: start;
  max-width: 70cqw;
  margin: 0 0 0 7cqw;
  gap: 0.55cqh;
}

.slide[data-slide="20"] .sharp-list p {
  padding: 1.15cqh 0;
  font-size: clamp(2rem, 4.8vw, 4.4rem);
  line-height: 1.03;
  letter-spacing: -0.02em;
}

.slide[data-slide="20"] .numbered-list p {
  grid-template-columns: 4.2cqw 1fr;
  gap: 1.2cqw;
}

.slide[data-slide="20"] .numbered-list p span {
  align-self: start;
  padding-top: 0.9cqh;
  font-size: var(--type-mono-sm);
}

.slide[data-slide="22"] {
  --bg-opacity: 0.24;
}

.slide[data-slide="22"] .service-copy h1 {
  max-width: 48cqw;
}

.slide[data-slide="24"] {
  --bg-opacity: 0.12;
}

.slide[data-slide="25"] {
  --bg-opacity: 0.46;
}

.slide[data-slide="26"] {
  --bg-opacity: 0.38;
}

.slide[data-slide="27"] {
  --bg-opacity: 0.72;
}

.slide[data-slide="28"] {
  --bg-opacity: 0.34;
}

.slide[data-slide="29"] {
  --bg-opacity: 0.56;
}

.launchpad-split-layout {
  grid-template-rows: auto auto 1fr auto;
}

.venture-split {
  align-self: stretch;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6cqw;
  position: relative;
  margin-top: 1cqh;
}

.venture-split::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 2cqh;
  bottom: 2cqh;
  width: 1px;
  background: var(--accent);
  opacity: 0.8;
}

.venture-panel {
  display: grid;
  align-content: center;
  gap: 1.9cqh;
  padding: 4cqh 3cqw 5cqh;
  border-top: 1px solid color-mix(in srgb, var(--text-mute) 42%, transparent);
  background: color-mix(in srgb, var(--bg) 90%, transparent);
}

.nuanose-panel {
  border-top-color: #FF5A1F;
}

.manuel-panel {
  border-top-color: var(--accent);
}

.venture-display {
  font-family: var(--font-serif-display);
  font-weight: 300;
  font-size: clamp(3.5rem, 6.5vw, 5.5rem);
  line-height: 0.95;
  letter-spacing: -0.025em;
  font-variation-settings: "opsz" 144, "SOFT" 100;
}

.nuanose-panel .venture-display {
  color: #FF5A1F;
}

.venture-stat,
.accessory-note {
  color: var(--text);
  font-family: var(--font-mono);
  font-size: var(--type-mono-sm);
  letter-spacing: 0.08em;
  line-height: 1.45;
  text-transform: uppercase;
}

.nuanose-intro-layout {
  display: grid;
  grid-template-columns: minmax(0, 47cqw) minmax(0, 37cqw);
  grid-template-rows: auto auto 1fr auto;
  column-gap: 5cqw;
  row-gap: 1.7cqh;
  align-items: start;
}

.nuanose-intro-layout .essay-head {
  grid-column: 1;
  justify-items: start;
  text-align: left;
}

.nuanose-intro-layout .essay-head h1 {
  max-width: 47cqw;
}

.nuanose-intro-layout > .chapter-mark,
.nuanose-intro-layout > .rule {
  grid-column: 1 / -1;
}

.nuanose-hero-card {
  grid-column: 2;
  grid-row: 3 / 5;
  width: 100%;
  max-height: 64cqh;
  align-self: center;
  object-fit: cover;
  object-position: center;
  border: 2px solid var(--nuanose-accent);
  background: var(--bg);
  padding: 1.2cqh;
  box-shadow: 0 1.4cqh 4cqh rgba(26, 26, 26, 0.12);
}

.nuanose-copy {
  grid-column: 1;
  align-self: center;
  display: grid;
  gap: 1.6cqh;
  align-items: start;
}

.nuanose-copy .body-copy {
  max-width: 43cqw;
  color: color-mix(in srgb, var(--text) 86%, var(--text-mute));
  background: rgba(242, 237, 228, 0.9);
  padding: 1.6cqh 1.5cqw 1.6cqh 0;
}

.nuanose-quote {
  border-left-color: var(--nuanose-accent);
  color: var(--text);
  background: rgba(242, 237, 228, 0.94);
  max-width: 39cqw;
  padding: 1.2cqh 1.4cqw;
}

.nuanose-intro-layout > .stat-row {
  grid-column: 1;
  align-self: end;
}

.nuanose-products-layout {
  display: grid;
  grid-template-rows: auto auto auto auto auto;
  row-gap: 1.6cqh;
}

.product-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.4cqw;
}

.product-grid article {
  min-height: 23cqh;
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 0.75cqh;
  padding: 1.6cqh 1cqw;
  border: 2px solid var(--nuanose-accent);
  background: rgba(242, 237, 228, 0.86);
  text-align: center;
}

.product-photo {
  width: 100%;
  height: 12.5cqh;
  display: block;
  object-fit: contain;
  filter: drop-shadow(0 0.7cqh 1.2cqh rgba(26, 26, 26, 0.14));
}

.product-grid strong,
.product-grid small,
.product-grid p {
  margin: 0;
}

.product-grid strong {
  font-family: var(--font-serif-display);
  font-size: var(--type-h2);
  font-weight: 300;
  font-variation-settings: "opsz" 144, "SOFT" 100;
}

.product-grid small {
  color: var(--text-mute);
  font-family: var(--font-mono);
  font-size: var(--type-mono-sm);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.product-grid p {
  color: var(--text-mute);
  font-family: var(--font-serif-body);
  font-size: var(--type-body);
  font-style: italic;
  line-height: 1.35;
}

.launch-stat-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.4cqw;
}

.launch-stat-grid p {
  margin: 0;
  display: grid;
  gap: 0.5cqh;
  border-top: 1px solid color-mix(in srgb, var(--text-mute) 42%, transparent);
  padding-top: 1.2cqh;
}

.launch-stat-grid strong {
  font-family: var(--font-serif-display);
  font-size: var(--type-hero-grid);
  font-weight: 300;
  line-height: var(--type-hero-grid-line-height);
  letter-spacing: -0.03em;
  font-variation-settings: "opsz" 144, "SOFT" 100;
}

.launch-stat-grid span {
  color: var(--text-mute);
  font-family: var(--font-serif-body);
  font-size: var(--type-body);
  font-style: italic;
  line-height: 1.35;
}

.accessory-note {
  justify-self: end;
  color: var(--text-mute);
}

.launch-columns .column-panel {
  background: rgba(242, 237, 228, 0.94);
  border-top-color: var(--nuanose-accent);
}

.channel-photo {
  width: 100%;
  height: 12cqh;
  object-fit: cover;
  display: block;
  border: 1px solid rgba(255, 90, 31, 0.55);
  margin-bottom: 0.3cqh;
}

.manuel-loop-layout {
  display: grid;
  grid-template-rows: auto 1fr auto auto;
  row-gap: 2cqh;
}

.manuel-loop {
  width: 82cqw;
  max-height: 39cqh;
  justify-self: center;
  align-self: center;
}

.manuel-loop circle:not(.risk-dot) {
  fill: #F2F5F3;
  stroke: var(--accent);
  stroke-width: 2;
}

.manuel-loop text {
  text-anchor: middle;
  fill: var(--text);
  font-family: var(--font-mono);
  font-size: 22px;
  letter-spacing: 0.08em;
}

.manuel-loop g text + text {
  fill: color-mix(in srgb, var(--text) 72%, var(--text-mute));
  font-family: var(--font-serif-body);
  font-size: 16px;
  font-style: italic;
  letter-spacing: 0;
}

.risk-dot {
  fill: var(--manuel-warm);
}

.manuel-stats strong {
  color: var(--text);
}

.manuel-stats p:nth-child(2) strong {
  color: var(--manuel-warm);
}

.manuel-cases-layout {
  display: grid;
  grid-template-rows: auto auto 1fr auto;
  row-gap: 2cqh;
}

.manuel-case-stack {
  align-self: center;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.5cqw;
}

.manuel-case-stack article {
  min-height: 30cqh;
  display: grid;
  align-content: start;
  gap: 1.2cqh;
  padding: 2cqh 1.4cqw;
  border-top: 1px solid var(--accent);
  background: color-mix(in srgb, var(--bg) 88%, transparent);
}

.manuel-case-stack h2 {
  margin: 0;
  color: var(--text);
}

.launchpad-capstone-layout {
  display: grid;
  grid-template-rows: auto auto 1fr auto;
  row-gap: 2cqh;
}

.capstone-copy {
  align-self: center;
  max-width: 78cqw;
  justify-self: center;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 2cqw;
}

.capstone-copy p {
  margin: 0;
  color: color-mix(in srgb, var(--text) 82%, var(--text-mute));
  font-size: var(--type-body);
  line-height: var(--type-body-line-height);
  border-top: 1px solid color-mix(in srgb, var(--text-mute) 36%, transparent);
  padding-top: 1.8cqh;
  background: linear-gradient(180deg, color-mix(in srgb, var(--bg) 76%, transparent), transparent);
}

.capstone-copy strong {
  display: block;
  margin-bottom: 1cqh;
  color: var(--text);
  font-family: var(--font-serif-display);
  font-size: var(--type-h2);
  font-weight: 300;
  line-height: var(--type-h2-line-height);
  font-variation-settings: "opsz" 144, "SOFT" 100;
}

.progress {
  position: fixed;
  left: 0;
  bottom: 0;
  height: 2px;
  width: 100vw;
  z-index: 50;
  background: rgba(255, 255, 255, 0.06);
}

.progress-fill {
  height: 100%;
  width: 5%;
  background: var(--brand-green);
  transition: width 250ms var(--ease-premium);
}

.overview-grid {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: none;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  grid-template-rows: repeat(4, minmax(0, 1fr));
  gap: 0.8vw;
  padding: 1.6vw;
  background: rgba(0, 0, 0, 0.92);
  overflow: auto;
}

.overview-grid.visible {
  display: grid;
}

.thumb {
  border: 1px solid rgba(255, 255, 255, 0.16);
  background: #0B1220;
  color: #F2F5F3;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  min-height: 0;
  padding: 0;
}

.thumb img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.45;
}

.thumb.no-bg::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(rgba(26, 37, 53, 0.34) 1px, transparent 1px),
    linear-gradient(90deg, rgba(26, 37, 53, 0.34) 1px, transparent 1px),
    #0B1220;
  background-size: 22px 22px;
}

.thumb-launchpad {
  border-color: rgba(255, 90, 31, 0.46);
}

.thumb-section-boundary::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  height: 2px;
  background: var(--brand-green);
}

.thumb span {
  position: absolute;
  left: 5%;
  right: 5%;
  bottom: 6%;
  font-family: var(--font-mono);
  font-size: var(--type-meta);
  text-align: left;
}

.controls-overlay,
.presenter-panel {
  position: fixed;
  z-index: 90;
  color: #F2F5F3;
  background: rgba(11, 18, 32, 0.92);
  border: 1px solid rgba(var(--brand-green-rgb), 0.28);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
}

.headline a {
  color: inherit;
  text-decoration: underline;
  text-decoration-color: color-mix(in srgb, var(--text) 38%, transparent);
  text-underline-offset: 0.18em;
  text-decoration-thickness: 0.05em;
}

.headline a:hover {
  text-decoration-color: var(--accent);
}

.lane-green,
.pipeline-ring,
.green-tower rect {
  stroke: var(--accent);
}

.controls-overlay {
  display: none;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: min(56vw, 760px);
  padding: 3vh 3vw;
  font-size: var(--type-mono-md);
  line-height: 1.8;
}

.controls-overlay.visible {
  display: block;
}

.presenter-panel {
  left: 0;
  right: 0;
  bottom: 0;
  min-height: 25vh;
  transform: translateY(105%);
  transition: transform 240ms var(--ease-premium);
  padding: 2.5vh 5vw;
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-rows: auto 1fr auto;
  gap: 1vh 2vw;
}

.presenter-panel.visible {
  transform: translateY(0);
}

.presenter-notes {
  grid-column: 1 / -1;
  color: #F2F5F3;
  font-family: var(--font-serif-body);
  font-size: var(--type-body);
  line-height: 1.55;
  max-width: 76vw;
}

.presenter-clock,
.next-preview {
  color: #8A9A94;
  font-size: var(--type-mono-sm);
}

@media print {
  html,
  body {
    width: auto;
    height: auto;
    overflow: visible;
    background: #fff;
  }

  .stage,
  #deck {
    position: static;
    display: block;
    width: auto;
    height: auto;
  }

  .slide {
    position: relative;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100vw;
    height: calc(100vw * 9 / 16);
    page-break-after: always;
    break-after: page;
  }

  .progress,
  .overview-grid,
  .controls-overlay,
  .presenter-panel {
    display: none !important;
  }
}
