/* =========================================================
   STAGE SERIES C — COMPLETE DESIGN SYSTEM
   26-slide investor deck · 1920×1080 · Presentation Mode
   ========================================================= */

/* =========================================================
   1. CSS CUSTOM PROPERTIES (Design Tokens)
   ========================================================= */
:root {
  /* Brand Colors */
  --red:          #D42B2B;
  --red-glow:     rgba(212,43,43,0.18);

  /* Neutrals */
  --black:        #0C0C0C;
  --warm-white:   #FAF8F5;

  /* Muted */
  --muted-dark:   #666666;
  --muted-light:  #555555;

  /* Typography */
  --font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
}


/* =========================================================
   2. RESET & BASE STYLES
   ========================================================= */
*, *::before, *::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html, body {
  width: 100%;
  height: 100%;
  overflow: hidden;
  background: #0C0C0C;
  font-family: var(--font-family);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin: 0;
  padding: 0;
}

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

ul, ol {
  list-style: none;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

table {
  border-collapse: collapse;
  width: 100%;
}


/* =========================================================
   3. PRESENTATION MODE — DECK & SLIDES
   ========================================================= */
#deck {
  width: 100vw;
  height: 100vh;
  position: relative;
  overflow: hidden;
}

.pg {
  width: 1920px;
  height: 1080px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform-origin: center center;
  display: none;
  align-items: center;
  justify-content: center;
}

.pg.active {
  display: flex;
}

.slide {
  width: 1920px;
  height: 1080px;
  position: relative;
  overflow: hidden;
  flex-shrink: 0;
}


/* =========================================================
   4. THEMES — DARK & LIGHT
   ========================================================= */

/* ---- Dark Theme ---- */
.dk {
  background: var(--black);
  color: #fff;
}

/* ---- Light Theme ---- */
.lt {
  background: var(--warm-white);
  color: #0A0A0A;
}

.lt::before {
  content: '';
  position: absolute;
  top: -80px;
  right: -80px;
  width: 560px;
  height: 560px;
  background: radial-gradient(circle, rgba(212,43,43,0.04) 0%, transparent 65%);
  pointer-events: none;
  z-index: 0;
}


/* =========================================================
   5. THEME COLOR OVERRIDES (flip inline colors)
   ========================================================= */

/* Light theme — override inline white text to dark */
.lt [style*="color:rgba(255,255,255"],
.lt [style*="color: rgba(255,255,255"] {
  color: rgba(0,0,0,0.55) !important;
}

.lt [style*="color: #fff"],
.lt [style*="color:#fff"],
.lt [style*="color: white"] {
  color: #0A0A0A !important;
}

.lt [style*="background:rgba(255,255,255"],
.lt [style*="background: rgba(255,255,255"] {
  background: rgba(0,0,0,0.04) !important;
}

.lt [style*="border-color:rgba(255,255,255"] {
  border-color: rgba(0,0,0,0.08) !important;
}

/* Muted text tiers — preserve relative weight */
.lt [style*="rgba(255,255,255,0.6"],
.lt [style*="rgba(255,255,255, 0.6"] {
  color: rgba(0,0,0,0.65) !important;
}

.lt [style*="rgba(255,255,255,0.4"],
.lt [style*="rgba(255,255,255, 0.4"] {
  color: rgba(0,0,0,0.58) !important;
}

.lt [style*="rgba(255,255,255,0.3"],
.lt [style*="rgba(255,255,255, 0.3"] {
  color: rgba(0,0,0,0.35) !important;
}

.lt [style*="rgba(255,255,255,0.2"],
.lt [style*="rgba(255,255,255, 0.2"] {
  color: rgba(0,0,0,0.25) !important;
}

/* Keep video containers dark in light theme */
.lt [style*="background:#000"] { background: #000 !important; }
.lt [style*="background: #000"] { background: #000 !important; }

/* Dark theme — override inline black/dark text to light */
.dk [style*="color:rgba(0,0,0"],
.dk [style*="color: rgba(0,0,0"] {
  color: rgba(255,255,255,0.55) !important;
}


/* =========================================================
   6. GLOW EFFECTS (via pseudo-elements)
   ========================================================= */

/* Both glows — add .glow to the .slide element
   Note: overrides .lt::before when both are present */
.slide.glow::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 500px;
  height: 420px;
  background: radial-gradient(ellipse at top left, rgba(212,43,43,0.06) 0%, transparent 70%);
  pointer-events: none;
  z-index: 0;
}

.slide.glow::after {
  content: '';
  position: absolute;
  bottom: 0;
  right: 0;
  width: 750px;
  height: 650px;
  background: radial-gradient(ellipse at bottom right, var(--red-glow) 0%, transparent 70%);
  pointer-events: none;
  z-index: 0;
}

/* Bottom-right glow only — add .glow-br-only to the .slide element */
.glow-br-only::after {
  content: '';
  position: absolute;
  bottom: 0;
  right: 0;
  width: 750px;
  height: 650px;
  background: radial-gradient(ellipse at bottom right, var(--red-glow) 0%, transparent 70%);
  pointer-events: none;
  z-index: 0;
}


/* =========================================================
   7. LOGO
   ========================================================= */
.logo {
  position: absolute;
  top: 40px;
  right: 56px;
  z-index: 20;
}

.logo img {
  height: 36px;
  width: auto;
  display: block;
}

/* Desktop: hide alternate logo variant */
.logo-black { display: none; }


/* =========================================================
   8. TYPOGRAPHY
   ========================================================= */

/* Color classes */
.r  { color: var(--red); }
.dk .tx { color: #fff; }
.lt .tx { color: #0A0A0A; }
.dk .mu { color: var(--muted-dark); }
.lt .mu { color: var(--muted-light); }



/* =========================================================
   9. LAYOUT UTILITIES
   ========================================================= */

/* Slide content with padded variant */
.slide-content-padded {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 72px 80px;
  z-index: 10;
}

/* Split layout */
.split {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: row;
  z-index: 10;
}

/* Eyebrow label */
.eyebrow {
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  margin-bottom: 16px;
}

.lt .eyebrow { color: rgba(0,0,0,0.4); }
.dk .eyebrow { color: rgba(255,255,255,0.4); }

/* Headline */
.headline {
  font-size: 56px;
  font-weight: 900;
  line-height: 1.12;
  margin-bottom: 16px;
}

.lt .headline { color: #0A0A0A; }
.dk .headline { color: #fff; }




/* =========================================================
   10. CARDS
   ========================================================= */
.card {
  border-radius: 16px;
  padding: 36px 40px;
}

.card-lt {
  background: #fff;
  border: 1px solid rgba(0,0,0,0.07);
  box-shadow: 0 2px 20px rgba(0,0,0,0.04);
}


/* =========================================================
   11. PILLS / BADGES
   ========================================================= */
.pill {
  display: inline-flex;
  align-items: center;
  font-size: 14px;
  font-weight: 600;
  padding: 7px 16px;
  border-radius: 100px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  white-space: nowrap;
}

.pill-ghost {
  background: rgba(0,0,0,0.04);
  border: 1px solid rgba(0,0,0,0.08);
  color: #0A0A0A;
}

.pill-red {
  background: rgba(212,43,43,0.06);
  border: 1px solid rgba(212,43,43,0.22);
  color: var(--red);
  font-weight: 700;
}

.pill-red-dk {
  background: rgba(212,43,43,0.25);
  border: 1px solid rgba(212,43,43,0.4);
  color: #fff;
  font-weight: 600;
}

.pill-status-green,
.pill-status-blue,
.pill-status-yellow {
  font-size: 14px;
  font-weight: 700;
  padding: 3px 8px;
  border-radius: 4px;
  white-space: nowrap;
}
.pill-status-green  { background: #dcfce7; color: #15803d; }
.pill-status-blue   { background: #dbeafe; color: #1d4ed8; }
.pill-status-yellow { background: #fef9c3; color: #854d0e; }


/* --- Theme overrides for extracted CSS classes --- */
/* Principle cards (dark-glass style used on light slides) */
.lt .principle-card {
  background: rgba(0,0,0,0.025);
  border-color: rgba(0,0,0,0.08);
}
.lt .principle-title { color: #0A0A0A; }
.lt .principle-desc  { color: rgba(0,0,0,0.5); }

/* Dark glass on light slides */
.lt .dark-glass,
.lt .dark-glass-sm {
  background: rgba(0,0,0,0.025);
  border-color: rgba(0,0,0,0.08);
}

/* Item headings that default to white */
.lt .item-heading-dk { color: #0A0A0A; }

/* Comparison rows (dark theme defaults) */
.lt .comparison-label { color: rgba(0,0,0,0.55); }
.lt .comparison-value { color: #0A0A0A; }
.lt .comparison-value-dim { color: rgba(0,0,0,0.35); }

/* Body dark text on light slides */
.lt .body-dk { color: rgba(0,0,0,0.5); }


/* =========================================================
   13. ICON CONTAINERS
   ========================================================= */
.icon-box {
  width: 56px;
  height: 56px;
  border-radius: 12px;
  background: rgba(212,43,43,0.08);
  border: 1px solid rgba(212,43,43,0.18);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.icon-circle {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: rgba(212,43,43,0.08);
  border: 2px solid rgba(212,43,43,0.25);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}


/* =========================================================
   16. GRIDS
   ========================================================= */
.grid-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.grid-4 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

.grid-5 {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 20px;
}


/* Language table */
.lang-table {
  width: 100%;
  border-collapse: collapse;
}

.lang-table th {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted-light);
  padding: 10px 14px;
  border-bottom: 2px solid rgba(0,0,0,0.10);
  text-align: left;
}

.lang-table td {
  font-size: 17px;
  padding: 10px 14px;
  border-bottom: 1px solid rgba(0,0,0,0.06);
  vertical-align: middle;
}

.lang-table tr:last-child td {
  border-bottom: none;
}

.lang-table .live-dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--red);
  margin-right: 8px;
  vertical-align: middle;
}

.lang-table .pipe-dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(0,0,0,0.20);
  margin-right: 8px;
  vertical-align: middle;
}

.lang-table .live-row td:first-child {
  font-weight: 700;
  color: var(--red);
}

.lang-table .pipe-row td:first-child {
  font-weight: 600;
  color: #0A0A0A;
}

.lang-table .note-cell {
  font-size: 14px;
  color: var(--muted-light);
}


/* Section 19 (Journey Timeline) — removed: dead code, no HTML references */


/* =========================================================
   20. CALLOUT / INSIGHT BOX
   ========================================================= */
.callout-red {
  padding: 28px 40px;
  background: linear-gradient(135deg, rgba(212,43,43,0.10) 0%, rgba(212,43,43,0.04) 100%);
  border: 1.5px solid rgba(212,43,43,0.30);
  border-radius: 16px;
  width: 100%;
  box-sizing: border-box;
}


/* =========================================================
   21. DIVIDERS
   ========================================================= */
.divider {
  width: 100%;
  height: 1px;
  background: rgba(0,0,0,0.08);
  flex-shrink: 0;
}


/* =========================================================
   23. NAVIGATION (Presentation Controls)
   ========================================================= */
.deck-nav {
  position: fixed;
  bottom: 12px;
  right: 16px;
  left: auto;
  transform: none;
  display: flex;
  align-items: center;
  gap: 8px;
  z-index: 9999;
  background: rgba(0,0,0,0.50);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  padding: 5px 12px;
  border-radius: 100px;
  user-select: none;
  -webkit-user-select: none;
}

.deck-nav button {
  background: none;
  border: none;
  color: #fff;
  cursor: pointer;
  font-size: 14px;
  padding: 4px 8px;
  border-radius: 6px;
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  transition: background 0.15s;
}

.deck-nav button:hover {
  background: rgba(255,255,255,0.12);
}

.deck-nav button:disabled {
  opacity: 0.3;
  cursor: default;
}

.deck-nav button:disabled:hover {
  background: none;
}

.deck-nav .slide-counter {
  font-size: 11px;
  font-weight: 700;
  color: rgba(255,255,255,0.6);
  min-width: 40px;
  text-align: center;
  letter-spacing: 0.05em;
}

.deck-nav .fs-btn {
  font-size: 13px;
  margin-left: 4px;
}

.flex-1      { flex: 1; }

/* =========================================================
   EXTRACTED INLINE PATTERNS — common repeated inline styles
   ========================================================= */

/* Slide padding variants */
.pad-slide       { padding: 80px 96px; }
.pad-slide-sm    { padding: 72px 96px; }
.pad-slide-tight { padding: 56px 80px; }
.pad-slide-48    { padding: 48px 80px; }

/* Split-left content area (used on slides 02, 07, 15) */
.split-left-content {
  width: 54%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 60px 56px 60px 96px;
}

/* Split-right image area */
.split-right-img {
  flex: 1;
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Cover image fills container */
.img-cover {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.img-cover-top {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}

.text-stat-heading {
  font-size: 24px;
  font-weight: 800;
  color: #0A0A0A;
  margin-bottom: 6px;
}

.text-label-upper {
  font-size: 18px;
  font-weight: 700;
  color: rgba(0,0,0,0.35);
  letter-spacing: 0.10em;
  text-transform: uppercase;
  margin-bottom: 8px;
}

.text-label-upper-sm {
  font-size: 13px;
  font-weight: 700;
  color: rgba(0,0,0,0.35);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 10px;
}

/* Big number display (slide 21 right column) */
.big-number {
  font-size: 56px;
  font-weight: 900;
  color: #0A0A0A;
  line-height: 1;
}

.big-number-sub {
  font-size: 16px;
  color: rgba(0,0,0,0.58);
}

/* Icon box rounded variant (extends .icon-box) */
.icon-box-lg {
  border-radius: 14px;
  margin-bottom: 24px;
}

/* Border separator top */
.border-top-light {
  border-top: 1px solid rgba(0,0,0,0.10);
}

/* Padded row (common in stacked list sections) */
.row-padded {
  padding: 20px 0;
}

/* Price display */
.price-display {
  border-left: 1px solid rgba(0,0,0,0.08);
  padding-left: 32px;
  display: flex;
  align-items: baseline;
  gap: 6px;
}

.price-value {
  font-size: 36px;
  font-weight: 900;
  color: #0A0A0A;
}

.price-period {
  font-size: 17px;
  color: rgba(0,0,0,0.58);
}

/* Metric panel — right column sidebar (slide 04) */
.metric-sidebar {
  width: 480px;
  flex-shrink: 0;
  padding-left: 56px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 28px;
}

/* Phone mockup image cover */
.img-phone-cover {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  display: block;
}

/* Iframe fill — absolute positioned to fill container */
.iframe-fill {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
}

/* Slide subtitle body text */
.text-subtitle-body {
  font-size: 22px;
  color: rgba(0,0,0,0.6);
  line-height: 1.5;
  margin-bottom: 28px;
  max-width: 800px;
}

/* Flex column tight (no gap) */
.flex-col-tight {
  display: flex;
  flex-direction: column;
  gap: 0;
}

/* Founder card inner row */
.founder-row {
  display: flex;
  align-items: center;
  gap: 16px;
}

/* Legend pill — styled swatch chip */
.legend-pill {
  border-radius: 6px;
  padding: 5px 12px;
}

/* Metric unit suffix (smaller text inside metric-value / big-stat) */
.mu-sm {
  font-size: 36px;
}

/* Domain stat separator/unit */
.ds-unit {
  font-size: 42px;
  color: rgba(212,43,43,0.55);
}

/* Muted text color */
.c-muted { color: rgba(0,0,0,0.55); }

/* Red bold accent */
.c-red-bold { color: var(--red); font-weight: 700; }

/* Milestone subtitle override */
.milestone-sub {
  font-size: 16px;
  margin-bottom: 0;
  margin-top: 3px;
  color: rgba(0,0,0,0.58);
}

/* Timeline phase dot wrapper (slide 10) */
.phase-dot-wrap {
  position: absolute;
  top: -2px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  z-index: 2;
}

/* Timeline connector line */
.phase-connector {
  width: 2px;
  background: rgba(212,43,43,0.2);
}

/* Item heading phase variant */
.item-heading-phase {
  font-size: 26px;
  color: #111;
}

/* Pillar title muted variant (slide 21 breakdown) */
.pillar-title-muted {
  color: rgba(0,0,0,0.6);
  margin-bottom: 8px;
}

/* Pillar title with more bottom margin (principle cards) */
.pillar-title-mb20 {
  margin-bottom: 20px;
}

/* Pillar title phase variant (bold, normal tracking) */
.pillar-title-phase {
  font-weight: 800;
  margin-bottom: 16px;
  letter-spacing: normal;
}

/* Metric list phase variant (timeline cards) */
.metric-list-phase {
  font-size: 20px;
  line-height: 1.6;
  padding-left: 20px;
  color: rgba(0,0,0,0.55);
}

/* Timeline section label variant */
.section-label-phase {
  color: rgba(0,0,0,0.4);
  margin-bottom: 16px;
}

/* Timeline phase card wrapper */
.phase-wrap {
  position: relative;
  padding-top: 44px;
}

/* Metric title large variant */
.metric-title-lg {
  font-size: 18px;
  letter-spacing: 0.14em;
  margin-bottom: 8px;
}

/* Callout body text */
.callout-body {
  font-weight: 600;
  color: #0A0A0A;
  line-height: 1.45;
}

/* Text center */
.ta-center { text-align: center; }

/* Stat baseline row (slide 22 moat cards) */
.stat-baseline {
  display: flex;
  align-items: baseline;
  gap: 12px;
  margin-bottom: 12px;
}

/* Big stat red number (slide 22 moat cards) */
.stat-big-red {
  font-size: 52px;
  color: var(--red);
}

/* Stat description muted (slide 22 moat cards) */
.stat-desc {
  font-size: 16px;
  color: rgba(0,0,0,0.55);
  line-height: 1.4;
}

/* Flex-1 column centered (split layout content) */
.split-col-center {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

/* Info card body text (slide 25 board/investors) */
.info-body {
  font-size: 16px;
  color: #0A0A0A;
  line-height: 1.5;
}

/* Card padding 36 */
.card-pad-36 {
  padding: 36px;
}

/* Print video fallback (hidden by default, shown in print) */
.print-video-fallback {
  display: none;
  position: absolute;
  inset: 0;
  background: #000;
  align-items: center;
  justify-content: center;
  color: #fff;
  text-align: center;
  padding: 40px;
}

/* =========================================================
   30. SLIDE OVERLAY LAYOUT
   ========================================================= */
.slide-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  z-index: 10;
}

.col-center {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

/* =========================================================
   31. COVER / CLOSE GLOW EFFECTS
   ========================================================= */
.cover-glow-br {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 1100px;
  height: 900px;
  background: radial-gradient(ellipse at bottom right, rgba(212,43,43,0.55) 0%, rgba(212,43,43,0.18) 45%, transparent 72%);
  pointer-events: none;
  z-index: 0;
}

.cover-glow-tl {
  position: absolute;
  top: 0;
  left: 0;
  width: 700px;
  height: 580px;
  background: radial-gradient(ellipse at top left, rgba(212,43,43,0.22) 0%, rgba(212,43,43,0.06) 50%, transparent 75%);
  pointer-events: none;
  z-index: 0;
}

/* =========================================================
   31b. COVER SLIDE ELEMENTS (slide-01, slide-26)
   ========================================================= */
.cover-hero {
  position: absolute;
  right: 0;
  bottom: 0;
  height: 1020px;
  width: auto;
  z-index: 5;
  object-fit: contain;
  object-position: bottom right;
}

.cover-logo {
  display: block;
  align-self: flex-start;
  height: 68px;
  width: auto;
  position: absolute;
  top: 48px;
  left: 96px;
  z-index: 10;
}

.cover-content {
  padding: 0 96px;
  max-width: 900px;
  padding-top: 140px;
}

.cover-headline {
  font-size: 76px;
  font-weight: 900;
  color: #fff;
  line-height: 1.12;
  letter-spacing: -0.02em;
  max-width: 880px;
}

.cover-pills {
  display: flex;
  gap: 12px;
  margin-top: 56px;
  align-items: center;
  flex-wrap: wrap;
}

.cover-attribution {
  position: absolute;
  bottom: 48px;
  left: 96px;
  font-size: 11px;
  font-weight: 600;
  color: rgba(255,255,255,0.3);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  z-index: 10;
}

.cover-attribution-highlight {
  color: rgba(255,255,255,0.5);
}

/* =========================================================
   32. SECTION LABELS & PILLAR TITLES
   ========================================================= */
.section-label {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: rgba(0,0,0,0.58);
  margin-bottom: 12px;
  flex-shrink: 0;
}

.pillar-title {
  font-size: 20px;
  font-weight: 700;
  color: var(--red);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 16px;
}

.pillar-title-lg {
  font-size: 20px;
  font-weight: 700;
  color: var(--red);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  margin-bottom: 0;
}

/* =========================================================
   33. METRIC BLOCKS (Slides 5, 12, 17-20)
   ========================================================= */
.metric-title {
  font-size: 18px;
  font-weight: 700;
  color: var(--red);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  margin-bottom: 24px;
}

.metric-value {
  font-size: 56px;
  font-weight: 900;
  color: var(--red);
  line-height: 1;
  margin-bottom: 8px;
}

.metric-subtitle {
  font-size: 16px;
  font-weight: 600;
  color: rgba(0,0,0,0.6);
  margin-bottom: 24px;
  line-height: 1.3;
}

.metric-desc {
  font-size: 18px;
  color: rgba(0,0,0,0.5);
  line-height: 1.5;
}

.metric-list {
  font-size: 18px;
  color: rgba(0,0,0,0.6);
  line-height: 1.5;
  padding-left: 24px;
  margin: 0;
}

.metric-block {
  padding: 36px 28px;
  background: rgba(0,0,0,0.02);
  border-right: 1px solid rgba(0,0,0,0.07);
}

.metric-block:last-child {
  border-right: none;
}

.metric-block-white {
  padding: 40px 28px;
  background: #fff;
  border-right: 1px solid rgba(0,0,0,0.08);
}

.metric-block-white:last-child {
  border-right: none;
  background: #fff;
}

/* =========================================================
   34. DOMAIN METRICS (Slide 12 — AI Transformation)
   ========================================================= */
.domain-divider {
  border-top: 1px solid rgba(212,43,43,0.25);
  margin: 18px 0 24px;
}

.domain-stat {
  font-size: 64px;
  font-weight: 900;
  color: var(--red);
  line-height: 1;
  letter-spacing: -0.02em;
  margin-bottom: 6px;
}

.domain-stat-label {
  font-size: 19px;
  font-weight: 600;
  color: #0A0A0A;
  margin-bottom: 20px;
  line-height: 1.3;
}

.domain-desc {
  font-size: 20px;
  color: rgba(0,0,0,0.4);
  line-height: 1.5;
}

/* =========================================================
   35. STAT VALUES & CAPTIONS (Slide 4 sidebar, etc.)
   ========================================================= */
.hero-stat {
  font-size: 80px;
  font-weight: 900;
  color: var(--red);
  line-height: 1;
  letter-spacing: -0.03em;
}

.big-stat {
  font-size: 72px;
  font-weight: 900;
  color: var(--red);
  line-height: 1;
  letter-spacing: -0.03em;
}

.sm-stat {
  font-size: 48px;
  font-weight: 800;
  color: var(--red);
}

.stat-caption {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(0,0,0,0.6);
  margin-top: 8px;
}

/* =========================================================
   36. BODY TEXT VARIANTS
   ========================================================= */
.body-lg {
  font-size: 22px;
  color: rgba(0,0,0,0.55);
  line-height: 1.5;
}

.body-dk {
  font-size: 20px;
  color: rgba(255,255,255,0.6);
  line-height: 1.5;
}

/* =========================================================
   37. LIST ROWS (horizontal items with separators)
   ========================================================= */
.list-row {
  display: flex;
  align-items: center;
  gap: 24px;
  padding: 18px 0;
  border-top: 1px solid rgba(0,0,0,0.07);
}

.list-row:last-child {
  border-bottom: 1px solid rgba(0,0,0,0.07);
}

.list-row-dk {
  display: flex;
  align-items: center;
  gap: 36px;
  padding: 28px 0;
  border-top: 1px solid rgba(0,0,0,0.08);
}

.list-row-item-title {
  font-size: 20px;
  font-weight: 700;
  color: #0A0A0A;
}

.list-row-item-sub {
  font-size: 17px;
  color: rgba(0,0,0,0.58);
  margin-left: 10px;
}

/* =========================================================
   38. NUMBERED ITEMS (Slide 3 thesis items)
   ========================================================= */
.num-marker {
  font-size: 38px;
  font-weight: 900;
  color: var(--red);
  line-height: 1;
  flex-shrink: 0;
  width: 72px;
  letter-spacing: -0.01em;
}

.item-heading-dk {
  font-size: 32px;
  font-weight: 800;
  color: #fff;
  line-height: 1.15;
  margin-bottom: 8px;
}

/* =========================================================
   39. COMPARISON ROWS (Slide 7 table)
   ========================================================= */
.comparison-row {
  display: flex;
  justify-content: space-between;
  margin-bottom: 12px;
}

.comparison-label {
  color: rgba(255,255,255,0.6);
}

.comparison-value {
  font-weight: 700;
  color: #fff;
}

.comparison-value-dim {
  color: rgba(255,255,255,0.4);
}

/* =========================================================
   40. DARK GLASS & PRINCIPLE CARDS
   ========================================================= */
.dark-glass {
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 16px;
  padding: 28px;
}

.dark-glass-sm {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 10px;
  text-align: center;
  padding: 16px;
}

.principle-card {
  padding: 36px;
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 16px;
}

.principle-title {
  font-size: 24px;
  font-weight: 600;
  color: #fff;
  line-height: 1.4;
  margin-bottom: 12px;
}

.principle-desc {
  font-size: 20px;
  color: rgba(255,255,255,0.5);
  line-height: 1.5;
}

/* =========================================================
   41. MOAT & ACCENT CARDS
   ========================================================= */
.moat-card {
  padding: 28px 30px;
  background: rgba(212,43,43,0.06);
  border: 2px solid rgba(212,43,43,0.28);
  border-radius: 14px;
  box-shadow: 0 4px 24px rgba(212,43,43,0.08);
}

.accent-card {
  padding: 28px 32px;
  background: rgba(212,43,43,0.05);
  border: 2px solid rgba(212,43,43,0.20);
  border-radius: 16px;
}

.info-block {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  padding: 20px 24px;
  background: #fff;
  border-left: 4px solid var(--red);
  border-radius: 0 12px 12px 0;
  box-shadow: 0 2px 12px rgba(0,0,0,0.06);
}

/* =========================================================
   42. VIDEO CONTAINER
   ========================================================= */
.video-container {
  width: 100%;
  aspect-ratio: 16/9;
  background: #000;
  border-radius: 12px;
  overflow: hidden;
  position: relative;
  max-width: 1600px;
}

/* =========================================================
   43. PHONE MOCKUP & BACKDROP (Slides 17-19)
   ========================================================= */
.phone-mockup-wrapper {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
}

.phone-mockup {
  width: 264px;
  height: 530px;
  background: #000;
  border-radius: 38px;
  border: 4px solid #222;
  overflow: hidden;
  box-shadow: 0 28px 64px rgba(0,0,0,0.22);
}

.phone-backdrop {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  transform: translateY(-50%);
  z-index: 1;
  height: 460px;
  background: #fff;
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 6px 28px rgba(0,0,0,0.07);
  display: grid;
  grid-template-columns: 1fr 1fr 300px 1fr 1fr;
}

.metric-panel-r {
  padding: 24px 28px;
  border-right: 1px solid rgba(0,0,0,0.06);
}

.metric-panel-l {
  padding: 24px 28px;
  border-left: 1px solid rgba(0,0,0,0.06);
}

.phone-center-col {
  background: rgba(0,0,0,0.015);
}

/* =========================================================
   44. PIPELINE CARDS (Slide 13)
   ========================================================= */
.pipeline-card {
  flex: 1;
  background: #fff;
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 12px;
  padding: 20px 16px;
  box-shadow: 0 2px 12px rgba(0,0,0,0.04);
}

.pipeline-step-header {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}

.pipeline-step-icon {
  width: 28px;
  height: 28px;
  background: rgba(212,43,43,0.1);
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.pipeline-step-num {
  font-size: 20px;
  font-weight: 700;
  color: var(--red);
  letter-spacing: 0.12em;
}

.pipeline-step-title {
  font-size: 20px;
  font-weight: 700;
  color: var(--red);
  margin-bottom: 6px;
}

.pipeline-step-desc {
  font-size: 18px;
  color: rgba(0,0,0,0.55);
  line-height: 1.4;
}

/* =========================================================
   45. KEY STAT CARDS (Slide 8 bottom row)
   ========================================================= */
.key-stat-card {
  text-align: center;
  padding: 24px 16px;
  background: rgba(255,255,255,0.7);
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 12px;
}

.key-stat-card .sm-stat {
  margin-bottom: 0;
}

.key-stat-label {
  font-size: 14px;
  font-weight: 600;
  color: rgba(0,0,0,0.5);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-top: 4px;
}

/* =========================================================
   46. LEGEND ITEMS (Slide 9 chart legend)
   ========================================================= */
.legend-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 18px;
  border: 1px solid rgba(0,0,0,0.09);
  border-radius: 999px;
  background: rgba(255,255,255,0.5);
}

.legend-text {
  font-size: 17px;
  font-weight: 600;
  color: rgba(0,0,0,0.70);
  white-space: nowrap;
}

/* =========================================================
   47. FUND ROWS & MILESTONE ROWS (Slide 25)
   ========================================================= */
.fund-row {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 18px 0;
  border-top: 1px solid rgba(0,0,0,0.09);
}

.fund-dot {
  width: 12px;
  height: 12px;
  border-radius: 3px;
  background: var(--red);
  flex-shrink: 0;
}

.milestone-row {
  display: flex;
  align-items: flex-start;
  gap: 24px;
  padding: 20px 0;
  border-top: 1px solid rgba(0,0,0,0.09);
}

.milestone-dot {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--red);
  flex-shrink: 0;
  margin-top: 4px;
  z-index: 1;
}

/* =========================================================
   48. FOUNDER CARDS (Slide 24)
   ========================================================= */
.founder-photo {
  width: 96px;
  height: 96px;
  border-radius: 50%;
  overflow: hidden;
  flex-shrink: 0;
  border: 2.5px solid rgba(212,43,43,0.30);
}

.founder-name {
  font-size: 24px;
  font-weight: 800;
  color: #0A0A0A;
  margin-bottom: 6px;
  line-height: 1.2;
}

.founder-role {
  font-size: 13px;
  font-weight: 700;
  color: var(--red);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  line-height: 1.3;
}

/* =========================================================
   49. PORTFOLIO MATH & INVESTOR CALLOUT
   ========================================================= */
.portfolio-math {
  padding: 24px 28px;
  background: rgba(212,43,43,0.06);
  border: 1.5px solid rgba(212,43,43,0.18);
  border-radius: 14px;
}

.investor-callout {
  padding: 16px 28px;
  background: rgba(212,43,43,0.06);
  border: 1.5px solid rgba(212,43,43,0.22);
  border-radius: 12px;
  display: flex;
  align-items: center;
  gap: 16px;
}

/* =========================================================
   50. INFO CARDS (Slide 24 board/investors)
   ========================================================= */
.info-card {
  padding: 18px 24px;
  background: #fff;
  border: 1px solid rgba(0,0,0,0.07);
  border-radius: 12px;
}

.info-card-accent {
  padding: 18px 24px;
  background: rgba(212,43,43,0.05);
  border: 1px solid rgba(212,43,43,0.15);
  border-radius: 12px;
}

/* =========================================================
   51. P&L TABLE CELLS (Slide 4)
   ========================================================= */
.pl-header-row {
  flex-shrink: 0;
  display: grid;
  grid-template-columns: 150px 1fr 1fr 1fr 1fr 1fr 110px;
  background: rgba(0,0,0,0.025);
  border-bottom: 2px solid rgba(0,0,0,0.08);
}

.pl-cell-header {
  padding: 10px 8px;
  text-align: center;
  border-left: 1px solid rgba(0,0,0,0.07);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: rgba(0,0,0,0.42);
}

.pl-data-row {
  flex: 1;
  display: grid;
  grid-template-columns: 150px 1fr 1fr 1fr 1fr 1fr 110px;
  align-items: center;
  border-bottom: 1px solid rgba(0,0,0,0.06);
}

.pl-data-row:last-child {
  border-bottom: none;
}

.pl-cell-label {
  padding: 0 16px;
  font-size: 14px;
  font-weight: 800;
}

.pl-cell-value {
  text-align: center;
  border-left: 1px solid rgba(0,0,0,0.06);
  padding: 0 8px;
  font-size: 16px;
  font-weight: 800;
  color: #0A0A0A;
}

.pl-cell-status {
  text-align: center;
  border-left: 1px solid rgba(0,0,0,0.06);
  padding: 0 6px;
}

/* =========================================================
   52. ICON MARGIN BOTTOM (common pattern)
   ========================================================= */
.icon-mb {
  margin-bottom: 16px;
}

.icon-mb-lg {
  margin-bottom: 20px;
}

/* =========================================================
   53. CHART CONTAINER
   ========================================================= */
.chart-container {
  flex: 1;
  min-height: 0;
  background: linear-gradient(180deg, rgba(255,255,255,0.92) 0%, rgba(255,255,255,0.62) 100%);
  border: 1px solid rgba(0,0,0,0.07);
  border-radius: 14px;
  box-shadow: 0 4px 18px rgba(0,0,0,0.05);
  position: relative;
}

/* =========================================================
   54. CALLOUT ACCENT (inline callout bar)
   ========================================================= */
.callout-accent {
  padding: 16px 24px;
  background: rgba(212,43,43,0.08);
  border: 1px solid rgba(212,43,43,0.2);
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  gap: 12px;
}

/* =========================================================
   55. BOTTOM INSIGHT BAR (Slide 10)
   ========================================================= */
.insight-bar {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 24px 32px;
  background: linear-gradient(90deg, rgba(212,43,43,0.06) 0%, rgba(212,43,43,0.01) 100%);
  border: 1px solid rgba(212,43,43,0.15);
  border-radius: 12px;
  max-width: 900px;
}

.insight-icon {
  width: 56px;
  height: 56px;
  background: var(--red);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}


/* =========================================================
   SLIDES 14-26 — Extracted Inline Styles
   ========================================================= */

/* --- Slide 14 & 16: Video slides --- */
.slide14-headline-wide {
  max-width: 1700px;
  margin-bottom: 40px;
}

.slide14-print-title {
  font-size: 24px;
  font-weight: 700;
  margin-bottom: 16px;
}

.slide14-print-url {
  font-size: 16px;
  opacity: 0.7;
}

/* --- Slide 15: Cultural Adaptation --- */
.slide15-split-left {
  width: 54%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 80px 72px 80px 96px;
  border-right: 1px solid rgba(255,255,255,0.06);
}

.slide15-headline {
  max-width: 640px;
  margin-bottom: 48px;
}

.slide15-body {
  font-size: 22px;
  line-height: 1.65;
  margin-bottom: 48px;
}

.slide15-body-strong {
  color: #fff;
}

.slide15-metrics-row {
  display: flex;
  align-items: center;
  gap: 0;
  margin-bottom: 24px;
  max-width: 900px;
}

.slide15-metric-glass {
  flex: 1;
}

.slide15-metric-stat {
  font-size: 36px;
  line-height: 1;
}

.slide15-metric-caption {
  color: rgba(255,255,255,0.40);
  letter-spacing: 0.06em;
}

.slide15-arrow-sep {
  flex-shrink: 0;
  padding: 0 12px;
  font-size: 20px;
  color: rgba(255,255,255,0.25);
}

.slide15-callout {
  margin-bottom: 48px;
  padding: 20px 24px;
  border-radius: 12px;
}

.slide15-callout-text {
  font-size: 22px;
  font-weight: 800;
  color: #fff;
  line-height: 1.4;
}

.slide15-traditional {
  font-size: 22px;
  line-height: 1.6;
}

.slide15-traditional-muted {
  color: rgba(255,255,255,0.5);
}

.slide15-traditional-bold {
  color: #fff;
  font-size: 22px;
}

.slide15-traditional-accent {
  font-size: 22px;
  font-weight: 600;
}

.slide15-split-right {
  flex: 1;
  position: relative;
  overflow: hidden;
}

/* --- Slide 17, 18, 19: Phone mockup slides --- */
.slide17-headline {
  margin-bottom: 16px;
  max-width: 1200px;
}

.slide17-first-ott {
  font-weight: 700;
}

.slide17-phone-layout {
  position: relative;
  width: 100%;
  height: 580px;
  margin-bottom: 20px;
}

/* --- Slide 20: AI Infrastructure --- */
.slide20-headline {
  max-width: 1100px;
  margin-bottom: 40px;
}

.slide20-infra-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
  gap: 20px;
  max-width: 1740px;
  margin-bottom: 0;
}

.slide20-card-border {
  border: 1px solid rgba(0,0,0,0.08);
}

.slide20-metric-title-sm {
  font-size: 16px;
  letter-spacing: 0.10em;
  white-space: nowrap;
}

.slide20-spacer {
  padding: 20px 0;
}

.slide20-callout-accent {
  color: var(--red);
}

/* --- Slide 21: Economics --- */
.slide21-headline {
  max-width: 1200px;
  margin-bottom: 32px;
}

.slide21-margin-row {
  display: flex;
  align-items: center;
  gap: 20px;
}

.slide21-margin-value {
  font-size: 24px;
  font-weight: 900;
  color: #0A0A0A;
}

.slide21-margin-arrow {
  font-size: 14px;
  color: rgba(0,0,0,0.30);
}

.slide21-margin-target {
  font-size: 24px;
  font-weight: 900;
  color: var(--red);
}

.slide21-margin-desc {
  font-size: 18px;
  color: rgba(0,0,0,0.62);
  margin-top: 6px;
}

.slide21-bottom-block {
  padding: 24px 0;
  border-top: 2px solid rgba(212,43,43,0.20);
}

.slide21-bottom-heading {
  font-size: 36px;
  font-weight: 900;
  color: #0A0A0A;
  line-height: 1.2;
}

.slide21-right-col {
  width: 420px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-left: 72px;
  gap: 24px;
}

.slide21-days-value {
  font-size: 56px;
  font-weight: 900;
  color: var(--red);
  line-height: 1;
}

/* --- Slide 22: How We Win --- */
.slide22-headline {
  margin-bottom: 20px;
}

.slide22-intro {
  font-size: 19px;
  line-height: 1.65;
  margin-bottom: 40px;
}

.slide22-moat-grid {
  display: grid;
  grid-template-columns: 1fr 1.15fr 1fr;
  gap: 20px;
  margin-bottom: 28px;
}

.slide22-moat-percent {
  font-size: 32px;
}

.slide22-moat-title {
  font-size: 21px;
  font-weight: 800;
  letter-spacing: 0.1em;
  margin-bottom: 12px;
  color: #D42B2B;
}

.slide22-moat-title-lg {
  font-size: 23px;
  font-weight: 800;
  letter-spacing: 0.1em;
  margin-bottom: 12px;
  color: #D42B2B;
}

.slide22-moat-desc {
  font-size: 17px;
  color: rgba(0,0,0,0.65);
  line-height: 1.6;
  margin: 0;
}

.slide22-moat-desc-lg {
  font-size: 18px;
  color: rgba(0,0,0,0.70);
  line-height: 1.65;
  margin: 0;
}

.slide22-bottom {
  font-size: 18px;
}

/* --- Slide 23: Growth Plan --- */
.slide23-split-gap {
  gap: 64px;
}

.slide23-left-col {
  width: 560px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.slide23-headline {
  max-width: 540px;
  margin-bottom: 48px;
}

.slide23-body {
  font-size: 22px;
  color: rgba(0,0,0,0.55);
  line-height: 1.65;
  margin-bottom: 60px;
}

.slide23-portfolio-mb {
  margin-bottom: 20px;
}

.slide23-portfolio-title {
  font-size: 18px;
  letter-spacing: 0.12em;
  margin-bottom: 16px;
}

.slide23-portfolio-line {
  font-size: 18px;
  font-weight: 600;
  color: #0A0A0A;
  margin-bottom: 6px;
  line-height: 1.6;
}

.slide23-portfolio-accent {
  color: var(--red);
  font-size: 22px;
  font-weight: 900;
}

.slide23-portfolio-line-2 {
  font-size: 18px;
  font-weight: 600;
  color: #0A0A0A;
  margin-bottom: 4px;
  line-height: 1.6;
}

.slide23-portfolio-note {
  font-size: 15px;
  color: rgba(0,0,0,0.5);
  margin-top: 10px;
}

.slide23-target-card {
  padding: 16px 20px;
  background: #fff;
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 10px;
}

.slide23-target-label {
  font-size: 19px;
  font-weight: 600;
  color: rgba(0,0,0,0.55);
  margin-bottom: 4px;
}

.slide23-target-value {
  font-size: 26px;
  font-weight: 900;
  color: #0A0A0A;
}

.slide23-table-overflow {
  overflow: hidden;
}

.slide23-td-profitable {
  font-weight: 700;
  color: var(--red);
}

.slide23-td-dark {
  font-weight: 700;
  color: #0A0A0A;
}

.slide23-marathi-row {
  background: rgba(212,43,43,0.05);
}

.slide23-marathi-name {
  font-weight: 700;
  color: #0A0A0A;
}

.slide23-marathi-dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--red);
  margin-right: 8px;
  vertical-align: middle;
}

.slide23-marathi-note {
  font-size: 14px;
  font-weight: 700;
  color: var(--red);
}

/* --- Slide 24: The Team --- */
.slide24-headline {
  margin-bottom: 32px;
}

.slide24-quote {
  font-size: 22px;
  color: rgba(0,0,0,0.55);
  line-height: 1.6;
  margin-bottom: 48px;
  max-width: 900px;
  font-style: italic;
}

.slide24-founders-grid {
  margin-bottom: 24px;
  max-width: 1740px;
}

.slide24-founder-card {
  padding: 28px;
}

.slide24-founder-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 20%;
}

.slide24-founder-img-top {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}

.slide24-board-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 20px;
  margin-bottom: 16px;
}

.slide24-callout-icon {
  font-size: 18px;
  color: var(--red);
  flex-shrink: 0;
}

.slide24-callout-text {
  font-size: 18px;
  font-weight: 700;
  color: #0A0A0A;
  margin: 0;
}

.slide24-callout-accent {
  color: var(--red);
}

/* --- Slide 25: The Ask --- */
.slide25-split-gap {
  gap: 80px;
}

.slide25-headline {
  max-width: 960px;
  margin-bottom: 52px;
}

.slide25-body {
  font-size: 18px;
  line-height: 1.65;
  margin-bottom: 56px;
  max-width: 680px;
}

.slide25-fund-title {
  font-size: 28px;
  margin-bottom: 0;
  letter-spacing: normal;
}

.slide25-fund-desc {
  color: rgba(0,0,0,0.58);
  margin-left: 4px;
}

.slide25-right-col {
  width: 520px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.slide25-milestones-label {
  font-size: 18px;
  font-weight: 700;
  color: rgba(0,0,0,0.58);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  margin-bottom: 24px;
}

.slide25-milestone-line {
  position: relative;
}

.slide25-timeline-bar {
  position: absolute;
  left: 5px;
  top: 28px;
  bottom: 28px;
  width: 2px;
  background: linear-gradient(to bottom, rgba(212,43,43,0.8), rgba(212,43,43,0.15));
  border-radius: 1px;
}

.slide25-milestone-name {
  margin-bottom: 0;
}

/* --- Slide 26: The Close --- */
.slide26-close-hero {
  position: absolute;
  right: 80px;
  bottom: 0;
  height: 980px;
  width: auto;
  z-index: 5;
  object-fit: contain;
  object-position: bottom right;
}

.slide26-close-content {
  padding: 80px 96px;
  max-width: 1050px;
}

.slide26-close-heading {
  font-size: 56px;
  font-weight: 900;
  color: #fff;
  line-height: 1.12;
  margin-bottom: 40px;
  letter-spacing: -0.02em;
}

.slide26-close-pills {
  display: flex;
  gap: 12px;
  margin-bottom: 40px;
  align-items: center;
  flex-wrap: wrap;
}

.slide26-close-points {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-bottom: 52px;
}

.slide26-close-point {
  font-size: 20px;
  color: rgba(255,255,255,0.70);
  line-height: 1.6;
  max-width: 860px;
}

.slide26-close-point-bold {
  color: #fff;
}

.slide26-close-callout {
  padding: 24px 32px;
  margin-bottom: 48px;
  max-width: 840px;
}

.slide26-close-callout-text {
  font-size: 18px;
  font-weight: 700;
  color: #fff;
  line-height: 1.5;
}

.slide26-close-footer {
  display: flex;
  align-items: center;
  gap: 40px;
}

.slide26-close-dd {
  font-size: 20px;
  font-weight: 600;
  color: rgba(255,255,255,0.60);
  margin: 0;
}

.slide26-close-sep {
  color: rgba(255,255,255,0.20);
  font-size: 14px;
}

.slide26-close-contact {
  font-size: 20px;
  font-weight: 700;
  color: var(--red);
  margin: 0;
}


/* =========================================================
   28. PRINT / PDF EXPORT STYLES
   ========================================================= */
@page {
  size: 508mm 285.75mm;
  margin: 0;
}

@media print {
  *, *::before, *::after {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  html, body {
    width: auto !important;
    height: auto !important;
    overflow: visible !important;
    background: white !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  #deck {
    width: 1920px !important;
    transform: none !important;
    display: block !important;
    margin: 0 !important;
    height: auto !important;
  }

  .pg {
    width: 1920px !important;
    height: 1080px !important;
    position: relative !important;
    top: auto !important;
    left: auto !important;
    transform: none !important;
    page-break-after: always !important;
    page-break-inside: avoid !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
    break-inside: avoid;
    -webkit-column-break-inside: avoid;
  }

  .pg:last-child {
    page-break-after: auto !important;
  }

  .slide {
    width: 1920px !important;
    height: 1080px !important;
    transform: none !important;
    page-break-inside: avoid;
    overflow: hidden !important;
  }

  .lt::before {
    display: none !important;
  }

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

  #nav {
    display: none !important;
  }

  .portal-btn,
  .download-btn {
    display: none !important;
  }

  /* Remove glow effects that don't print well */
  .cover-glow-br,
  .cover-glow-tl,
  .glow::before,
  .glow::after,
  .glow-br-only::before,
  .glow-br-only::after {
    display: none !important;
    opacity: 0 !important;
  }

  iframe {
    display: none !important;
  }

  .print-video-fallback {
    display: flex !important;
  }

  .dk, .lt {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  /* Slides use overflow:hidden + absolute positioning — preserve inline img dimensions */
  .slide img {
    max-width: none;
  }

  /* Remove shadows for clean print */
  .card-lt,
  .card {
    box-shadow: none !important;
  }
}


/* =========================================================
   EXTRACTED INLINE STYLES — Slides 02-13
   Classes created to replace inline style="..." attributes
   ========================================================= */

/* --- SLIDE 02 --- */
.slide02-heading {
  font-size: 56px;
  font-weight: 900;
  line-height: 1.12;
  margin-bottom: 16px;
  color: #0A0A0A;
}

.slide02-heading-accent {
  color: var(--red);
}

.slide02-subtitle {
  font-size: 22px;
  color: rgba(0,0,0,0.5);
  line-height: 1.5;
  margin-bottom: 28px;
  max-width: 720px;
}

.slide02-formats-wrap {
  margin-bottom: 28px;
}

.slide02-bottom-stack {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.slide02-lang-row {
  display: flex;
  gap: 8px;
  align-items: center;
}

.slide02-platforms-row {
  display: flex;
  align-items: center;
  gap: 32px;
}

.slide02-platforms-pills {
  display: flex;
  gap: 8px;
  align-items: center;
}

/* --- SLIDE 03 --- */
.slide03-overlay-pad {
  padding: 0 96px;
}

.slide03-headline {
  max-width: 1200px;
  margin-bottom: 32px;
}

/* --- SLIDE 04 --- */
.slide04-overlay-pad {
  padding: 80px;
}

.slide04-header {
  flex-shrink: 0;
  margin-bottom: 44px;
}

.slide04-headline {
  font-size: 54px;
}

.slide04-body-wrap {
  flex: 1;
  display: flex;
  gap: 0;
  min-height: 0;
}

.slide04-left-col {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 56px;
  padding-right: 56px;
  border-right: 1px solid rgba(0,0,0,0.08);
}

.slide04-chart-block {
  flex: 46;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

.slide04-legend-row {
  display: flex;
  gap: 20px;
  margin-top: 12px;
  flex-shrink: 0;
  padding-left: 4px;
  align-items: center;
}

.slide04-legend-haryanvi {
  background: rgba(212,43,43,0.07);
}

.slide04-legend-rajasthani {
  background: rgba(255,107,107,0.07);
}

.slide04-legend-bhojpuri {
  background: rgba(255,160,122,0.10);
}

.slide04-legend-retention {
  background: rgba(0,0,0,0.04);
  margin-left: 8px;
}

.slide04-legend-swatch-haryanvi {
  width: 14px;
  height: 14px;
  background: #D42B2B;
  border-radius: 3px;
  display: inline-block;
  flex-shrink: 0;
}

.slide04-legend-swatch-rajasthani {
  width: 14px;
  height: 14px;
  background: #ff6b6b;
  border-radius: 3px;
  display: inline-block;
  flex-shrink: 0;
}

.slide04-legend-swatch-bhojpuri {
  width: 14px;
  height: 14px;
  background: #ffa07a;
  border-radius: 3px;
  display: inline-block;
  flex-shrink: 0;
}

.slide04-legend-swatch-retention {
  width: 14px;
  height: 3px;
  background: #111;
  border-radius: 2px;
  display: inline-block;
  flex-shrink: 0;
}

.slide04-pl-block {
  flex: 38;
  min-height: 0;
  display: flex;
  flex-direction: column;
  border-top: 1px solid rgba(0,0,0,0.10);
}

.slide04-pl-label {
  margin-top: 18px;
}

.slide04-pl-container {
  background: #fff;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.slide04-pl-header-empty {
  padding: 10px 16px;
}

.slide04-pl-data-rows {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

.pl-cell-label-haryanvi { color: #D42B2B; }
.pl-cell-label-rajasthani { color: #E05858; }
.pl-cell-label-bhojpuri { color: #C0654A; }
.pl-cell-label-gujarati { color: #A07820; }

.pl-cell-value-positive {
  font-size: 14px;
  color: #15803d;
}

.pl-cell-value-negative {
  font-size: 14px;
  color: rgba(0,0,0,0.35);
}

.slide04-hero-stat-unit {
  font-size: 40px;
}

/* --- SLIDE 05 --- */
.slide05-headline {
  max-width: 900px;
  margin-bottom: 24px;
}

.slide05-subtitle {
  margin-bottom: 48px;
  max-width: 800px;
}

.slide05-metrics-grid {
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 16px;
  overflow: hidden;
  max-width: 1740px;
}

.slide05-tv-block {
  border-right: none;
}

.slide05-callout {
  margin-top: 48px;
  max-width: 900px;
}

/* --- SLIDE 06 --- */
.slide06-split-gap {
  gap: 64px;
}

.slide06-headline {
  max-width: 1200px;
  margin-bottom: 32px;
}

.slide06-info-stack {
  display: flex;
  flex-direction: column;
  gap: 20px;
  max-width: 720px;
}

.slide06-info-text {
  font-size: 24px;
  font-weight: 400;
  color: rgba(0,0,0,0.55);
  line-height: 1.55;
}

.slide06-info-strong {
  color: #0A0A0A;
}

.slide06-right-col {
  width: 460px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 20px;
}

.slide06-card-pad {
  padding: 28px 32px;
}

.slide06-card-heading {
  font-size: 32px;
}

.slide06-card-sub {
  font-size: 16px;
  margin-bottom: 0;
}

.slide06-proof-title {
  margin-bottom: 12px;
}

.slide06-proof-stat {
  line-height: 1;
  margin-bottom: 10px;
}

.slide06-proof-body {
  font-size: 16px;
  font-weight: 600;
  color: #0A0A0A;
  line-height: 1.5;
}

.slide06-proof-note {
  font-size: 16px;
  color: rgba(0,0,0,0.55);
  margin-top: 8px;
  line-height: 1.5;
}

/* --- SLIDE 07 --- */
.slide07-photo-col {
  width: 52%;
  position: relative;
  overflow: hidden;
}

.slide07-content-col {
  padding: 80px 80px 80px 60px;
}

.slide07-headline {
  max-width: 720px;
  margin-bottom: 52px;
}

.slide07-comparison-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  margin-bottom: 48px;
  max-width: 900px;
}

.slide07-section-label-white {
  color: #fff;
  margin-bottom: 20px;
}

.slide07-check-white {
  color: #fff;
}

.slide07-comparison-bottom-row {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid rgba(255,255,255,0.1);
  margin-bottom: 0;
}

.slide07-didnt-work {
  font-weight: 700;
  color: rgba(255,255,255,0.4);
}

.slide07-quote-wrap {
  margin-top: 36px;
  padding-left: 28px;
  border-left: 5px solid var(--red);
  max-width: 680px;
}

.slide07-quote-text {
  font-size: 32px;
  font-weight: 800;
  color: #fff;
  line-height: 1.35;
}

.slide07-subquote-wrap {
  margin-top: 24px;
  padding-left: 28px;
}

.slide07-subquote-text {
  font-size: 20px;
  font-weight: 400;
  color: rgba(255,255,255,0.4);
  font-style: italic;
}

/* --- SLIDE 08 --- */
.slide08-headline {
  margin-bottom: 48px;
  max-width: 900px;
}

.slide08-pillars-grid {
  gap: 24px;
  max-width: 1440px;
}

.slide08-pillar-body {
  line-height: 1.6;
  margin: 0;
}

.slide08-metrics-row {
  margin-top: 32px;
  max-width: 1440px;
}

.slide08-stat-separator {
  color: var(--red);
  opacity: 0.4;
  font-weight: 400;
}

/* --- SLIDE 09 --- */
.slide09-headline {
  margin-bottom: 20px;
}

.slide09-subtitle {
  font-size: 22px;
  color: rgba(0,0,0,0.58);
  line-height: 1.5;
  margin-bottom: 32px;
}

.slide09-subtitle-strong {
  color: #B01212;
}

.slide09-chart-wrap {
  display: flex;
  align-items: flex-start;
  gap: 24px;
  margin-bottom: 22px;
}

.slide09-chart-box {
  position: relative;
  width: 75%;
  height: 560px;
  padding: 22px 24px 14px;
  background: linear-gradient(180deg, rgba(255,255,255,0.68) 0%, rgba(255,255,255,0.46) 100%);
  border: 1px solid rgba(0,0,0,0.10);
  border-radius: 18px;
  box-shadow: 0 14px 34px rgba(0,0,0,0.08), inset 0 1px 0 rgba(255,255,255,0.55);
}

.slide09-legend-col {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 8px;
  padding-top: 80px;
  min-width: 240px;
}

.slide09-legend-swatch-1k {
  width: 20px;
  height: 8px;
  background: #F7B8B8;
  border-radius: 4px;
}

.slide09-legend-swatch-250k {
  width: 20px;
  height: 8px;
  background: #EF7D7D;
  border-radius: 4px;
}

.slide09-legend-swatch-cac {
  width: 20px;
  height: 8px;
  background: #D93535;
  border-radius: 4px;
}

.slide09-legend-swatch-profit {
  width: 20px;
  height: 8px;
  background: #9AA0AA;
  border-radius: 4px;
}

.slide09-footnote {
  font-size: 19px;
  color: rgba(0,0,0,0.62);
  line-height: 1.5;
}

/* --- SLIDE 10 --- */
.slide10-headline {
  font-size: 52px;
  margin-bottom: 40px;
  max-width: 1400px;
}

.slide10-timeline-grid {
  margin-bottom: 32px;
  max-width: 1650px;
  position: relative;
  margin-top: 16px;
}

.slide10-spine {
  position: absolute;
  left: 0;
  right: 0;
  top: 9px;
  height: 4px;
  background: linear-gradient(90deg, rgba(212,43,43,0.2) 0%, rgba(212,43,43,0.4) 33%, rgba(212,43,43,0.6) 66%, var(--red) 100%);
  border-radius: 2px;
  z-index: 1;
}

.slide10-phase-dot-1 {
  width: 24px;
  height: 24px;
  background: rgba(212,43,43,0.7);
}

.slide10-phase-dot-2 {
  width: 24px;
  height: 24px;
  background: rgba(212,43,43,0.8);
}

.slide10-phase-dot-3 {
  width: 24px;
  height: 24px;
  background: rgba(212,43,43,0.9);
}

.slide10-connector-1 {
  height: 24px;
}

.slide10-connector-2 {
  height: 24px;
  background: rgba(212,43,43,0.3);
}

.slide10-connector-3 {
  height: 24px;
  background: rgba(212,43,43,0.4);
}

.slide10-phase-card-1 {
  border-top: 3px solid rgba(212,43,43,0.3);
  border-radius: 14px;
  padding: 28px 24px;
}

.slide10-phase-card-2 {
  border-top: 3px solid rgba(212,43,43,0.5);
  border-radius: 14px;
  padding: 28px 24px;
}

.slide10-phase-card-3 {
  border-top: 3px solid rgba(212,43,43,0.7);
  border-radius: 14px;
  padding: 28px 24px;
}

.slide10-active-dot {
  width: 26px;
  height: 26px;
  background: var(--red);
  border: 4px solid #fff;
  border-radius: 50%;
  box-shadow: 0 0 0 3px rgba(212,43,43,0.25), 0 4px 12px rgba(212,43,43,0.3);
}

.slide10-active-connector {
  width: 2px;
  height: 20px;
  background: var(--red);
}

.slide10-active-card {
  background: linear-gradient(135deg, rgba(212,43,43,0.08) 0%, rgba(212,43,43,0.02) 100%);
  border: 2px solid var(--red);
  border-top: 4px solid var(--red);
  padding: 32px 28px;
  box-shadow: 0 8px 32px rgba(212,43,43,0.12);
}

.slide10-active-label {
  color: var(--red);
  margin-bottom: 16px;
}

.slide10-insight-title {
  font-size: 22px;
  font-weight: 800;
  color: #111;
}

.slide10-insight-sub {
  font-size: 16px;
  color: rgba(0,0,0,0.5);
}

/* --- SLIDE 11 --- */
.slide11-headline {
  max-width: 1200px;
  margin-bottom: 24px;
}

.slide11-subtitle {
  font-size: 22px;
  line-height: 1.6;
  margin-bottom: 52px;
  max-width: 900px;
}

.slide11-grid {
  max-width: 1700px;
}

.slide11-instant-title {
  font-size: 20px;
  font-weight: 700;
  color: var(--red);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 20px;
  white-space: nowrap;
}

/* --- SLIDE 12 --- */
.slide12-headline {
  max-width: 1200px;
  margin-bottom: 24px;
}

.slide12-subtitle {
  font-size: 22px;
  line-height: 1.6;
  margin-bottom: 52px;
  max-width: 900px;
}

.slide12-grid {
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 16px;
  overflow: hidden;
}

.slide12-last-block {
  border-right: none;
}

/* --- SLIDE 13 --- */
.slide13-headline {
  max-width: 1100px;
  margin-bottom: 16px;
}

.slide13-subtitle {
  margin-bottom: 36px;
  max-width: 1100px;
}

.slide13-pipeline-row {
  display: flex;
  gap: 8px;
  margin-bottom: 24px;
  align-items: stretch;
}

.slide13-pipeline-row-2 {
  display: flex;
  gap: 8px;
  margin-bottom: 32px;
  align-items: stretch;
}

.slide13-production-card {
  background: rgba(212,43,43,0.06);
  border: 2px solid rgba(212,43,43,0.3);
}

.slide13-production-icon {
  background: rgba(212,43,43,0.2);
}

.slide13-eliminated-card {
  background: rgba(212,43,43,0.04);
  border: 1px solid rgba(212,43,43,0.15);
}

.slide13-eliminated-icon {
  background: rgba(212,43,43,0.15);
}

.slide13-eliminated-title {
  font-size: 20px;
  font-weight: 700;
  color: #D42B2B;
  margin-bottom: 6px;
  text-decoration: line-through;
  opacity: 0.6;
}

.slide13-eliminated-desc {
  font-size: 18px;
  color: rgba(0,0,0,0.55);
  line-height: 1.4;
  opacity: 0.6;
}

.slide13-callout-label {
  font-size: 22px;
  font-weight: 600;
  color: #0A0A0A;
}

.slide13-callout-value {
  font-size: 22px;
  font-weight: 800;
  color: var(--red);
}


/* =========================================================
   29. MOBILE — VERTICAL SNAP-SCROLL DESIGN (max-width: 768px)
   Readability-first: each slide = one snap screen, vertical layout
   ========================================================= */
@media (max-width: 768px) {

  /* ===========================================
     CORE: Snap-scroll vertical engine
     =========================================== */
  html, body {
    overflow: hidden;
    height: 100%;
  }

  #deck {
    width: 100%;
    height: 100%;
    overflow-y: auto;
    overflow-x: hidden;
    scroll-snap-type: y mandatory;
    -webkit-overflow-scrolling: touch;
  }

  .pg {
    position: relative !important;
    width: 100% !important;
    height: auto !important;
    min-height: 100svh;
    display: flex !important;
    align-items: stretch !important;
    top: auto !important;
    left: auto !important;
    transform: none !important;
    scroll-snap-align: start;
    scroll-snap-stop: always;
  }

  .slide {
    width: 100% !important;
    height: auto !important;
    min-height: 100svh;
    overflow-y: auto;
    overflow-x: hidden;
    display: flex;
    flex-direction: column;
    padding: 0;
  }

  /* Hide desktop nav */
  .deck-nav { display: none !important; }

  /* Portal button — top-right on mobile */
  .portal-btn {
    top: 18px !important;
    right: 18px !important;
    bottom: auto !important;
    left: auto !important;
    font-size: 11px;
    padding: 6px 12px;
    gap: 5px;
  }

  /* Download button — next to portal on mobile */
  .download-btn {
    top: 18px !important;
    right: 100px !important;
    bottom: auto !important;
    left: auto !important;
    font-size: 11px;
    padding: 6px 12px;
    gap: 5px;
  }

  /* ===========================================
     LOGO — top-left, compact
     =========================================== */
  .logo {
    position: relative;
    top: auto;
    right: auto;
    padding: 20px 24px 0;
    margin-bottom: 8px;
    z-index: 10;
  }

  .logo img { height: 22px; }

  /* On mobile, light slides show black logo, hide white */
  .lt .logo-white { display: none; }
  .lt .logo-black { display: block; }
  /* Dark slides keep white logo */
  .dk .logo-white { display: block; }
  .dk .logo-black { display: none; }

  /* ===========================================
     TYPOGRAPHY — readability-first sizing
     =========================================== */
  .headline,
  .slide02-heading,
  .slide03-headline,
  .slide04-headline,
  .slide05-headline,
  .slide06-headline,
  .slide07-headline,
  .slide08-headline,
  .slide09-headline,
  .slide10-headline,
  .slide11-headline,
  .slide12-headline,
  .slide13-headline,
  .slide14-headline-wide,
  .slide15-headline,
  .slide17-headline,
  .slide20-headline,
  .slide21-headline,
  .slide22-headline,
  .slide23-headline,
  .slide24-headline,
  .slide25-headline,
  .slide26-close-heading {
    font-size: 32px;
    line-height: 1.1;
    margin-bottom: 10px;
    max-width: 100% !important;
    letter-spacing: -0.01em;
  }

  .eyebrow {
    font-size: 11px;
    margin-bottom: 8px;
    letter-spacing: 0.14em;
  }

  .body-lg {
    font-size: 16px;
    line-height: 1.55;
  }

  .mu {
    font-size: 16px;
    line-height: 1.55;
  }

  /* Global fix: metric unit spans must match parent size */
  .mu-sm { font-size: inherit !important; }
  .slide04-hero-stat-unit { font-size: inherit !important; }

  .text-subtitle-body,
  .slide02-subtitle,
  .slide05-subtitle,
  .slide09-subtitle,
  .slide11-subtitle,
  .slide12-subtitle,
  .slide13-subtitle,
  .slide15-body,
  .slide22-intro,
  .slide23-body,
  .slide24-quote,
  .slide25-body {
    font-size: 18px !important;
    line-height: 1.45;
    margin-bottom: 12px;
    max-width: 100%;
  }

  /* List items — compact on mobile */
  .list-row-item-title {
    font-size: 18px;
  }

  .list-row-item-sub {
    font-size: 16px;
  }

  /* Price display — keep inline */
  .price-display {
    padding-left: 0;
    border-left: none;
  }

  .price-value {
    font-size: 36px;
  }

  /* Platforms row — stack */
  .slide02-platforms-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }

  /* ===========================================
     CONTENT AREAS — uniform 24px horizontal padding
     =========================================== */
  .slide-content-padded,
  .pad-slide,
  .pad-slide-sm,
  .pad-slide-tight,
  .pad-slide-48 {
    padding: 16px 24px 24px !important;
    position: relative;
    flex: none;
    display: flex;
    flex-direction: column;
  }

  .slide-overlay {
    position: relative;
    inset: auto;
    padding: 16px 24px 24px !important;
    flex: none;
    display: flex;
    flex-direction: column;
  }

  /* Inline padding overrides */
  [style*="padding:0 96px"],
  [style*="padding:80px 96px"],
  [style*="padding:80px 80px"],
  [style*="padding:80px"],
  [style*="padding:80px 72px 80px 96px"],
  .slide03-overlay-pad,
  .slide07-content-col,
  .slide15-split-left,
  .slide26-close-content {
    padding: 16px 24px 24px !important;
  }

  /* Inline max-width — remove all */
  [style*="max-width:1700px"],
  [style*="max-width:1650px"],
  [style*="max-width:1600px"],
  [style*="max-width:1440px"],
  [style*="max-width:1200px"],
  [style*="max-width:1050px"],
  [style*="max-width:960px"],
  [style*="max-width:900px"],
  [style*="max-width:880px"],
  [style*="max-width:860px"],
  [style*="max-width:800px"],
  [style*="max-width:720px"],
  .slide07-headline,
  .slide08-headline,
  .slide09-headline,
  .slide10-headline,
  .slide11-headline,
  .slide11-subtitle,
  .slide11-grid,
  .slide12-headline,
  .slide12-subtitle,
  .slide13-headline,
  .slide13-subtitle,
  .slide08-pillars-grid,
  .slide08-metrics-row,
  .slide10-timeline-grid,
  .slide14-headline-wide,
  .slide15-headline,
  .slide17-headline,
  .slide20-headline,
  .slide21-headline,
  .slide22-headline,
  .slide23-headline,
  .slide24-headline,
  .slide24-quote,
  .slide25-headline,
  .slide25-body,
  .slide26-close-content,
  .slide26-close-point,
  .slide26-close-callout {
    max-width: 100% !important;
  }

  /* ===========================================
     GLOW EFFECTS — subtle on mobile
     =========================================== */
  .lt::before {
    width: 200px;
    height: 200px;
    top: -30px;
    right: -30px;
    opacity: 0.6;
  }

  .glow::before, .glow::after { opacity: 0.3; }
  .cover-glow-br, .cover-glow-tl { opacity: 0.25; }

  /* ===========================================
     SPLIT LAYOUTS → vertical stack
     =========================================== */
  .split {
    position: relative !important;
    flex-direction: column !important;
    inset: auto !important;
    gap: 20px !important;
    padding: 16px 24px 24px !important;
    height: auto !important;
    flex: 1;
  }

  .split-left-content {
    width: 100% !important;
    padding: 0 !important;
    border-right: none !important;
  }

  .split-right-img {
    width: 100%;
    height: 200px;
    border-radius: 12px;
    overflow: hidden;
    flex-shrink: 0;
  }

  .split-col-center {
    width: 100% !important;
    flex: none !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  /* ===========================================
     SLIDE 06 FIX: Heading cut off, info text too large
     =========================================== */
  #slide-06 .slide06-headline {
    font-size: 28px;
    margin-bottom: 8px;
  }

  #slide-06 .slide06-info-text {
    font-size: 14px;
    line-height: 1.45;
  }

  #slide-06 .slide06-info-strong {
    font-size: 14px;
  }

  #slide-06 .info-block {
    margin-bottom: 8px;
  }

  #slide-06 .slide06-info-stack {
    margin-bottom: 10px;
  }

  #slide-06 .card.card-lt {
    padding: 12px 14px;
  }

  #slide-06 .slide06-card-heading {
    font-size: 16px;
  }

  #slide-06 .slide06-card-sub {
    font-size: 12px;
  }

  #slide-06 .accent-card {
    padding: 12px 14px;
  }

  #slide-06 .slide06-proof-title {
    font-size: 12px;
  }

  #slide-06 .sm-stat {
    font-size: 20px;
  }

  #slide-06 .slide06-proof-body {
    font-size: 13px;
  }

  #slide-06 .slide06-proof-note {
    font-size: 12px;
  }

  #slide-06 .split {
    gap: 12px !important;
  }

  /* Force all fixed-width split children to full-width */
  .split > [style*="width:54%"],
  .split > [style*="width:52%"],
  .split > [style*="width:560px"],
  .split > [style*="width:460px"],
  .split > [style*="width:420px"],
  .split > [style*="width:520px"],
  .slide06-split-gap > *,
  .slide07-photo-col,
  .slide15-split-left,
  .slide23-left-col,
  .slide21-right-col,
  .slide25-right-col {
    width: 100% !important;
    padding: 0 !important;
    border-right: none !important;
  }

  [style*="width:54%;display:flex"],
  .slide15-split-left {
    width: 100% !important;
    padding: 0 !important;
    border-right: none !important;
    border-bottom: 1px solid rgba(255,255,255,0.06);
    padding-bottom: 20px !important;
  }

  /* ===========================================
     GRIDS → single column (readable cards)
     =========================================== */
  .grid-3,
  .grid-4,
  .grid-5 {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  /* Inline grid overrides */
  [style*="grid-template-columns:1fr 1.15fr 1fr"],
  [style*="grid-template-columns:1fr 1fr 1fr"],
  .slide07-comparison-grid,
  .slide22-moat-grid,
  .slide24-board-grid {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  /* ===========================================
     CARDS — compact, branded, polished
     =========================================== */
  .card, .card-lt {
    padding: 18px 16px;
    border-radius: 12px;
    border-left: 3px solid #D42B2B !important;
    box-shadow: 0 1px 4px rgba(0,0,0,0.06);
  }

  .card-pad-36 { padding: 18px 16px !important; }

  .info-card, .info-card-accent {
    padding: 14px !important;
    border-radius: 10px;
    border-left: 3px solid #D42B2B !important;
    box-shadow: 0 1px 4px rgba(0,0,0,0.06);
  }

  .moat-card {
    padding: 16px;
    border-radius: 12px;
    border-left: 3px solid #D42B2B !important;
    box-shadow: 0 1px 4px rgba(0,0,0,0.06);
  }

  /* ===========================================
     ICON CONTAINERS — smaller
     =========================================== */
  .icon-box {
    width: 40px;
    height: 40px;
    border-radius: 10px;
  }

  .icon-box-lg { margin-bottom: 12px; }

  .icon-circle {
    width: 44px;
    height: 44px;
  }

  /* ===========================================
     PILLS — compact
     =========================================== */
  .pill, .pill-red, .pill-ghost, .pill-red-dk {
    font-size: 11px;
    padding: 4px 10px;
  }

  .pill-status-green,
  .pill-status-blue,
  .pill-status-yellow {
    font-size: 11px;
    padding: 2px 6px;
  }

  /* ===========================================
     CALLOUTS — fit mobile width
     =========================================== */
  .callout-red {
    padding: 12px 14px;
    border-radius: 10px;
    font-size: 14px;
  }

  .callout-accent {
    flex-wrap: wrap;
    padding: 12px 14px;
    font-size: 14px;
  }

  /* ===========================================
     SLIDE 01 & 26: COVER / CLOSE
     Order: logo top → image → headline+pills → attribution bottom
     =========================================== */
  #slide-01 .slide,
  #slide-26 .slide {
    justify-content: flex-start;
    align-items: stretch;
    padding: 0;
    gap: 0;
  }

  /* Hide decorative glow on mobile */
  .cover-glow-br,
  .cover-glow-tl {
    display: none;
  }

  /* Logo — order 1, top */
  .cover-logo {
    position: relative;
    top: auto;
    left: auto;
    height: 80px;
    width: auto;
    margin: 0;
    padding: 28px 24px 0;
    order: 1;
    align-self: flex-start;
  }

  /* Hero image — order 2, fills available space */
  .cover-hero {
    position: relative;
    right: auto;
    bottom: auto;
    width: 80%;
    height: auto;
    flex: 1 1 0;
    min-height: 0;
    max-height: 55svh;
    object-fit: contain;
    object-position: center center;
    z-index: 1;
    margin: 0 auto;
    align-self: center;
    order: 2;
  }

  /* Content block — order 3 (below image, pulled up) */
  .cover-content {
    flex: none;
    padding: 0 24px 0;
    margin-top: -24px;
    max-width: 100%;
    order: 3;
    display: flex;
    flex-direction: column;
  }

  .cover-headline {
    font-size: 56px;
    line-height: 1.06;
    max-width: 100%;
  }

  /* Pills row */
  .cover-pills {
    margin-top: 32px;
    gap: 8px;
  }

  #slide-01 .pill {
    font-size: 10px;
    padding: 5px 12px;
  }

  /* Attribution — pinned at bottom, left-aligned */
  .cover-attribution {
    position: relative;
    bottom: auto;
    left: auto;
    padding: 0 24px 20px;
    font-size: 9px;
    order: 4;
    margin-top: auto;
    text-align: left;
  }

  #slide-26 h2 {
    font-size: 26px;
    line-height: 1.2;
  }

  #slide-26 .slide-content-padded {
    flex: none;
    padding: 16px 24px 0;
    order: 3;
  }

  /* --- Slide 27 (Close) — cover treatment like slide 1 --- */
  #slide-27 .slide {
    justify-content: flex-start;
    align-items: stretch;
    padding: 0;
    gap: 0;
  }

  #slide-27 .logo {
    order: 1;
    padding: 28px 24px 0;
  }

  .slide26-close-hero {
    position: relative !important;
    right: auto;
    bottom: auto;
    width: 70%;
    height: auto;
    flex: 1 1 0;
    min-height: 0;
    max-height: 45svh;
    object-fit: contain;
    object-position: center center;
    z-index: 1;
    margin: 0 auto;
    align-self: center;
    order: 2;
  }

  .slide26-close-content {
    order: 3;
    flex: none;
    padding: 16px 24px 0 !important;
  }

  .slide26-close-heading {
    font-size: 56px !important;
    line-height: 1.06;
    margin-bottom: 20px;
  }

  .slide26-close-pills {
    order: 4;
    margin-bottom: 20px;
    gap: 8px;
  }

  .slide26-close-points {
    margin-bottom: 24px;
    gap: 10px;
  }

  .slide26-close-point {
    font-size: 15px;
    line-height: 1.5;
  }

  .slide26-close-callout {
    padding: 12px 14px;
    margin-bottom: 20px;
  }

  .slide26-close-footer {
    order: 5;
    padding: 0 24px 20px;
    margin-top: auto;
    gap: 16px;
    flex-wrap: wrap;
  }

  .slide26-close-dd,
  .slide26-close-contact {
    font-size: 14px;
  }

  /* ===========================================
     SLIDE 04: TRACTION — chart + table + metrics on mobile
     =========================================== */
  #slide-04 .slide04-headline {
    font-size: 28px;
    margin-bottom: 6px;
  }

  #slide-04 [style*="flex:1;display:flex;gap:0"],
  .slide04-body-wrap {
    flex-direction: column !important;
    gap: 8px !important;
    flex: none !important;
    justify-content: flex-start !important;
  }

  #slide-04 [style*="flex:1;min-width:0;display:flex;flex-direction:column"],
  .slide04-left-col {
    padding-right: 0 !important;
    border-right: none !important;
    gap: 8px !important;
  }

  [style*="flex:46"], [style*="flex:38"],
  .slide04-chart-block, .slide04-pl-block {
    flex: none !important;
  }

  [style*="flex-shrink:0;margin-bottom:44px"],
  .slide04-header {
    margin-bottom: 6px !important;
  }

  /* Chart block — compact, constrain canvas */
  #slide-04 .slide04-chart-block {
    display: block !important;
  }
  #slide-04 .slide04-chart-block .chart-container {
    height: 220px !important;
    min-height: 0 !important;
    overflow: hidden;
    border-radius: 8px;
    position: relative;
  }
  #slide-04 .slide04-chart-block .chart-container canvas {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
  }
  #slide-04 .slide04-chart-block .section-label {
    font-size: 10px;
    margin-bottom: 4px;
  }

  /* Chart containers (for other slides that still use charts) */
  .chart-container {
    height: 200px;
    min-height: 0;
    border-radius: 10px;
  }

  /* Legend — single line, compact pills */
  [style*="display:flex;gap:20px;margin-top:12px"],
  .slide04-legend-row {
    flex-wrap: nowrap !important;
    gap: 4px !important;
    margin-top: 2px !important;
    justify-content: center;
  }

  .legend-item { font-size: 8px; }
  .legend-pill { padding: 3px 6px !important; border-radius: 4px; }

  /* P&L table — readable sizes */
  #slide-04 .slide04-pl-block {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  #slide-04 .slide04-pl-block .section-label {
    font-size: 10px;
    margin-bottom: 4px;
  }

  /* Hide EBITDA + Status columns on mobile */
  #slide-04 .pl-cell-status,
  #slide-04 .pl-cell-value-positive,
  #slide-04 .pl-cell-value-negative,
  #slide-04 .pl-header-row > :nth-last-child(1),
  #slide-04 .pl-header-row > :nth-last-child(2) {
    display: none !important;
  }

  /* Fix grid to 5 columns (label + 4 data, EBITDA+Status hidden) */
  #slide-04 .pl-header-row,
  #slide-04 .pl-data-row {
    grid-template-columns: 80px 1fr 1fr 1fr 1fr !important;
    font-size: 12px;
  }
  .pl-cell-header { font-size: 9px; padding: 10px 4px; }
  .pl-cell-value { font-size: 13px; padding: 10px 4px; font-weight: 700; }
  .pl-cell-label { font-size: 13px; padding: 10px 6px; }
  .pl-cell-status { font-size: 10px; }

  /* Metric sidebar → horizontal 2×3 grid, right after table */
  .metric-sidebar {
    width: 100% !important;
    padding-left: 0 !important;
    flex-direction: row !important;
    flex-wrap: wrap;
    gap: 8px 4px;
    justify-content: space-between;
    padding-top: 8px;
    border-top: 1px solid rgba(0,0,0,0.08);
    margin-top: 12px;
  }

  .metric-sidebar > div {
    flex: 1 1 30%;
    min-width: 0;
    text-align: center;
  }

  .metric-sidebar .divider { display: none; }

  .hero-stat { font-size: 22px; }
  .big-stat { font-size: 18px; }
  .stat-caption { font-size: 9px; }

  /* ===========================================
     SLIDE 05 & 12: 5-column metric grids
     =========================================== */
  .metric-block-white,
  .metric-block {
    border: none !important;
    border-left: 3px solid #D42B2B !important;
    border-radius: 12px;
    box-shadow: 0 1px 4px rgba(0,0,0,0.06);
    background: #fff;
    padding: 10px 14px !important;
  }

  .metric-block-white:last-child,
  .metric-block:last-child {
    border-bottom: none;
  }

  .domain-stat { font-size: 36px; }
  .domain-stat-label { font-size: 13px; }

  /* ===========================================
     SLIDE 05 FIX: Heading cut off, metric blocks too tall
     =========================================== */
  /* Slide 05: override the global flex:none so content fills viewport */
  #slide-05 .slide-content-padded {
    flex: 1 !important;
  }

  #slide-05 .slide05-headline {
    font-size: 30px;
    line-height: 1.1;
    margin-bottom: 2px;
  }

  #slide-05 .slide05-subtitle {
    margin-bottom: 10px;
  }

  #slide-05 .slide05-metrics-grid {
    gap: 8px !important;
    flex: 1;
    display: flex;
    flex-direction: column;
    border: none !important;
  }

  .slide05-metrics-grid .metric-block-white {
    flex: 1;
    padding: 6px 14px 6px 16px !important;
    display: grid !important;
    grid-template-areas:
      "icon title title"
      "value value subtitle"
      "value value desc";
    grid-template-columns: 28px auto 1fr;
    grid-template-rows: auto 1fr auto;
    column-gap: 6px;
    row-gap: 0;
    align-items: center;
    align-content: center;
    border-radius: 12px;
    border: none !important;
    border-bottom: none !important;
    border-left: 3px solid #D42B2B !important;
    box-shadow: 0 1px 4px rgba(0,0,0,0.06);
    background: #fff;
  }

  /* Icon — row 1 col 1, tinted circle bg */
  .slide05-metrics-grid .icon-mb-lg {
    grid-area: icon;
    display: flex !important;
    margin-bottom: 0 !important;
    width: 26px;
    height: 26px;
    align-items: center;
    justify-content: center;
    background: rgba(212, 43, 43, 0.08);
    border-radius: 50%;
  }

  .slide05-metrics-grid .icon-mb-lg svg {
    width: 15px !important;
    height: 15px !important;
  }

  /* Title — row 1 cols 2-3 (right next to icon) */
  .slide05-metrics-grid .metric-title {
    grid-area: title;
    display: block !important;
    font-size: 11px;
    margin-bottom: 0 !important;
  }

  /* Value — rows 2-3 cols 1-2 */
  .slide05-metrics-grid .metric-value {
    grid-area: value;
    font-size: 36px;
    line-height: 1;
  }

  /* Subtitle — row 2 col 3 */
  .slide05-metrics-grid .metric-subtitle {
    grid-area: subtitle;
    font-size: 15px;
    font-weight: 700;
    align-self: end;
  }

  /* Desc — row 3 col 3 */
  .slide05-metrics-grid .metric-desc {
    grid-area: desc;
    font-size: 13px;
    line-height: 1.3;
    color: rgba(0,0,0,0.55);
    align-self: start;
  }

  #slide-05 .slide05-callout {
    margin-top: 12px;
    padding: 10px 14px;
    flex-shrink: 0;
  }

  /* ===========================================
     SLIDE 07: Comparison grid (2-col → 1-col)
     =========================================== */
  [style*="grid-template-columns:1fr 1fr;gap:32px"],
  .slide07-comparison-grid {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .comparison-row {
    flex-direction: column;
    gap: 4px;
  }

  /* ===========================================
     SLIDE 09: Playbook chart → full width, legend below
     =========================================== */
  #slide-09 [style*="display:flex;align-items:flex-start;gap:24px"],
  .slide09-chart-wrap {
    flex-direction: column !important;
    gap: 12px !important;
  }

  [style*="width:75%"],
  .slide09-chart-box {
    width: 100% !important;
    height: 220px !important;
    min-height: 0;
  }

  /* Legend → horizontal below chart */
  [style*="min-width:240px"],
  .slide09-legend-col {
    min-width: 0 !important;
    padding-top: 0 !important;
    flex-direction: row !important;
    flex-wrap: wrap;
    gap: 6px !important;
  }

  /* ===========================================
     SLIDE 10: Timeline → vertical, compact to fit viewport
     =========================================== */
  [style*="height:4px"][style*="position:absolute"],
  .slide10-spine {
    display: none !important;
  }

  .phase-dot-wrap { display: none; }
  .phase-connector { display: none; }

  #slide-10 .slide-content-padded {
    flex: 1 !important;
    padding-bottom: 16px !important;
  }
  #slide-10 .slide10-headline {
    font-size: 28px !important;
    margin-bottom: 8px;
    line-height: 1.08;
  }
  #slide-10 .eyebrow { margin-bottom: 2px; }

  #slide-10 .slide10-timeline-grid {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 6px !important;
  }

  .phase-wrap {
    padding-top: 0 !important;
    flex: 1;
    display: flex;
    flex-direction: column;
  }

  .pipeline-card[style*="border-top:3px"],
  .pipeline-card[style*="border-top:4px"],
  .slide10-phase-card-1,
  .slide10-phase-card-2,
  .slide10-phase-card-3 {
    border-top: none !important;
    padding: 8px 14px !important;
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  .slide10-active-card {
    padding: 8px 14px !important;
    border-top: none !important;
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  .item-heading-phase { font-size: 20px; margin-bottom: 0; line-height: 1.15; }
  .pillar-title-phase { font-size: 13px; margin-bottom: 0; line-height: 1.2; text-transform: uppercase; letter-spacing: 0.04em; }
  .metric-list-phase { font-size: 13px; margin: 2px 0 0; padding-left: 16px; line-height: 1.4; color: rgba(0,0,0,0.6); }
  .metric-list-phase li { margin-bottom: 0; }

  .section-label { font-size: 11px; }
  .section-label-phase { font-size: 11px; margin-bottom: 0; }

  /* Hide insight bar on mobile — not needed */
  #slide-10 .insight-bar {
    display: none !important;
  }

  /* ===========================================
     SLIDE 11: Principle cards
     =========================================== */
  .principle-card {
    padding: 16px;
    border-radius: 10px;
  }

  .principle-title { font-size: 15px; }
  .principle-desc { font-size: 13px; line-height: 1.5; }

  /* ===========================================
     SLIDE 13: Pipeline cards → 2-column wrap
     =========================================== */
  #slide-13 [style*="display:flex;gap:8px"],
  .slide13-pipeline-row,
  .slide13-pipeline-row-2 {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
  }

  .pipeline-card {
    padding: 14px 12px;
  }

  .pipeline-step-title { font-size: 14px; }
  .pipeline-step-desc { font-size: 13px; }
  .pipeline-step-header { gap: 6px; }

  /* ===========================================
     SLIDE 14 & 16: Video — full width
     =========================================== */
  .video-container {
    max-width: 100%;
    border-radius: 8px;
    aspect-ratio: 16/9;
    height: auto;
    max-height: 50svh;
  }

  /* ===========================================
     SLIDES 15: Dark split — content first, image below
     =========================================== */
  .dark-glass-sm {
    padding: 12px !important;
  }

  /* Slide 15: Apply info hierarchy lessons */
  #slide-15 .slide15-body {
    font-size: 16px !important;
    line-height: 1.45;
    margin-bottom: 10px;
  }

  /* Metrics row — horizontal 3-col grid */
  [style*="display:flex;align-items:center;gap:0;margin-bottom:24px"],
  .slide15-metrics-row {
    display: grid !important;
    grid-template-columns: 0.85fr 1.3fr 0.85fr !important;
    gap: 6px !important;
    margin-bottom: 10px !important;
  }

  [style*="flex-shrink:0;padding:0 12px"],
  .slide15-arrow-sep {
    display: none !important;
  }

  .dark-glass-sm[style*="flex:1"],
  .slide15-metric-glass {
    text-align: left !important;
    padding: 8px 12px !important;
    border-left: 3px solid #D42B2B;
    border-radius: 8px;
  }

  .slide15-metric-stat {
    font-size: 24px !important;
    line-height: 1.1;
  }

  .slide15-metric-caption {
    font-size: 9px !important;
    letter-spacing: 0.03em;
  }

  #slide-15 .slide15-callout {
    padding: 8px 12px !important;
    margin-bottom: 10px;
  }

  #slide-15 .slide15-callout-text {
    font-size: 15px !important;
  }

  #slide-15 .slide15-traditional {
    font-size: 14px !important;
    line-height: 1.45;
  }

  #slide-15 .slide15-traditional-muted {
    font-size: 13px !important;
  }

  #slide-15 .slide15-traditional-bold {
    font-size: 15px !important;
  }

  #slide-15 .slide15-traditional-accent {
    font-size: 15px !important;
  }

  /* ===========================================
     SLIDES 17-19: Cards page + Demo page split
     =========================================== */

  /* Hide old phone layout on card slides */
  .slide17-phone-layout {
    display: none !important;
  }

  /* Card slides: center entire content block vertically */
  #slide-17 .slide-content-padded,
  #slide-18 .slide-content-padded,
  #slide-19 .slide-content-padded {
    flex: 1 !important;
    justify-content: center;
  }

  /* Single-column cards — boxed style, generous sizing */
  .demo-cards-grid {
    display: flex !important;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 8px;
    flex: 1;
  }

  .demo-cards-grid .metric-panel-r,
  .demo-cards-grid .metric-panel-l {
    padding: 10px 14px;
    margin-bottom: 0;
    display: flex;
    flex-direction: column;
    min-height: 0;
    flex: 1;
    justify-content: center;
  }

  .demo-cards-grid + .callout-red {
    flex-shrink: 0;
  }

  .demo-cards-grid .icon-mb-lg {
    display: none;
  }

  .demo-cards-grid .metric-title {
    font-size: 11px !important;
    margin-bottom: 2px;
    line-height: 1.2;
  }

  .demo-cards-grid .metric-value {
    font-size: 26px;
    line-height: 1.1;
    margin-bottom: 2px;
    font-weight: 900;
  }

  .demo-cards-grid .metric-subtitle {
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 2px;
    line-height: 1.25;
  }

  .demo-cards-grid .metric-list {
    font-size: 13px !important;
    line-height: 1.35;
    padding-left: 16px;
    margin: 2px 0 0;
    color: rgba(0,0,0,0.5);
  }
  .demo-cards-grid .metric-list li {
    margin-bottom: 1px;
  }
  .demo-cards-grid .metric-list li:nth-child(n+3) {
    display: none;
  }

  /* Demo slide — phone first, title at bottom */
  .demo-slide .slide {
    justify-content: flex-start !important;
  }

  .demo-slide .logo {
    margin-bottom: 0 !important;
  }

  .demo-slide-content {
    flex: 1 !important;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-top: 0 !important;
    padding-bottom: 20px !important;
  }

  .demo-slide-title {
    font-size: 20px;
    font-weight: 900;
    text-align: center;
    order: 2;
    margin-top: auto;
    padding-top: 8px;
  }

  .demo-phone-full {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 0;
    width: 100%;
    order: 1;
  }

  .demo-phone-full .phone-mockup {
    width: 70vw;
    max-width: 320px;
    aspect-ratio: 9 / 19.5;
    height: auto;
    max-height: 85svh;
    border-radius: 32px;
    box-shadow: 0 24px 60px rgba(0,0,0,0.18);
  }

  /* Keep old phone styles for non-demo contexts */
  .phone-mockup-wrapper {
    position: relative;
    top: auto;
    left: auto;
    transform: none;
    display: flex;
    justify-content: center;
    margin: 0 auto 16px;
    z-index: 2;
  }

  .phone-mockup {
    width: 150px;
    height: 300px;
    border-radius: 22px;
    box-shadow: 0 16px 40px rgba(0,0,0,0.15);
  }

  .phone-backdrop {
    position: relative;
    top: auto;
    transform: none;
    height: auto;
    grid-template-columns: 1fr !important;
    border-radius: 12px;
    box-shadow: none;
  }

  .phone-center-col { display: none; }

  .metric-panel-r,
  .metric-panel-l {
    padding: 10px 14px;
    border: none !important;
    border-left: 3px solid #D42B2B !important;
    border-radius: 12px;
    box-shadow: 0 1px 4px rgba(0,0,0,0.06);
    background: #fff;
    margin-bottom: 8px;
  }

  .metric-title { font-size: 11px; margin-bottom: 2px; }
  .metric-value { font-size: 22px; line-height: 1.1; }
  .metric-subtitle { font-size: 13px; }
  .metric-desc { color: rgba(0,0,0,0.55); }
  .metric-list { font-size: 12px; padding-left: 14px; line-height: 1.4; }
  .icon-mb-lg {
    margin-bottom: 4px;
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(212, 43, 43, 0.08);
    border-radius: 50%;
  }
  .icon-mb-lg svg {
    width: 18px !important;
    height: 18px !important;
  }

  /* ===========================================
     SLIDE 20: AI Infrastructure 5-col → 2-col compact grid
     =========================================== */
  [style*="grid-template-columns:1fr 1fr 1fr 1fr 1fr"],
  .slide20-infra-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    grid-template-rows: auto auto auto;
    gap: 8px !important;
    margin-bottom: 12px !important;
  }

  #slide-20 .slide-content-padded {
    flex: 1 !important;
    padding-bottom: 16px !important;
    justify-content: center;
  }

  #slide-20 .callout-red {
    flex-shrink: 0;
  }

  .slide20-infra-grid .card {
    padding: 10px 12px !important;
    display: flex;
    flex-direction: column;
  }

  .slide20-infra-grid .metric-value {
    font-size: 24px !important;
    line-height: 1.1;
    margin-bottom: 1px;
  }

  .slide20-infra-grid .metric-title {
    font-size: 12px !important;
    margin-bottom: 2px;
  }

  .slide20-infra-grid .metric-subtitle {
    font-size: 14px !important;
    font-weight: 600;
    margin-bottom: 4px;
  }

  /* Show bullets but limit to 2 per card */
  .slide20-infra-grid .metric-list {
    font-size: 13px !important;
    line-height: 1.3;
    padding-left: 14px;
    margin: 0;
  }

  .slide20-infra-grid .metric-list li:nth-child(n+2) {
    display: none;
  }

  .slide20-infra-grid .icon-mb-lg {
    width: 24px;
    height: 24px;
    margin-bottom: 4px;
  }

  .slide20-infra-grid .icon-mb-lg svg {
    width: 14px !important;
    height: 14px !important;
  }

  /* Last card (5th) spans full width */
  .slide20-infra-grid .card:last-child {
    grid-column: 1 / -1;
  }

  .slide20-spacer { display: none; }

  /* ===========================================
     SLIDE 21: Economics — left data, right metrics
     =========================================== */
  #slide-21 .slide-content-padded {
    flex: 1 !important;
    justify-content: center;
  }

  .border-top-light { padding: 10px 0 !important; }
  .row-padded { padding: 10px 0 !important; }

  #slide-21 .slide21-headline {
    font-size: 30px !important;
    margin-bottom: 8px;
    line-height: 1.1;
  }

  #slide-21 .pillar-title-muted {
    font-size: 13px;
    margin-bottom: 2px;
  }

  #slide-21 .metric-desc {
    font-size: 16px;
    line-height: 1.4;
    margin-top: 4px;
  }

  .slide21-margin-row {
    gap: 8px !important;
  }

  .slide21-margin-value,
  .slide21-margin-target {
    font-size: 22px !important;
  }

  .slide21-margin-desc {
    font-size: 16px !important;
  }

  .slide21-bottom-block {
    padding-top: 12px !important;
    margin-top: 8px !important;
  }

  .slide21-bottom-heading {
    font-size: 24px !important;
    line-height: 1.2;
  }

  /* Hide right column on mobile — show inline metrics instead */
  [style*="width:420px"],
  .slide21-right-col {
    display: none !important;
  }

  .text-stat-heading { font-size: 20px; margin-bottom: 2px; }
  .text-label-upper { font-size: 15px; margin-bottom: 4px; }

  /* ===========================================
     SLIDE 22: Moat cards — compact to fit viewport
     =========================================== */
  #slide-22 .slide22-headline {
    font-size: 26px !important;
    line-height: 1.1;
    margin-bottom: 4px;
  }
  #slide-22 .slide22-intro {
    font-size: 13px !important;
    line-height: 1.35;
    margin-bottom: 8px;
  }
  .slide22-moat-grid {
    gap: 6px !important;
  }
  .stat-baseline { gap: 6px; }
  .stat-big-red { font-size: 28px; }
  .stat-desc { font-size: 13px; line-height: 1.3; }
  .slide22-moat-grid .card {
    padding: 10px 14px !important;
  }
  .slide22-moat-grid .moat-number {
    font-size: 11px !important;
  }
  .slide22-moat-grid .moat-title {
    font-size: 12px !important;
  }
  #slide-22 .slide22-bottom {
    font-size: 13px !important;
    margin-top: 6px;
  }

  /* ===========================================
     SLIDE 23: Growth Plan — compact to fit viewport
     =========================================== */
  #slide-23 .slide23-headline {
    font-size: 24px !important;
    line-height: 1.1;
    margin-bottom: 2px;
  }
  #slide-23 .slide23-body {
    font-size: 13px !important;
    margin-bottom: 6px;
  }
  .portfolio-math { padding: 10px !important; font-size: 12px; margin-bottom: 6px !important; }
  .portfolio-math .accent-value { font-size: 14px; }
  #slide-23 .slide23-target-card {
    padding: 8px 12px !important;
    margin-bottom: 6px;
  }
  #slide-23 .slide23-target-card .hero-stat {
    font-size: 20px !important;
  }

  .split-col-center:has(.lang-table) {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
  }

  .lang-table {
    font-size: 11px;
    min-width: 340px;
  }

  /* Hide Notes and Target columns on mobile */
  .lang-table th:last-child,
  .lang-table td:last-child,
  .lang-table th:nth-child(4),
  .lang-table td:nth-child(4) {
    display: none;
  }

  .lang-table th, .lang-table td {
    padding: 4px 6px;
    font-size: 11px;
    white-space: nowrap;
  }

  /* ===========================================
     SLIDE 24: Team — founders + board compact
     =========================================== */
  #slide-25 .slide24-headline {
    font-size: 24px !important;
    line-height: 1.1;
    margin-bottom: 2px;
  }
  #slide-25 .slide24-quote {
    font-size: 13px !important;
    line-height: 1.35;
    margin-bottom: 8px;
  }
  .slide24-founders-grid {
    gap: 6px !important;
  }
  .slide24-founder-card {
    padding: 8px 10px !important;
  }
  .founder-row { gap: 10px; }

  .founder-photo {
    width: 48px !important;
    height: 48px !important;
    flex-shrink: 0;
  }

  .founder-name { font-size: 14px; }
  .founder-role { font-size: 11px; line-height: 1.3; }
  .info-body { font-size: 12px; line-height: 1.4; }

  .slide24-board-grid {
    gap: 6px !important;
    margin-top: 6px;
  }
  .slide24-board-grid .card {
    padding: 8px 10px !important;
  }
  .slide24-board-grid .info-body {
    font-size: 11px;
  }

  /* ===========================================
     SLIDE 25: The Ask — milestones vertical
     =========================================== */
  #slide-26 .slide25-fund-title {
    font-size: 16px !important;
  }
  #slide-26 .slide25-fund-desc {
    font-size: 13px !important;
  }

  .price-display { padding-left: 0 !important; }
  .price-value { font-size: 32px; }
  .investor-callout { padding: 10px 14px; font-size: 14px; }

  [style*="width:520px"],
  .slide25-right-col {
    width: 100% !important;
    padding-left: 0 !important;
    margin-top: 10px;
  }

  .milestone-sub { font-size: 12px; line-height: 1.2; }

  /* Milestone timeline — ensure vertical line and rows render on mobile */
  .slide25-milestone-line {
    position: relative;
    padding-left: 0;
  }

  .slide25-timeline-bar {
    display: block;
    position: absolute;
    left: 5px;
    top: 20px;
    bottom: 20px;
    width: 2px;
  }

  .milestone-row {
    padding: 4px 0;
    gap: 16px;
  }

  .milestone-dot {
    width: 12px;
    height: 12px;
    flex-shrink: 0;
  }

  .slide25-milestone-name {
    font-size: 14px;
    line-height: 1.2;
  }

  .slide25-milestones-label {
    font-size: 14px;
    margin-bottom: 12px;
  }

  /* ===========================================
     KEY STAT CARDS — compact
     =========================================== */
  .key-stat-card { padding: 12px; }
  .sm-stat { font-size: 22px; }
  .key-stat-label { font-size: 11px; }

  /* ===========================================
     PILLAR TITLES — mobile-readable
     =========================================== */
  .pillar-title { font-size: 12px; letter-spacing: 0.12em; }
  .pillar-title-lg { font-size: 14px; }
  .pillar-title-phase { font-size: 14px; margin-bottom: 8px; }
  .pillar-title-muted { font-size: 12px; }
  .item-heading-dk { font-size: 18px; }
  .item-heading-phase { font-size: 18px; }

  /* ===========================================
     FONT SIZE OVERRIDES for inline styles
     =========================================== */
  [style*="font-size:76px"] { font-size: 32px !important; }
  [style*="font-size:56px"][style*="font-weight:900"] { font-size: 28px !important; }
  [style*="font-size:54px"] { font-size: 26px !important; }
  [style*="font-size:52px"],
  .slide10-headline { font-size: 28px !important; }
  [style*="font-size:24px"][style*="font-weight:400"] { font-size: 16px !important; }

  /* Flex-col-tight gap */
  .flex-col-tight { gap: 0; }

  /* List rows */
  .list-row-dk {
    padding: 10px 14px !important;
    gap: 10px !important;
  }

  .num-marker { font-size: 14px !important; }

  /* ===========================================
     SLIDE 03 FIX: Heading cut off, thesis items too tall
     =========================================== */
  #slide-03 .col-center {
    justify-content: flex-start;
  }

  #slide-03 .flex-col-tight {
    flex: 1;
    justify-content: space-evenly;
  }

  #slide-03 .slide03-headline {
    font-size: 28px;
    margin-bottom: 16px;
  }

  #slide-03 .list-row-dk {
    flex-wrap: wrap;
    padding: 14px 14px !important;
    gap: 0 !important;
    align-items: center;
  }

  /* Number as small pill badge, icon hidden, block layout */
  #slide-03 .list-row-dk {
    display: block !important;
    padding: 14px 14px !important;
  }

  #slide-03 .num-marker {
    display: inline-block !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #D42B2B !important;
    background: rgba(212,43,43,0.08);
    border-radius: 4px;
    padding: 3px 10px !important;
    margin-bottom: 8px;
    opacity: 1 !important;
  }

  #slide-03 .icon-circle {
    display: none !important;
  }

  #slide-03 .item-heading-dk {
    font-size: 20px;
    line-height: 1.35;
  }

  #slide-03 .body-dk {
    font-size: 16px;
    line-height: 1.45;
    margin-top: 6px;
  }

  #slide-03 .eyebrow {
    margin-bottom: 6px;
  }

  /* ===========================================
     SLIDE 08 FIX: Cards too spacious, metrics cut off
     =========================================== */
  #slide-08 .slide08-headline {
    font-size: 28px;
    margin-bottom: 12px;
  }

  #slide-08 .slide08-pillars-grid {
    gap: 8px !important;
  }

  #slide-08 .card-pad-36 {
    padding: 12px 14px !important;
  }

  #slide-08 .icon-box-lg {
    margin-bottom: 6px;
  }

  #slide-08 .slide08-pillar-body {
    font-size: 14px;
    line-height: 1.4;
  }

  #slide-08 .slide08-metrics-row {
    margin-top: 12px;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
  }

  #slide-08 .key-stat-card {
    padding: 10px 12px;
  }

  #slide-08 .sm-stat {
    font-size: 20px;
  }

  #slide-08 .key-stat-label {
    font-size: 10px;
  }

  /* Insight bar (slide 10) */
  .insight-bar {
    flex-direction: column !important;
    gap: 8px !important;
  }

  /* ===========================================
     SLIDE 07 FIX: Photo hidden, comparison rows horizontal, compact
     =========================================== */
  #slide-07 .slide07-photo-col {
    display: none;
  }

  #slide-07 .slide07-headline {
    font-size: 28px;
    line-height: 1.2;
    margin-bottom: 10px;
  }

  #slide-07 .eyebrow {
    margin-bottom: 4px;
  }

  #slide-07 .slide07-comparison-grid {
    gap: 8px !important;
  }

  #slide-07 .dark-glass {
    padding: 8px 12px !important;
  }

  #slide-07 .section-label {
    font-size: 10px;
    margin-bottom: 4px;
  }

  #slide-07 .comparison-row {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding: 3px 0;
    gap: 8px;
  }

  #slide-07 .comparison-label {
    font-size: 13px;
  }

  #slide-07 .comparison-value,
  #slide-07 .comparison-value-dim,
  #slide-07 .slide07-check-white,
  #slide-07 .slide07-didnt-work {
    font-size: 13px;
  }

  #slide-07 .slide07-comparison-bottom-row {
    margin-top: 4px;
    padding-top: 6px;
  }

  #slide-07 .slide07-quote-wrap {
    margin-top: 12px;
    padding-left: 14px;
  }

  #slide-07 .slide07-quote-text {
    font-size: 17px;
    line-height: 1.3;
  }

  #slide-07 .slide07-subquote-wrap {
    margin-top: 6px;
    padding-left: 0;
  }

  #slide-07 .slide07-subquote-text {
    font-size: 13px;
  }

  /* ===========================================
     SLIDE 09 FIX: Chart labels overlapping on mobile
     =========================================== */
  #slide-09 .slide09-subtitle {
    margin-bottom: 8px;
  }

  #slide-09 .slide09-chart-box {
    height: 200px !important;
    min-height: 200px !important;
    overflow: hidden;
    border-radius: 8px;
  }

  #slide-09 .slide09-chart-box canvas {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
  }

  #slide-09 .slide09-legend-col {
    flex-wrap: wrap !important;
    gap: 6px 12px !important;
    justify-content: center;
  }

  #slide-09 .legend-item {
    font-size: 10px;
  }

  #slide-09 .legend-text {
    font-size: 10px;
  }

  #slide-09 .slide09-footnote {
    font-size: 16px;
    margin-top: 8px;
  }

  /* ===========================================
     SLIDE 12 FIX: AI stack cards overflow viewport
     =========================================== */
  #slide-12 .slide12-subtitle {
    margin-bottom: 8px;
  }

  #slide-12 .slide12-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
  }

  /* Last block (5th) spans full width */
  #slide-12 .slide12-last-block {
    grid-column: 1 / -1;
  }

  #slide-12 .metric-block {
    padding: 10px 12px !important;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
  }

  #slide-12 .metric-block .icon-mb {
    margin-bottom: 2px;
  }

  #slide-12 .metric-block .icon-mb svg {
    width: 18px !important;
    height: 18px !important;
  }

  #slide-12 .metric-block .pillar-title-lg {
    font-size: 11px;
  }

  #slide-12 .metric-block .domain-divider {
    display: none;
  }

  #slide-12 .domain-stat {
    font-size: 28px;
    line-height: 1;
  }

  #slide-12 .domain-stat-label {
    font-size: 13px;
    font-weight: 700;
  }

  #slide-12 .metric-block .domain-desc {
    font-size: 12px;
    line-height: 1.3;
    color: rgba(0,0,0,0.55);
  }

  /* ===========================================
     SLIDE 13 FIX: Pipeline steps — 2-column compact
     =========================================== */
  #slide-13 .slide13-subtitle {
    margin-bottom: 8px;
  }

  #slide-13 .slide13-pipeline-row,
  #slide-13 .slide13-pipeline-row-2 {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 6px !important;
    margin-bottom: 4px;
  }

  #slide-13 .pipeline-card {
    padding: 10px 12px !important;
  }

  #slide-13 .pipeline-step-header {
    gap: 5px;
    margin-bottom: 2px;
  }

  #slide-13 .pipeline-step-icon {
    width: 24px;
    height: 24px;
    padding: 3px;
  }

  #slide-13 .pipeline-step-icon svg {
    width: 14px !important;
    height: 14px !important;
  }

  #slide-13 .pipeline-step-num {
    font-size: 12px;
  }

  #slide-13 .pipeline-step-title {
    font-size: 16px;
    margin-bottom: 2px;
  }

  #slide-13 .pipeline-step-desc {
    font-size: 13px;
    line-height: 1.3;
  }

  /* Box 8 (eliminated) — match other card text sizes */
  #slide-13 .slide13-eliminated-title {
    font-size: 16px !important;
  }
  #slide-13 .slide13-eliminated-desc {
    font-size: 13px !important;
    line-height: 1.3;
  }

  #slide-13 .callout-accent {
    margin-top: 6px;
    padding: 8px 12px;
    font-size: 13px;
  }

  #slide-13 .slide13-callout-label,
  #slide-13 .slide13-callout-value {
    font-size: 13px !important;
  }

  /* ===========================================
     SLIDE 19 FIX: Phone mockup cut off at top
     =========================================== */
  #slide-19 .phone-mockup {
    width: 140px;
    height: 280px;
    border-radius: 22px;
  }

  #slide-19 .phone-mockup-wrapper {
    margin-bottom: 10px;
  }

  #slide-19 .metric-panel-r,
  #slide-19 .metric-panel-l {
    padding: 10px 12px;
  }

  #slide-19 .metric-list {
    font-size: 11px;
    line-height: 1.4;
  }

  #slide-19 .metric-value {
    font-size: 20px;
  }

  #slide-19 .callout-red {
    margin-top: 8px;
  }

  /* ===========================================
     SLIDE 24 FIX: Chart + metric sidebar overlap on mobile
     =========================================== */
  #slide-24 .slide-overlay {
    flex: 1;
    display: flex;
    flex-direction: column;
  }
  #slide-24 .slide04-header {
    margin-bottom: 6px !important;
  }
  #slide-24 .slide04-headline {
    font-size: 30px !important;
    line-height: 1.1;
  }
  #slide-24 .slide04-body-wrap {
    flex-direction: column !important;
    gap: 12px !important;
    flex: 1;
  }

  #slide-24 .slide25p-left-col {
    width: 100% !important;
    padding-right: 0 !important;
    border-right: none !important;
  }

  #slide-24 .slide25p-chart-block .chart-container {
    height: 280px;
    min-height: 280px;
  }
  #slide-24 .slide25p-chart-block .section-label {
    font-size: 10px !important;
    margin-bottom: 6px;
  }

  /* Hide legend on mobile — too many cultures, clutters the slide */
  #slide-24 .slide25p-legend-grid {
    display: none !important;
  }

  #slide-24 .metric-sidebar {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 14px 12px;
    padding-left: 0 !important;
    border-left: none !important;
    border-top: 1px solid rgba(0,0,0,0.08);
    padding-top: 16px;
  }

  #slide-24 .metric-sidebar .divider {
    display: none;
  }

  #slide-24 .metric-sidebar > div {
    min-width: 0;
    text-align: center;
  }
  #slide-24 .metric-sidebar .hero-stat {
    font-size: 32px !important;
    line-height: 1.1;
  }
  #slide-24 .metric-sidebar .big-stat {
    font-size: 28px !important;
    line-height: 1.1;
  }
  #slide-24 .metric-sidebar .stat-caption {
    font-size: 10px !important;
    line-height: 1.3;
    margin-top: 2px;
  }
  #slide-24 .slide25p-ue-row {
    font-size: 16px;
  }
  #slide-24 .slide25p-ebitda-badge {
    font-size: 24px !important;
    padding: 10px 18px !important;
  }
}


/* =========================================================
   30. MOBILE — SMALL PHONES (max-width: 480px)
   Tighter spacing, smaller type for narrow screens
   ========================================================= */
@media (max-width: 480px) {

  .slide-content-padded,
  .pad-slide,
  .pad-slide-sm,
  .pad-slide-tight,
  .pad-slide-48 {
    padding: 12px 18px 20px !important;
  }

  .split { padding: 12px 18px 20px !important; }
  .slide-overlay { padding: 12px 18px 20px !important; }

  .headline,
  .slide02-heading,
  .slide03-headline,
  .slide04-headline,
  .slide05-headline,
  .slide06-headline,
  .slide07-headline,
  .slide08-headline,
  .slide09-headline,
  .slide10-headline,
  .slide11-headline,
  .slide12-headline,
  .slide13-headline,
  .slide14-headline-wide,
  .slide15-headline,
  .slide17-headline,
  .slide20-headline,
  .slide21-headline,
  .slide22-headline,
  .slide23-headline,
  .slide24-headline,
  .slide25-headline,
  .slide26-close-heading {
    font-size: 28px;
    line-height: 1.18;
  }

  .eyebrow { font-size: 10px; }
  .body-lg { font-size: 14px; }
  .mu { font-size: 13px; }

  .cover-headline { font-size: 40px; }
  .cover-logo { height: 60px; padding: 20px 18px 0; }
  .cover-content { padding: 12px 18px 0; }
  .cover-attribution { padding: 0 18px 16px; }
  #slide-26 h2 { font-size: 22px !important; }
  #slide-26 .slide-content-padded { padding: 12px 18px 0 !important; }

  .logo img { height: 18px; }
  .logo { padding: 16px 18px 0; }

  /* Cards */
  .card, .card-lt {
    padding: 14px 12px;
    border-radius: 10px;
  }

  .card-pad-36 { padding: 14px 12px !important; }

  /* Icons */
  .icon-box { width: 36px; height: 36px; border-radius: 8px; }
  .icon-circle { width: 36px; height: 36px; }

  /* Phone mockup */
  .phone-mockup {
    width: 150px;
    height: 300px;
    border-radius: 22px;
  }

  .phone-backdrop { grid-template-columns: 1fr !important; }
  .metric-panel-r, .metric-panel-l { padding: 10px; }

  /* Stats */
  .hero-stat { font-size: 24px; }
  .big-stat { font-size: 20px; }
  .sm-stat { font-size: 20px; }
  .stat-big-red { font-size: 28px; }
  .domain-stat { font-size: 30px; }
  .metric-value { font-size: 20px; }

  /* Tables */
  .lang-table { min-width: 520px; }
  .lang-table th { font-size: 9px; }
  .lang-table td { font-size: 11px; }
  .pl-cell-header { font-size: 8px; }
  .pl-cell-value { font-size: 10px; padding: 4px 2px; }

  /* Pipeline → single column on small phones */
  #slide-13 [style*="display:flex;gap:8px"],
  .slide13-pipeline-row,
  .slide13-pipeline-row-2 {
    grid-template-columns: 1fr !important;
  }

  /* Pills */
  .pill, .pill-red, .pill-ghost, .pill-red-dk {
    font-size: 10px;
    padding: 3px 8px;
  }

  /* Split image */
  .split-right-img { height: 160px; }

  /* Video */
  .video-container { border-radius: 6px; }

  /* Chart */
  .chart-container { height: 180px; }
  [style*="width:75%"],
  .slide09-chart-box { height: 180px !important; }

  /* Metric sidebar */
  .metric-sidebar > div { flex: 1 1 45%; }

  /* Inline font sizes — further reduce */
  [style*="font-size:76px"] { font-size: 26px !important; }
  [style*="font-size:56px"][style*="font-weight:900"] { font-size: 24px !important; }
  .slide26-close-heading { font-size: 40px !important; }
  [style*="font-size:54px"] { font-size: 22px !important; }
  [style*="font-size:52px"],
  .slide10-headline { font-size: 24px !important; }

  /* Slide 20 infra grid — keep 2-col on small screens too */

}


/* =========================================================
   SLIDE 25p: 3-YEAR PROJECTION
   ========================================================= */
/* Overlay — tighter padding than slide04 to give chart more room */
.slide25p-overlay {
  padding: 64px 80px 48px;
}

.slide25p-left-col {
  gap: 12px;
}

.slide25p-chart-block {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

.slide25p-chart-block .chart-container {
  flex: 1;
  min-height: 0;
  border-radius: 16px;
  padding: 0;
}

.slide25p-chart-block .chart-container canvas {
  position: absolute;
  inset: 8px 16px 8px 8px;
}

/* Legend grid — two neat rows */
.slide25p-legend-grid {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-top: 6px;
  flex-shrink: 0;
  padding-left: 4px;
}

.slide25p-legend-row {
  display: flex;
  gap: 6px;
  align-items: center;
}

.slide25p-legend-grid .legend-item {
  font-size: 11px;
  padding: 2px 7px;
}

/* Legend color swatches */
.slide25p-sw {
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 2px;
  margin-right: 4px;
  vertical-align: middle;
}

/* Unit economics in sidebar */
.slide25p-ue-stack {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-bottom: 6px;
}

.slide25p-ue-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 5px 10px;
  border-radius: 6px;
  font-size: 16px;
  font-weight: 600;
  color: var(--black);
}

.slide25p-ue-year {
  font-weight: 700;
  color: var(--muted-dark);
  font-size: 14px;
}

.slide25p-ue-val {
  font-weight: 800;
  font-size: 18px;
}

.slide25p-ue-highlight {
  background: rgba(212,43,43,0.10);
  color: var(--red);
}

.slide25p-ue-highlight .slide25p-ue-year {
  color: var(--red);
}

/* Tighter header for this slide */
#slide-24 .slide04-header {
  margin-bottom: 20px;
}

#slide-24 .slide04-headline {
  font-size: 48px;
}

/* Sidebar overrides — tighter gaps */
#slide-24 .metric-sidebar {
  gap: 16px;
  padding-left: 48px;
}

.slide25p-ebitda-badge {
  display: inline-block;
  font-size: 28px;
  font-weight: 900;
  color: #1a8a3f;
  background: rgba(26,138,63,0.07);
  border: 2px solid rgba(26,138,63,0.18);
  border-radius: 10px;
  padding: 8px 22px;
  letter-spacing: -0.02em;
  line-height: 1.1;
}

/* Portal button */
.portal-btn {
  position: fixed;
  bottom: 16px;
  left: 16px;
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 16px;
  background: rgba(212,43,43,0.9);
  color: #fff;
  border-radius: 20px;
  font: 600 13px/1 'Inter', sans-serif;
  text-decoration: none;
  z-index: 1000;
  backdrop-filter: blur(10px);
  transition: all 0.3s ease;
}
.portal-btn:hover {
  background: #FF3B3B;
  transform: translateY(-2px);
  box-shadow: 0 8px 30px rgba(212,43,43,0.25);
}
.portal-btn svg { width: 14px; height: 14px; }

/* Download PDF button */
.download-btn {
  position: fixed;
  bottom: 16px;
  left: 120px;
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 16px;
  background: rgba(30,30,50,0.85);
  color: #fff;
  border: 1px solid rgba(255,255,255,0.15);
  border-radius: 20px;
  font: 600 13px/1 'Inter', sans-serif;
  cursor: pointer;
  z-index: 1000;
  backdrop-filter: blur(10px);
  transition: all 0.3s ease;
}
.download-btn:hover {
  background: rgba(212,43,43,0.9);
  border-color: transparent;
  transform: translateY(-2px);
  box-shadow: 0 8px 30px rgba(212,43,43,0.25);
}
.download-btn svg { width: 14px; height: 14px; }

/* ===== PRINT STYLES — PDF Download (supplements main @media print block above) ===== */
@media print {
  @page {
    size: landscape;
    margin: 0;
  }

  /* Ensure dark slides have backgrounds */
  .slide.dk {
    background-color: #0A0A0F !important;
    color: #fff !important;
  }
  .slide.lt {
    background-color: #F5F5F7 !important;
    color: #1A1A2E !important;
  }

  /* Crisp fonts at print resolution */
  * {
    -webkit-font-smoothing: subpixel-antialiased !important;
    text-rendering: optimizeLegibility !important;
  }

  /* Charts: ensure canvas prints */
  canvas {
    max-width: 100% !important;
  }
}
