:root {
  --page-width: 297mm;
  --page-height: 210mm;
  --page-padding-x: 13mm;
  --page-padding-y: 11mm;
  --bg: #08111f;
  --panel: rgba(10, 18, 36, 0.82);
  --panel-strong: rgba(9, 16, 31, 0.92);
  --line: rgba(175, 220, 255, 0.14);
  --text: #f3f7ff;
  --muted: #a7b6cf;
  --cyan: #5dd6ff;
  --emerald: #4af0b5;
  --amber: #ffc86b;
  --rose: #ff8a7d;
  --ink: #09111e;
  --shadow: 0 18px 64px rgba(0, 0, 0, 0.28);
  --radius-xl: 7mm;
  --radius-lg: 5.5mm;
  --radius-md: 4mm;
}

* {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  min-height: 100%;
  background:
    radial-gradient(circle at top left, rgba(93, 214, 255, 0.14), transparent 28%),
    radial-gradient(circle at top right, rgba(255, 138, 125, 0.15), transparent 26%),
    linear-gradient(160deg, #050b15 0%, #08111f 45%, #0d1326 100%);
  color: var(--text);
  font-family: "Pretendard Variable", "Pretendard", "SUIT Variable", "Noto Sans KR", sans-serif;
}

body {
  min-width: calc(var(--page-width) + 30mm);
  padding: 7mm 0 12mm;
  overflow: auto;
}

h1,
h2,
h3,
h4,
p {
  margin: 0;
}

a {
  color: inherit;
  text-decoration: none;
}

.page-shell {
  width: var(--page-width);
  margin: 0 auto 8mm;
}

.page-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6mm;
  margin: 0 0 3.5mm;
  padding: 0 1mm;
  color: var(--muted);
  font-size: 10.5pt;
  letter-spacing: 0.03em;
}

.page-header .brand {
  display: flex;
  align-items: center;
  gap: 3mm;
  text-transform: uppercase;
  font-weight: 700;
}

.page-meta {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 3mm;
  margin-left: auto;
  text-align: right;
  flex-wrap: nowrap;
}

.page-header .brand::before {
  content: "";
  width: 14mm;
  height: 3mm;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--cyan), var(--emerald));
  box-shadow: 0 0 24px rgba(93, 214, 255, 0.32);
}

.company-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 8.6mm;
  padding: 0 3.8mm;
  border-radius: 999px;
  border: 1px solid rgba(93, 214, 255, 0.16);
  background: rgba(255, 255, 255, 0.04);
  color: #d8e7f7;
  font-size: 8.8pt;
  font-weight: 600;
  letter-spacing: 0.03em;
}

.company-badge:hover {
  border-color: rgba(93, 214, 255, 0.24);
  background: rgba(93, 214, 255, 0.08);
}

.hero-card,
.entry-card,
.slide-frame,
.panel,
.mini-card,
.stat-card,
.principle-card,
.impact-card,
.footer-card {
  border-radius: var(--radius-lg);
  border: 1px solid var(--line);
  background: var(--panel);
  backdrop-filter: blur(14px);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
}

.hero-card {
  position: relative;
  overflow: hidden;
  padding: 11mm 12mm;
  background:
    radial-gradient(circle at top right, rgba(93, 214, 255, 0.18), transparent 30%),
    linear-gradient(145deg, rgba(12, 19, 31, 0.96), rgba(6, 11, 22, 0.92));
  box-shadow: var(--shadow);
}

.hero-card::after {
  content: "";
  position: absolute;
  right: -18mm;
  top: -18mm;
  width: 54mm;
  height: 54mm;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(74, 240, 181, 0.18), transparent 70%);
  pointer-events: none;
}

.eyebrow,
.eyebrow-small {
  display: inline-flex;
  align-items: center;
  gap: 2.4mm;
  padding: 2.3mm 4mm;
  border-radius: 999px;
  width: fit-content;
  font-size: 9pt;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.eyebrow {
  background: rgba(7, 17, 33, 0.56);
  border: 1px solid rgba(93, 214, 255, 0.22);
  color: #d5ecff;
}

.eyebrow::before,
.eyebrow-small::before {
  content: "";
  width: 2.1mm;
  height: 2.1mm;
  border-radius: 999px;
  background: var(--emerald);
  box-shadow: 0 0 10px rgba(74, 240, 181, 0.55);
}

.eyebrow-small {
  padding: 0;
  background: none;
  border: 0;
  color: var(--cyan);
}

.hero-title,
.section-title {
  font-family: "SUIT Variable", "Pretendard Variable", sans-serif;
  letter-spacing: -0.04em;
}

.hero-title {
  margin-top: 4.8mm;
  max-width: 235mm;
  font-size: 25.5pt;
  line-height: 1.1;
}

.hero-title .accent,
.section-title .accent {
  color: var(--cyan);
}

.inline-accent-note {
  display: inline-block;
  white-space: nowrap;
  color: var(--cyan);
  font-size: 0.72em;
  font-weight: 800;
  letter-spacing: -0.02em;
}

.hero-subtitle,
.section-subtitle {
  max-width: 250mm;
  color: #cfdef3;
  line-height: 1.58;
}

.hero-subtitle {
  margin-top: 4mm;
  font-size: 12pt;
}

.section-title {
  max-width: 258mm;
  font-size: 22.5pt;
  line-height: 1.14;
}

.section-subtitle {
  margin-top: 3.6mm;
  font-size: 11.4pt;
}

.slide-page .hero-title,
.slide-page .section-title {
  max-width: 258mm;
  font-size: 24.5pt;
  line-height: 1.12;
}

.slide-page .hero-subtitle,
.slide-page .section-subtitle {
  max-width: 250mm;
  font-size: 11.8pt;
  line-height: 1.56;
}

.button-row,
.tag-row,
.legend-row,
.role-row,
.pill-row,
.nav-links,
.nav-group,
.artifact-items {
  display: flex;
  flex-wrap: wrap;
  gap: 3mm;
}

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 11.5mm;
  padding: 0 5mm;
  border-radius: 999px;
  font-size: 10.4pt;
  font-weight: 700;
  transition: transform 160ms ease, background 160ms ease, border-color 160ms ease;
}

.button:hover {
  transform: translateY(-1px);
}

.button.primary {
  color: var(--ink);
  background: linear-gradient(135deg, var(--amber), #ffe7b4);
}

.button.secondary {
  color: #eaf7ff;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.tag,
.legend-tag,
.role-tag,
.metric-tag,
.transition-chip,
.artifact-item,
.process-node {
  padding: 2.5mm 4mm;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.08);
  color: #ebf5ff;
  font-size: 10pt;
  font-weight: 600;
  line-height: 1.35;
}

.legend-tag strong,
.metric-tag strong,
.tag strong,
.artifact-item strong {
  color: var(--amber);
}

.metric-tag {
  display: inline-grid;
  justify-items: start;
  white-space: normal;
  line-height: 1.28;
}

.pill-row.equal-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 3mm;
  width: 100%;
}

.pill-row.equal-grid .metric-tag {
  width: 100%;
}

.entry-grid,
.stats-grid,
.mini-grid,
.impact-grid,
.columns,
.principle-grid,
.impact-footer,
.transition-grid,
.artifact-groups,
.reason-list,
.landing-diagram,
.adoption-stairs,
.summary-panels,
.conclusion-layout {
  display: grid;
  gap: 4.5mm;
}

.entry-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 5mm;
}

.stats-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 5mm;
}

.mini-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 5mm;
}

.impact-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 5mm;
}

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

.comparison-columns {
  grid-template-columns: minmax(0, 1fr) 10mm minmax(0, 1fr);
  align-items: center;
}

.comparison-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--amber);
  font-size: 20pt;
  font-weight: 800;
  line-height: 1;
  text-shadow: 0 0 16px rgba(255, 200, 107, 0.18);
}

.principle-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
}

.impact-footer {
  grid-template-columns: 1.15fr 0.85fr;
  align-items: center;
}

.transition-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 4.5mm;
  width: calc(100% + 4mm);
  margin-left: -2mm;
  margin-right: -2mm;
}

.artifact-groups,
.reason-list,
.landing-diagram {
  margin-top: 4mm;
}

.artifact-groups {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.reason-list {
  grid-template-columns: 1fr;
}

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

.adoption-stairs {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: end;
  margin-top: 5mm;
}

.summary-panels {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.conclusion-layout {
  grid-template-columns: 0.88fr 1.12fr;
  align-items: stretch;
  margin-top: 5mm;
}

.entry-card,
.mini-card,
.principle-card,
.impact-card,
.panel,
.footer-card,
.stat-card,
.transition-card,
.artifact-group,
.reason-block,
.landing-step,
.stair-card,
.symbol-panel {
  padding: 5mm;
}

.mini-card,
.principle-card,
.impact-card,
.panel,
.transition-card,
.transition-diagram,
.artifact-group,
.reason-block,
.landing-step,
.stair-card {
  display: grid;
  align-content: start;
}

.mini-card,
.principle-card,
.impact-card {
  gap: 2.6mm;
}

.panel {
  gap: 3.2mm;
}

.reason-block {
  gap: 0;
}

.principle-card {
  height: 100%;
}

.entry-card {
  display: grid;
  gap: 3mm;
  min-height: 42mm;
}

.entry-card h3,
.mini-card h3,
.impact-card h3,
.principle-card h4 {
  font-size: 13pt;
  letter-spacing: -0.02em;
  line-height: 1.24;
}

.entry-card p,
.mini-card p,
.impact-card p,
.principle-card p,
.panel p,
.slide-frame p,
.panel li,
.transition-diagram p,
.artifact-group p,
.reason-block p,
.landing-step p,
.stair-card p,
.symbol-caption p {
  color: #d4e2f4;
  font-size: 10.2pt;
  line-height: 1.56;
}

.entry-index,
.mini-index,
.impact-index {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  min-width: 11.5mm;
  height: 8.6mm;
  padding: 0 2.8mm;
  border-radius: 3.1mm;
  font-size: 10pt;
  font-weight: 800;
  color: var(--ink);
  background: linear-gradient(135deg, var(--amber), #ffe7b4);
  white-space: nowrap;
  line-height: 1;
}

.stats-grid .stat-card {
  padding: 4.8mm 5mm;
}

.stat-label {
  color: var(--muted);
  font-size: 9.2pt;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.stat-value {
  margin-top: 2.2mm;
  font-size: 16.5pt;
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.14;
}

.stat-copy {
  margin-top: 2mm;
}

.slide-page .page-shell {
  width: var(--page-width);
}

.slide-frame {
  position: relative;
  min-height: var(--page-height);
  padding: var(--page-padding-y) var(--page-padding-x);
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.02), transparent 26%),
    linear-gradient(145deg, rgba(12, 19, 31, 0.96), rgba(6, 11, 22, 0.9));
  box-shadow: var(--shadow);
}

.slide-frame::before,
.slide-frame::after {
  content: "";
  position: absolute;
  border-radius: 999px;
  filter: blur(8px);
  opacity: 0.8;
  pointer-events: none;
}

.slide-frame::before {
  width: 54mm;
  height: 54mm;
  top: -18mm;
  right: -16mm;
  background: radial-gradient(circle, rgba(93, 214, 255, 0.22) 0%, rgba(93, 214, 255, 0) 72%);
}

.slide-frame::after {
  width: 46mm;
  height: 46mm;
  bottom: -22mm;
  left: -15mm;
  background: radial-gradient(circle, rgba(255, 200, 107, 0.13) 0%, rgba(255, 200, 107, 0) 72%);
}

.slide-frame.hero::before {
  background: radial-gradient(circle, rgba(74, 240, 181, 0.22) 0%, rgba(74, 240, 181, 0) 70%);
}

.slide-frame.strategy::after {
  background: radial-gradient(circle, rgba(255, 138, 125, 0.15) 0%, rgba(255, 138, 125, 0) 75%);
}

.slide-number {
  position: absolute;
  right: 8mm;
  top: 7mm;
  font-family: "SUIT Variable", "Pretendard Variable", sans-serif;
  font-size: 38pt;
  font-weight: 800;
  color: rgba(255, 255, 255, 0.06);
  letter-spacing: -0.05em;
  line-height: 0.9;
}

.hero-main {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(0, 0.9fr);
  gap: 5mm;
  align-items: start;
}

.question-panel {
  margin-top: 5mm;
}

.question-panel ul {
  columns: 2;
  column-gap: 8mm;
  margin: 3mm 0 0;
  padding-left: 5mm;
}

.question-panel li {
  break-inside: avoid;
  margin: 1mm 0 1.6mm;
}

.pain-grid {
  margin-top: 4.5mm;
}

.panel ul {
  margin: 0;
  padding-left: 5mm;
}

.panel li {
  margin: 1.1mm 0;
}

.panel-title {
  font-size: 14pt;
  font-weight: 700;
  letter-spacing: -0.02em;
}

.card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 4mm;
  min-height: 10mm;
}

.appendix-link {
  gap: 2.2mm;
}

.appendix-link .appendix-highlight {
  color: var(--amber);
}

.appendix-link .appendix-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 5mm;
  height: 5mm;
  border-radius: 999px;
  background: rgba(255, 200, 107, 0.14);
  color: #ffe7b4;
  font-size: 9pt;
  line-height: 1;
  flex: 0 0 auto;
}

.badge {
  padding: 1.4mm 3mm;
  border-radius: 999px;
  font-size: 8.4pt;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.badge.red {
  color: #ffd0cb;
  background: rgba(255, 138, 125, 0.12);
  border: 1px solid rgba(255, 138, 125, 0.18);
}

.badge.green {
  color: #ccffed;
  background: rgba(74, 240, 181, 0.12);
  border: 1px solid rgba(74, 240, 181, 0.18);
}

.transition-card {
  gap: 3mm;
  grid-template-rows: auto 1fr;
  height: 100%;
}

.transition-chip {
  align-self: stretch;
  min-height: 12mm;
  white-space: normal;
  display: block;
  padding: 3mm 4mm;
  font-size: 9.2pt;
  line-height: 1.42;
  word-break: keep-all;
  overflow-wrap: anywhere;
}

.transition-diagram {
  min-height: 44mm;
  height: 100%;
  padding: 4.5mm;
  border-radius: 4.5mm;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.07);
  grid-template-rows: auto auto 1fr;
  gap: 3.2mm;
  justify-items: stretch;
}

.diagram-row {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 2.4mm;
}

.transition-card:last-child .diagram-row {
  width: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: 2mm;
}

.diagram-column {
  display: grid;
  justify-items: center;
  gap: 1.8mm;
}

.diagram-column.consistent {
  width: 100%;
  gap: 2.8mm;
}

.diagram-column.compare {
  gap: 3.4mm;
}

.compare-group {
  width: 100%;
  display: grid;
  gap: 1.6mm;
  justify-items: stretch;
}

.compare-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  justify-self: center;
  width: fit-content;
  min-height: 8mm;
  padding: 0 3.2mm;
  border-radius: 999px;
  font-size: 8.8pt;
  font-weight: 800;
  line-height: 1;
}

.compare-label.bad {
  color: #ffd9d5;
  background: rgba(255, 138, 125, 0.12);
  border: 1px solid rgba(255, 138, 125, 0.18);
}

.compare-label.good {
  color: #d6f4ff;
  background: rgba(93, 214, 255, 0.1);
  border: 1px solid rgba(93, 214, 255, 0.18);
}

.diagram-row.fixed {
  width: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: 2mm;
}

.diagram-drop {
  display: grid;
  justify-items: center;
  gap: 0.6mm;
}

.diagram-drop-mark {
  color: #d7e6f6;
  font-size: 9.4pt;
  font-weight: 800;
  letter-spacing: 0.1em;
  line-height: 1;
}

.diagram-drop-arrow {
  color: var(--cyan);
  font-size: 17pt;
  font-weight: 800;
  line-height: 1;
}

.diagram-box {
  padding: 2.3mm 3.4mm;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.08);
  color: #eaf6ff;
  font-size: 9.2pt;
  font-weight: 700;
  white-space: normal;
  text-align: center;
  line-height: 1.32;
  max-width: 100%;
}

.diagram-box.fit {
  min-height: 13mm;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}

.transition-card:last-child .diagram-row .diagram-box {
  width: 100%;
  min-height: 11.5mm;
  display: flex;
  align-items: center;
  justify-content: center;
}

.diagram-box.accent {
  color: #d6f4ff;
  background: rgba(93, 214, 255, 0.1);
  border-color: rgba(93, 214, 255, 0.18);
}

.diagram-box.warn {
  color: #fff0c9;
  background: rgba(255, 200, 107, 0.1);
  border-color: rgba(255, 200, 107, 0.18);
}

.diagram-arrow {
  color: var(--amber);
  font-size: 12pt;
  font-weight: 800;
  line-height: 1;
}

.diagram-stack {
  width: 100%;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 2mm;
  padding: 0 3.4mm;
}

.diagram-bar {
  width: 12mm;
  border-radius: 2.4mm 2.4mm 1.2mm 1.2mm;
  background: linear-gradient(180deg, rgba(93, 214, 255, 0.22), rgba(93, 214, 255, 0.08));
  border: 1px solid rgba(93, 214, 255, 0.14);
}

.diagram-bar.one {
  height: 8mm;
}

.diagram-bar.two {
  height: 13mm;
}

.diagram-bar.three {
  height: 18mm;
}

.process-flow {
  display: grid;
  gap: 3mm;
  margin-top: 3.8mm;
}

.process-lane {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 2mm;
}

.process-node {
  font-size: 9.2pt;
  font-weight: 700;
  white-space: nowrap;
}

.process-node.strong {
  background: rgba(74, 240, 181, 0.08);
  border-color: rgba(74, 240, 181, 0.18);
}

.process-arrow {
  color: var(--amber);
  font-size: 11pt;
  font-weight: 800;
  line-height: 1;
}

.artifact-group,
.reason-block,
.landing-step,
.stair-card,
.symbol-panel {
  border-radius: 4.8mm;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.07);
}

.artifact-group {
  display: grid;
  gap: 2.2mm;
}

.artifact-group h4,
.reason-block strong,
.landing-step strong,
.stair-card h3 {
  font-size: 11.4pt;
  letter-spacing: -0.02em;
}

.reason-block strong {
  display: block;
  padding-bottom: 2mm;
}

.artifact-group p,
.reason-block p,
.landing-step p,
.stair-card p {
  font-size: 9.8pt;
}

.reason-block p {
  margin-top: 1.2mm;
}

.artifact-item {
  font-size: 9.4pt;
  white-space: normal;
  display: inline-grid;
  justify-items: start;
  gap: 0.2mm;
  line-height: 1.24;
  text-align: left;
}

.artifact-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 13mm;
  color: var(--amber);
  font-size: 12pt;
  font-weight: 800;
  line-height: 1;
}

.landing-step {
  min-height: 29mm;
  height: 100%;
  gap: 2.4mm;
}

.stair-card {
  gap: 2.2mm;
  min-height: 32mm;
}

.stair-card.step-1 {
  margin-top: 10mm;
}

.stair-card.step-2 {
  margin-top: 5mm;
}

.stair-card.step-3 {
  margin-top: 0;
}

.stair-card .mini-index {
  margin-bottom: 1mm;
}

.flow-title {
  margin: 6mm 0 4mm;
}

.adoption-flow-panel {
  gap: 3mm;
}

.adoption-flow-grid {
  display: grid;
  grid-template-columns:
    minmax(0, 1fr) 5mm
    minmax(0, 1fr) 5mm
    minmax(0, 0.92fr) 5mm
    minmax(0, 0.92fr) 5mm
    minmax(0, 0.98fr);
  align-items: center;
}

.adoption-flow-grid .process-step {
  min-height: 11mm;
  padding: 0 2.8mm;
  font-size: 8.7pt;
}

.transition-grid {
  align-items: stretch;
  gap: 5mm;
  margin-top: 6mm;
}

.adoption-stairs {
  margin-top: 1mm;
}

.structure-stack {
  display: grid;
  gap: 4.8mm;
  margin-top: 5mm;
}

.process-wide {
  display: grid;
  gap: 4mm;
}

.process-main-grid {
  display: grid;
  grid-template-columns:
    minmax(0, 0.82fr) 5mm
    minmax(0, 1fr) 5mm
    minmax(0, 1fr) 5mm
    minmax(0, 1.08fr) 5mm
    minmax(0, 0.98fr) 5mm
    minmax(0, 1.08fr) 5mm
    minmax(0, 0.98fr) 5mm
    minmax(0, 1.02fr);
  align-items: center;
}

.process-step {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 12mm;
  padding: 0 3mm;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.08);
  color: #ebf5ff;
  font-size: 9pt;
  font-weight: 700;
  line-height: 1.3;
  text-align: center;
}

.process-step.strong {
  background: rgba(74, 240, 181, 0.08);
  border-color: rgba(74, 240, 181, 0.18);
}

.process-main-arrow,
.landing-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--amber);
  font-size: 13pt;
  font-weight: 800;
}

.validator-support {
  display: grid;
  gap: 2.6mm;
  margin-top: 1mm;
}

.validator-bar {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 13mm;
  padding: 0 6mm;
  border-radius: 999px;
  background: rgba(93, 214, 255, 0.09);
  border: 1px solid rgba(93, 214, 255, 0.18);
  color: #e8f8ff;
  font-size: 10.4pt;
  font-weight: 800;
  letter-spacing: -0.01em;
}

.validator-bar strong {
  color: var(--amber);
}

.validator-copy {
  text-align: center;
  color: #cfe0f3;
  font-size: 10pt;
  line-height: 1.56;
}

.meaning-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 4mm;
}

.meaning-card {
  padding: 4.2mm 4.6mm;
  border-radius: 4.8mm;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.07);
  display: grid;
  gap: 0;
  align-content: start;
}

.meaning-card strong {
  display: block;
  font-size: 11.1pt;
  letter-spacing: -0.02em;
  padding-bottom: 2.2mm;
}

.meaning-card p {
  margin-top: 1.2mm;
  color: #d4e2f4;
  font-size: 9.8pt;
  line-height: 1.54;
}

.section-stack {
  display: grid;
  gap: 4.5mm;
  margin-top: 5mm;
}

.evidence-panel {
  grid-template-rows: auto 1fr;
}

.evidence-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(0, 0.82fr);
  gap: 4mm;
  align-items: stretch;
}

.evidence-figure {
  margin: 0;
  display: grid;
  gap: 2.2mm;
}

.evidence-shot {
  width: 100%;
  height: 100%;
  min-height: 59mm;
  object-fit: cover;
  border-radius: 4mm;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(255, 255, 255, 0.04);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.28);
}

.evidence-caption {
  color: var(--muted);
  font-size: 9.2pt;
  line-height: 1.45;
}

.evidence-copy {
  display: grid;
  align-content: start;
  gap: 2.8mm;
  padding: 1mm 0;
}

.evidence-copy strong {
  display: block;
  font-size: 12.2pt;
  letter-spacing: -0.02em;
}

.evidence-points {
  display: grid;
  gap: 2.2mm;
}

.evidence-point {
  padding: 3.2mm 3.6mm;
  border-radius: 3.8mm;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.07);
}

.evidence-point strong {
  font-size: 10.4pt;
}

.evidence-point p {
  margin-top: 1.2mm;
}

.appendix-carousel {
  display: grid;
  gap: 3.5mm;
}

.carousel-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 4mm;
  flex-wrap: wrap;
}

.carousel-title {
  color: #d9ebff;
  font-size: 11.3pt;
  font-weight: 700;
  letter-spacing: -0.02em;
}

.carousel-controls,
.carousel-tabs {
  display: flex;
  align-items: center;
  gap: 2mm;
  flex-wrap: wrap;
}

.carousel-button,
.carousel-tab {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 9.5mm;
  padding: 0 3.6mm;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(255, 255, 255, 0.05);
  color: #eff8ff;
  font-size: 9.5pt;
  font-weight: 700;
  cursor: pointer;
}

.carousel-button:hover,
.carousel-tab:hover {
  border-color: rgba(93, 214, 255, 0.24);
  background: rgba(93, 214, 255, 0.1);
}

.carousel-tab.is-active {
  color: var(--ink);
  background: linear-gradient(135deg, var(--amber), #ffe7b4);
  border-color: transparent;
}

.carousel-stage {
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(0, 0.82fr);
  gap: 4mm;
  align-items: stretch;
}

.carousel-figure {
  margin: 0;
  display: grid;
  gap: 2.2mm;
}

.carousel-copy {
  display: grid;
  align-content: start;
  gap: 2.6mm;
}

.carousel-copy h3 {
  font-size: 16pt;
  letter-spacing: -0.03em;
  line-height: 1.18;
}

.carousel-copy p {
  color: #d4e2f4;
}

.carousel-point-list {
  display: grid;
  gap: 2.2mm;
}

.carousel-point-card {
  padding: 3.2mm 3.6mm;
  border-radius: 3.8mm;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.07);
}

.carousel-point-card strong {
  display: block;
  font-size: 10.4pt;
}

.carousel-point-card p {
  margin-top: 1.2mm;
}

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

.legend-row.centered {
  justify-content: center;
}

.landing-track {
  display: grid;
  grid-template-columns:
    minmax(0, 1fr) 6mm
    minmax(0, 1fr) 6mm
    minmax(0, 1fr) 6mm
    minmax(0, 1fr);
  grid-auto-rows: 1fr;
  align-items: center;
  gap: 0;
  width: 100%;
  margin: 4.5mm auto 0;
}

.symbol-panel {
  display: grid;
  grid-template-rows: 1fr auto;
  min-height: 154mm;
  background:
    radial-gradient(circle at top right, rgba(93, 214, 255, 0.12), transparent 34%),
    linear-gradient(145deg, rgba(10, 18, 36, 0.94), rgba(7, 14, 27, 0.92));
}

.symbol-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 106mm;
}

.symbol-panel svg {
  width: 100%;
  max-width: 104mm;
  height: auto;
}

.symbol-caption {
  display: grid;
  gap: 2mm;
}

.symbol-caption strong {
  font-size: 12.2pt;
  letter-spacing: -0.02em;
}

.conclusion-copy {
  display: grid;
  gap: 4.5mm;
  align-content: start;
}

.footer-card {
  padding: 5mm;
  background:
    linear-gradient(120deg, rgba(93, 214, 255, 0.08), rgba(74, 240, 181, 0.06)),
    var(--panel);
}

.footer-card strong {
  font-size: 14pt;
  line-height: 1.35;
  letter-spacing: -0.02em;
}

.deck-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 4mm;
  margin-top: 3mm;
}

.nav-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 9.8mm;
  padding: 0 4mm;
  border-radius: 999px;
  background: rgba(6, 11, 22, 0.72);
  border: 1px solid rgba(255, 255, 255, 0.08);
  color: #e7f3ff;
  font-size: 9.4pt;
  font-weight: 700;
}

.nav-link.current {
  color: var(--ink);
  background: linear-gradient(135deg, var(--amber), #ffe7b4);
}

.helper {
  color: #d2e0f0;
  font-size: 9.4pt;
}

.helper strong {
  color: var(--cyan);
}

@page {
  size: A4 landscape;
  margin: 0;
}

@media print {
  body {
    min-width: auto;
    padding: 0;
    background: #ffffff;
    color: #111827;
  }

  .page-header,
  .deck-nav {
    display: none !important;
  }

  .page-shell,
  .slide-page .page-shell {
    width: var(--page-width);
    margin: 0;
  }

  .slide-frame,
  .hero-card {
    box-shadow: none;
    break-after: page;
    page-break-after: always;
  }
}
