/* ════════════════════════════════════════════════════════════
   SWEET SECURITY · Head of Demand · Dana Ephrat
   v6 — Full animation overhaul + premium polish
   ════════════════════════════════════════════════════════════ */

/* ─── PALETTE ─── */
:root {
  --bg-cream: #FFF4E5;
  --bg-dark: #1A1410;
  --ink: #1F1A14;
  --ink-2: #3A2F23;
  --ink-muted: #5B4D3C;
  --ink-dim: #8B7A66;
  --hairline: rgba(31,26,20,0.10);
  --hairline-strong: rgba(31,26,20,0.20);
  --khaki: #D4B896;
  --khaki-deep: #B89A72;
  --khaki-light: #E8D5B5;
  --orange: #FF7A1A;
  --orange-deep: #E55A00;
  --orange-soft: #FFB263;
  --yellow: #FFD43B;
  --yellow-glow: #FFE166;
  --mint: #1F9D7A;
  --berry: #C2185B;
  --grad-warm: linear-gradient(135deg, #E8D5B5, #FFB263 45%, #FF7A1A);
  --grad-warm-strong: linear-gradient(135deg, #FFB263, #FF7A1A 50%, #E55A00);
  --d-text: #FFF4E5;
  --d-muted: rgba(255,244,229,0.78);
  --d-dim: rgba(255,244,229,0.55);
  --d-hairline: rgba(255,244,229,0.14);
  --shadow-sm: 0 2px 8px rgba(31,26,20,0.06);
  --shadow-md: 0 8px 24px rgba(31,26,20,0.08);
  --shadow-lg: 0 16px 48px rgba(31,26,20,0.10);
  --shadow-glow-o: 0 8px 32px rgba(255,122,26,0.18);
  --shadow-glow-y: 0 8px 32px rgba(255,212,59,0.15);
  --font-sans: 'Inter', system-ui, sans-serif;
  --font-display: 'Fraunces', 'Inter', serif;
  --font-mono: 'JetBrains Mono', ui-monospace, monospace;
  --r-sm: 8px; --r-md: 14px; --r-lg: 20px; --r-xl: 28px;
}

html, body { background: var(--bg-cream); }

/* ═══ BASE ═══ */
.reveal { font-family: var(--font-sans); color: var(--ink); font-size: 28px; letter-spacing: -0.005em; }
.reveal .slides { text-align: left; }
.reveal .slides section { height: 100%; overflow: visible; }
.reveal h1,.reveal h2,.reveal h3,.reveal h4,.reveal h5 {
  font-family: var(--font-display); font-weight: 600; letter-spacing: -0.025em;
  text-transform: none; color: var(--ink); margin: 0; line-height: 1.06;
  font-variation-settings: 'opsz' 144;
}
.reveal p { margin: 0; line-height: 1.5; color: var(--ink-muted); font-size: 1.4rem; }
.reveal ul li { font-size: 1.3rem; line-height: 1.45; }
em { font-style: italic; color: var(--ink); font-family: var(--font-display); font-weight: 500; }

/* ═══ DARK MODE ═══ */
.dark { color: var(--d-text); }
.dark h1,.dark h2,.dark h3,.dark h4,.dark h5 { color: var(--d-text); }
.dark p { color: var(--d-muted); }
.dark em { color: var(--yellow-glow); }
.dark .section-label { color: var(--yellow); border-color: rgba(255,212,59,0.25); background: rgba(255,212,59,0.08); }
.dark .lead.light { color: var(--d-muted); }

/* ═══ GRADIENT / SHIMMER ═══ */
.gradient-text {
  background: var(--grad-warm-strong);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent;
  display: inline-block;
}
.shimmer {
  background-size: 200% 100%;
  animation: shimmer 4s ease-in-out infinite;
}
@keyframes shimmer {
  0%,100% { background-position: 0% center; }
  50%     { background-position: 100% center; }
}

.highlight-text {
  color: var(--yellow-glow); -webkit-text-fill-color: var(--yellow-glow);
  font-weight: 700;
}
.glow-pulse { animation: glowPulse 2.5s ease-in-out infinite; }
@keyframes glowPulse {
  0%,100% { text-shadow: 0 0 18px rgba(255,212,59,0.4); }
  50%     { text-shadow: 0 0 38px rgba(255,212,59,0.8), 0 0 60px rgba(255,178,99,0.3); }
}

/* ═══ SLIDE COUNTER ═══ */
.slide-counter {
  position: fixed; top: 1.2rem; right: 1.4rem; z-index: 60;
  font-family: var(--font-mono); font-size: 0.8rem; font-weight: 600;
  letter-spacing: 0.14em; color: var(--ink-dim);
  background: rgba(255,244,229,0.9); padding: 0.4rem 0.8rem;
  border-radius: var(--r-sm); border: 1px solid var(--hairline);
  backdrop-filter: blur(12px);
}

/* ═══ PERSISTENT BRAND LOGO ═══ */
.persistent-logo {
  position: fixed; top: 1rem; left: 1.4rem; z-index: 60;
  height: 28px; width: auto; pointer-events: none;
  opacity: 0.75;
}

/* ═══ COPYRIGHT FOOTER ═══ */
.copyright-footer {
  position: fixed; bottom: 0.8rem; left: 50%; transform: translateX(-50%);
  z-index: 60; pointer-events: none;
  font-family: var(--font-mono); font-size: 0.72rem; font-weight: 500;
  letter-spacing: 0.12em; color: var(--ink-dim);
  opacity: 0.7;
  white-space: nowrap;
}

/* ═══ LAYOUT SHELLS ═══ */
.title-slide {
  display: flex; flex-direction: column; justify-content: center; align-items: flex-start;
  height: 100%; padding: 5% 7%; gap: 1.5rem; position: relative; z-index: 2;
}
.title-slide.center-all { align-items: center; justify-content: center; text-align: center; }
.content-slide {
  display: flex; flex-direction: column; height: 100%; padding: 3.2% 4.5%;
  gap: 0.8rem; position: relative; z-index: 2;
}
.content-slide.center { justify-content: center; align-items: flex-start; }
.content-slide.compact-db { padding: 2.6% 4%; gap: 0.55rem; }

/* ═══ AUTO-ENTRANCE ANIMATIONS ═══ */
@keyframes entranceUp {
  from { opacity: 0; transform: translateY(28px); }
  to   { opacity: 1; transform: translateY(0); }
}
.entrance { opacity: 0; }
section.present .entrance {
  animation: entranceUp 0.65s cubic-bezier(0.22, 0.61, 0.36, 1) both;
}
section.present .e-1 { animation-delay: 0.05s; }
section.present .e-2 { animation-delay: 0.18s; }
section.present .e-3 { animation-delay: 0.32s; }
section.present .e-4 { animation-delay: 0.46s; }
section.present .e-5 { animation-delay: 0.60s; }
section.present .e-6 { animation-delay: 0.74s; }

/* ═══ BACKGROUNDS ═══ */
.bg-blob {
  position: absolute; border-radius: 50%; filter: blur(100px); opacity: 0.5;
  z-index: 0; pointer-events: none;
}
.blob-orange {
  width: 800px; height: 800px; top: -240px; right: -220px;
  background: radial-gradient(circle, rgba(255,178,99,0.8), rgba(255,178,99,0) 70%);
}
.blob-khaki {
  width: 660px; height: 660px; bottom: -240px; left: -180px;
  background: radial-gradient(circle, rgba(232,213,181,0.7), rgba(232,213,181,0) 70%);
}
.blob-orange.dark {
  background: radial-gradient(circle, rgba(255,122,26,0.5), rgba(255,122,26,0) 70%);
  opacity: 0.4;
}
.bg-grid {
  position: absolute; inset: 0;
  background-image:
    linear-gradient(rgba(31,26,20,0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(31,26,20,0.04) 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: radial-gradient(ellipse at center, black 30%, transparent 75%);
  -webkit-mask-image: radial-gradient(ellipse at center, black 30%, transparent 75%);
  z-index: 0; pointer-events: none;
}

/* ═══ SLIDE 1 · TITLE ═══ */
.brand-logo {
  height: 64px; width: auto; margin-bottom: 0.4rem;
  filter: drop-shadow(0 4px 18px rgba(255,122,26,0.18));
}
.brand-logo.center { margin: 0 auto 1rem; }
.eyebrow {
  font-size: 1.02rem; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase;
  color: var(--orange-deep); padding: 0.5rem 1.2rem;
  background: rgba(255,122,26,0.06); border: 1px solid rgba(255,122,26,0.2);
  border-radius: 100px;
}
.hero-title {
  font-family: var(--font-display); font-size: 5.8rem; font-weight: 600;
  line-height: 1.02; max-width: 20ch; letter-spacing: -0.03em;
}
.hero-title.center { max-width: 18ch; text-align: center; }
.hero-subtitle { font-size: 1.85rem; color: var(--ink-muted); max-width: 50ch; line-height: 1.45; }
.hero-subtitle.center { max-width: 50ch; }
.title-meta {
  display: flex; align-items: center; gap: 0.8rem; font-size: 1.3rem;
  color: var(--ink-dim); margin-top: 1rem; font-weight: 500;
}
.title-meta.center { justify-content: center; }
.author-name { font-family: var(--font-display); font-size: 1.7rem; font-weight: 600; color: var(--ink); }
.meta-dot { color: var(--orange); font-size: 1.5rem; }
.scroll-hint {
  margin-top: 1.6rem; display: inline-flex; align-items: center; gap: 0.7rem;
  font-size: 0.95rem; color: var(--ink-dim); font-family: var(--font-mono);
  text-transform: uppercase; letter-spacing: 0.12em;
}
.scroll-hint kbd {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 34px; height: 30px; padding: 0 8px;
  background: var(--yellow); border: 1px solid var(--orange);
  border-radius: var(--r-sm); font-family: var(--font-mono); font-size: 1.05rem;
  color: var(--ink); box-shadow: 0 2px 0 var(--orange-deep), 0 0 18px rgba(255,212,59,0.5);
}

/* ═══ COMMON SECTION HEADERS ═══ */
.section-label {
  font-size: 1rem; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--orange-deep); padding: 0.4rem 1rem;
  background: rgba(255,122,26,0.06); border: 1px solid rgba(255,122,26,0.18);
  border-radius: 100px; width: fit-content;
}
.section-title { font-size: 3.8rem; font-weight: 600; line-height: 1.12; max-width: 24ch; }
.section-title.compact { font-size: 3.4rem; line-height: 1.15; }
.big-title { font-size: 5rem; font-weight: 600; line-height: 1.05; max-width: 18ch; }
.part-marker {
  display: inline-flex; align-items: center; gap: 0.5rem;
  font-size: 1rem; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--orange-deep); padding: 0.55rem 1.3rem;
  border: 1.5px solid rgba(255,122,26,0.3); border-radius: 100px;
  background: rgba(255,122,26,0.06); width: fit-content;
  box-shadow: 0 4px 14px rgba(255,122,26,0.08);
}
.dark .part-marker {
  color: var(--yellow); background: rgba(255,212,59,0.08);
  border-color: rgba(255,212,59,0.3); box-shadow: 0 0 24px rgba(255,212,59,0.12);
}
.lead { font-size: 1.72rem; color: var(--ink-muted); max-width: 64ch; line-height: 1.5; }
.lead.muted { color: var(--ink-dim); font-style: italic; }
.sub-lead { font-size: 1.35rem; color: var(--ink-muted); max-width: 80ch; line-height: 1.45; }

/* ═══ SLIDE 2 · THESIS ═══ */
.strike { position: relative; color: var(--d-dim); }
.strike::after {
  content: ''; position: absolute; left: -2%; right: -2%; top: 52%;
  height: 8px; background: var(--orange); transform: rotate(-2deg);
  border-radius: 4px; box-shadow: 0 0 22px rgba(255,122,26,0.65);
}
.thesis-line { font-family: var(--font-display); font-size: 2.4rem; color: var(--d-muted); margin-top: 1rem; }
.thesis-stack { display: flex; align-items: center; gap: 1rem; margin: 0.8rem 0 0.4rem; flex-wrap: wrap; }
.thesis-pill {
  display: inline-flex; align-items: center; gap: 0.9rem;
  padding: 1rem 1.7rem; background: rgba(255,244,229,0.06);
  border: 1.5px solid var(--d-hairline); border-radius: 100px;
  font-family: var(--font-display); font-size: 2.9rem; font-weight: 600;
  color: var(--d-text); backdrop-filter: blur(8px);
  transition: all 0.5s cubic-bezier(0.22,0.61,0.36,1);
}
.thesis-pill.visible {
  border-color: rgba(255,212,59,0.3);
  box-shadow: 0 4px 24px rgba(255,212,59,0.1);
}
.pill-num {
  font-family: var(--font-mono); font-size: 1rem; font-weight: 500;
  color: var(--yellow); background: rgba(255,212,59,0.16);
  padding: 0.35rem 0.7rem; border-radius: var(--r-sm); letter-spacing: 0.05em;
}
.plus { font-family: var(--font-display); font-size: 2.6rem; color: var(--orange); font-weight: 500; }

/* ═══ SLIDE 3 · BUYER PATH (2-column) ═══ */
.s3-split {
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  gap: 2.5rem;
  flex: 1;
  align-items: center;
}
.s3-left {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}
.s3-right {
  display: flex;
  align-items: center;
}
.insight-strip-v {
  display: flex; flex-direction: column; gap: 0.6rem;
  padding: 1.2rem 1.4rem;
  background: linear-gradient(135deg, #2A1F15, #1A1410);
  border-radius: var(--r-md); box-shadow: 0 12px 40px rgba(0,0,0,0.3);
}
.insight-strip-v p { color: var(--d-muted); font-size: 1.22rem; line-height: 1.4; }
.insight-strip-v strong { color: var(--yellow); }
.path-slide {
  background: linear-gradient(170deg, transparent 0%, rgba(255,218,160,0.18) 100%);
}
.buyer-path {
  position: relative;
  padding-left: 76px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.buyer-path::before {
  content: '';
  position: absolute;
  left: 23px;
  top: 32px;
  bottom: 32px;
  width: 4px;
  background: linear-gradient(180deg, var(--khaki-light), var(--orange-soft) 50%, var(--orange-deep));
  border-radius: 3px;
  opacity: 0.6;
}
.bp-step {
  position: relative;
  padding: 0.65rem 1.4rem 0.65rem 0;
}
.bp-step + .bp-step {
  border-top: 1px dashed rgba(31,26,20,0.12);
}
.bp-num {
  position: absolute;
  left: -76px;
  top: 50%;
  transform: translateY(-50%);
  width: 46px;
  height: 46px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  border: 3px solid var(--khaki);
  border-radius: 50%;
  font-family: var(--font-mono);
  font-size: 0.88rem;
  font-weight: 700;
  color: var(--orange-deep);
  box-shadow: 0 4px 14px rgba(212,184,150,0.35);
  z-index: 2;
  transition: all 0.35s ease;
}
.bp-step:nth-child(2) .bp-num { border-color: var(--orange-soft); }
.bp-step:nth-child(3) .bp-num { border-color: var(--orange); }
.bp-step:nth-child(4) .bp-num { border-color: var(--orange-deep); }
.bp-num-final {
  background: var(--grad-warm-strong) !important;
  border: none !important;
  color: #fff !important;
  box-shadow: 0 4px 18px rgba(255,122,26,0.4), 0 0 28px rgba(255,212,59,0.2) !important;
  width: 52px !important;
  height: 52px !important;
  font-size: 0.95rem !important;
}
.bp-body h4 {
  font-family: var(--font-display);
  font-size: 1.85rem;
  font-weight: 600;
  line-height: 1.15;
  margin-bottom: 0.1rem;
}
.bp-final .bp-body h4 {
  color: var(--orange-deep);
}
.bp-body p {
  font-size: 1.38rem;
  color: var(--ink-muted);
  line-height: 1.35;
}
.bp-step:hover .bp-num {
  transform: translateY(-50%) scale(1.12);
  box-shadow: 0 6px 20px rgba(255,122,26,0.35);
}

/* Sweet-spot closer (slide 5) */
.sweet-closer {
  font-family: var(--font-display);
  font-size: 2.1rem;
  color: var(--ink-2);
  line-height: 1.35;
  margin-top: 0.8rem;
  max-width: 72ch;
}
.sweet-closer em {
  color: var(--orange-deep);
}
.dark .sweet-closer { color: var(--d-muted); }
.dark .sweet-closer em { color: var(--yellow-glow); }
.sweet-spot-glow {
  position: relative;
  display: inline-block;
}
.sweet-spot-glow::after {
  content: '';
  position: absolute;
  inset: -6px -10px;
  background: radial-gradient(ellipse, rgba(255,178,99,0.35), transparent 70%);
  border-radius: 12px;
  animation: glowPulse-bg 2.5s ease-in-out infinite;
  z-index: -1;
  pointer-events: none;
}
@keyframes glowPulse-bg {
  0%,100% { opacity: 0.4; transform: scale(1); }
  50%     { opacity: 1; transform: scale(1.08); }
}

.content-slide.compact-path { padding: 2% 4.5%; gap: 0.35rem; }

.insight-strip {
  display: flex; gap: 1rem; align-items: center;
  padding: 1.1rem 1.6rem;
  background: linear-gradient(135deg, #2A1F15, #1A1410);
  border-radius: var(--r-md); box-shadow: 0 16px 48px rgba(0,0,0,0.35);
}
.insight-strip p { color: var(--d-muted); font-size: 1.25rem; line-height: 1.35; }
.insight-strip strong { color: var(--yellow); }
.insight-tag {
  font-family: var(--font-mono); font-size: 0.82rem; font-weight: 600;
  letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--yellow); padding: 0.45rem 0.8rem;
  background: rgba(255,212,59,0.14); border-radius: var(--r-sm); flex-shrink: 0;
}

/* ═══ SLIDE 4 · THREE MOTIONS ═══ */
.motion-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.motion-card {
  background: #fff; border: 1px solid var(--hairline); border-radius: var(--r-lg);
  padding: 1.5rem 1.3rem; display: flex; flex-direction: column;
  box-shadow: var(--shadow-sm); position: relative; overflow: hidden;
  transition: all 0.35s cubic-bezier(0.22,0.61,0.36,1);
}
.motion-card::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 5px;
  transform: scaleX(0); transform-origin: left; transition: transform 0.6s 0.3s ease;
}
.motion-card.visible::before { transform: scaleX(1); }
.motion-card.mc-create::before { background: linear-gradient(90deg, var(--khaki), var(--khaki-deep)); }
.motion-card.mc-identify::before { background: linear-gradient(90deg, var(--orange-soft), var(--orange)); }
.motion-card.mc-capture::before { background: linear-gradient(90deg, var(--berry), #E8357A); }
.motion-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-lg); }
.motion-num { font-family: var(--font-mono); font-size: 0.92rem; font-weight: 600; letter-spacing: 0.08em; margin-bottom: 0.4rem; }
.mc-create .motion-num { color: var(--khaki-deep); }
.mc-identify .motion-num { color: var(--orange-deep); }
.mc-capture .motion-num { color: var(--berry); }
.motion-card h3 { font-size: 2.1rem; font-weight: 600; margin-bottom: 0.5rem; line-height: 1.1; }
.motion-card h3 em { color: var(--orange-deep); }
.mc-create h3 em { color: var(--khaki-deep); }
.mc-capture h3 em { color: var(--berry); }
.motion-card > p { font-size: 1.32rem; line-height: 1.4; color: var(--ink-muted); flex: 1; }
.motion-card > p em { color: var(--ink); }
.motion-foot {
  margin-top: 0.8rem; padding-top: 0.7rem; border-top: 1px solid var(--hairline);
  font-size: 1.02rem; color: var(--ink-2); display: flex; gap: 0.5rem; align-items: baseline;
}
.mf-label { font-family: var(--font-mono); font-size: 0.75rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ink-dim); }

/* AHA CARD */
.aha-card {
  display: grid; grid-template-columns: 56px 1fr; gap: 1.2rem; align-items: flex-start;
  padding: 1.3rem 1.5rem;
  background: linear-gradient(135deg, #FFE8C9, #FFD9A8 60%, #FFC589);
  border: 1.5px solid rgba(255,122,26,0.3); border-radius: var(--r-lg);
  box-shadow: var(--shadow-glow-o);
}
.aha-mark {
  width: 48px; height: 48px; background: var(--grad-warm-strong); color: #fff;
  border-radius: 13px; display: flex; align-items: center; justify-content: center;
  font-size: 1.5rem; box-shadow: 0 4px 16px rgba(255,122,26,0.35);
}
.aha-label {
  font-family: var(--font-mono); font-size: 0.85rem; font-weight: 600;
  letter-spacing: 0.12em; text-transform: uppercase; color: var(--orange-deep);
}
.aha-title { font-size: 1.8rem; font-weight: 600; margin-bottom: 0.3rem; line-height: 1.15; }
.aha-card p { font-size: 1.3rem; color: var(--ink-2); line-height: 1.4; }
.aha-card p strong { color: var(--ink); font-weight: 600; }

/* ═══ SLIDE 5 · FOUR MOVES (dark) ═══ */
.moves-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
.move-card {
  background: rgba(255,244,229,0.04); border: 1.5px solid var(--d-hairline);
  border-radius: var(--r-lg); padding: 1.3rem 1.4rem;
  backdrop-filter: blur(8px); display: grid; grid-template-columns: 50px 1fr;
  gap: 0.9rem; align-items: flex-start;
  transition: all 0.35s cubic-bezier(0.22,0.61,0.36,1);
}
.move-card:hover {
  background: rgba(255,212,59,0.07); border-color: rgba(255,212,59,0.35);
  transform: translateY(-4px); box-shadow: var(--shadow-glow-y);
}
.move-icon {
  width: 46px; height: 46px; display: flex; align-items: center; justify-content: center;
  background: rgba(255,212,59,0.12); border: 1px solid rgba(255,212,59,0.25);
  border-radius: 12px; color: var(--yellow);
  transition: transform 0.5s cubic-bezier(0.22,0.61,0.36,1);
}
.move-card.visible .move-icon { transform: rotate(360deg); }
.move-icon svg { width: 24px; height: 24px; }
.move-card.move-2 .move-icon { background: rgba(255,178,99,0.14); border-color: rgba(255,178,99,0.3); color: var(--orange-soft); }
.move-card.move-3 .move-icon { background: rgba(212,184,150,0.12); border-color: rgba(212,184,150,0.3); color: var(--khaki); }
.move-card.move-4 .move-icon { background: rgba(255,122,26,0.14); border-color: rgba(255,122,26,0.32); color: var(--orange); }
.move-content { display: flex; flex-direction: column; gap: 0.25rem; }
.move-num { font-family: var(--font-mono); font-size: 0.88rem; font-weight: 600; color: var(--yellow); letter-spacing: 0.08em; }
.move-card h4 { font-size: 1.62rem; font-weight: 600; color: var(--d-text); line-height: 1.15; }
.move-card p { font-size: 1.38rem; color: var(--d-muted); line-height: 1.45; margin-top: 0.2rem; }
.move-card p strong { color: var(--yellow); font-weight: 600; }

/* ═══ SLIDE 6 · MONTHLY BUDGET ═══ */
.month-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.month-col {
  background: #fff; border: 1px solid var(--hairline); border-radius: var(--r-lg);
  padding: 1rem 1.1rem; box-shadow: var(--shadow-sm); position: relative; overflow: hidden;
  transition: all 0.35s ease;
}
.month-col:hover { transform: translateY(-3px); box-shadow: var(--shadow-md); }
.month-col::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 5px; }
.month-1::before { background: linear-gradient(90deg, var(--khaki), var(--orange-soft)); }
.month-2::before { background: linear-gradient(90deg, var(--orange-soft), var(--orange)); }
.month-3::before { background: linear-gradient(90deg, var(--orange), var(--orange-deep)); }
.month-3 { background: linear-gradient(180deg, #fff, #FFF1CC); border-color: rgba(255,212,59,0.4); box-shadow: var(--shadow-glow-y); }
.month-head {
  display: flex; flex-direction: column; gap: 0.1rem;
  padding-bottom: 0.6rem; margin-bottom: 0.5rem; border-bottom: 1px solid var(--hairline);
}
.month-tag { font-family: var(--font-mono); font-size: 0.88rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ink-dim); }
.month-total { font-family: var(--font-display); font-size: 2.8rem; font-weight: 600; color: var(--orange-deep); line-height: 1; }
.month-1 .month-total { color: var(--khaki-deep); }
.month-2 .month-total { color: var(--orange); }
.month-theme { font-size: 1.02rem; font-style: italic; color: var(--ink-2); }
.month-rows { display: flex; flex-direction: column; gap: 0.15rem; }
.mc-row { display: grid; grid-template-columns: 48px 1fr auto; gap: 0.5rem; align-items: center; padding: 0.35rem 0; font-size: 1.02rem; }
.mc-row.mc-abm { border-top: 1px dashed var(--hairline); padding-top: 0.45rem; margin-top: 0.15rem; }
.mc-stage { font-family: var(--font-mono); font-size: 0.68rem; font-weight: 700; padding: 0.2rem 0.38rem; border-radius: 5px; text-align: center; }
.mc-stage.tof { background: rgba(212,184,150,0.4); color: #6B5223; }
.mc-stage.mof { background: rgba(255,122,26,0.18); color: var(--orange-deep); }
.mc-stage.bof { background: rgba(194,24,91,0.16); color: var(--berry); }
.mc-stage.abm { background: rgba(255,212,59,0.4); color: #7A5500; }
.mc-ch { color: var(--ink); font-weight: 500; }
.mc-amt { font-family: var(--font-mono); font-weight: 600; color: var(--ink); font-size: 1.02rem; }

/* Stage bar — with growth animation */
.stage-bar-wrap { margin-top: 0.4rem; }
.stage-bar-label { font-family: var(--font-mono); font-size: 0.88rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ink-dim); margin-bottom: 0.4rem; }
.stage-bar {
  display: flex; height: 50px; border-radius: 12px; overflow: hidden; box-shadow: var(--shadow-md);
  transform: scaleX(0); transform-origin: left;
  transition: transform 0.8s cubic-bezier(0.22,0.61,0.36,1);
}
.stage-bar.bar-animate { transform: scaleX(1); }
.sb-seg { display: flex; flex-direction: column; justify-content: center; align-items: center; padding: 0.3rem 0.4rem; text-align: center; color: #fff; }
.sb-tof { background: linear-gradient(135deg, var(--khaki), var(--khaki-deep)); }
.sb-mof { background: linear-gradient(135deg, var(--orange-soft), var(--orange)); }
.sb-bof { background: linear-gradient(135deg, var(--orange), var(--orange-deep)); }
.sb-abm { background: linear-gradient(135deg, var(--yellow), #FFA800); color: var(--ink); }
.sb-name { font-family: var(--font-mono); font-size: 0.88rem; font-weight: 700; letter-spacing: 0.1em; }
.sb-val { font-family: var(--font-display); font-size: 0.95rem; font-weight: 600; }

/* ═══ SLIDE 7 · PIPELINE MATH (dark) ═══ */
.pipemath-wrap { display: grid; grid-template-columns: 1.35fr 1fr; gap: 1.1rem; }
.pipe-funnel { display: flex; flex-direction: column; align-items: center; gap: 0.06rem; }
.pf-stage {
  background: rgba(255,244,229,0.04); border: 1.5px solid var(--d-hairline);
  border-radius: 10px; padding: 0.5rem 1.1rem;
  display: grid; grid-template-columns: 130px 1fr; gap: 0.9rem; align-items: center;
  width: 100%; transition: all 0.3s ease;
}
.pf-stage:hover { border-color: rgba(255,212,59,0.35); background: rgba(255,212,59,0.06); }
.pf-1 { width: 100%; } .pf-2 { width: 92%; } .pf-3 { width: 84%; } .pf-4 { width: 76%; }
.pf-5 { width: 84%; background: rgba(255,122,26,0.08); border-color: rgba(255,122,26,0.3); }
.pf-final { width: 76%; background: rgba(255,212,59,0.12); border-color: rgba(255,212,59,0.45); box-shadow: var(--shadow-glow-y); }
.pf-num { font-family: var(--font-display); font-size: 1.9rem; font-weight: 600; line-height: 1; }
.pf-num.accent { color: var(--yellow-glow); -webkit-text-fill-color: var(--yellow-glow); background: none; text-shadow: 0 0 22px rgba(255,212,59,0.5); }
.pf-side { display: flex; flex-direction: column; gap: 0.05rem; }
.pf-label { font-size: 1.08rem; font-weight: 600; color: var(--d-text); }
.pf-detail { font-family: var(--font-mono); font-size: 0.82rem; color: var(--d-dim); }
.pf-arrow { font-size: 0.85rem; color: var(--orange); line-height: 0.3; }

.pipemath-side { display: flex; flex-direction: column; gap: 0.7rem; }
.ramp-card, .assumption-card { background: rgba(255,244,229,0.04); border: 1.5px solid var(--d-hairline); border-radius: 12px; padding: 0.9rem 1rem; }
.ramp-card h4, .assumption-card h4 { color: var(--yellow); font-size: 1.2rem; font-weight: 600; margin-bottom: 0.35rem; }
.ramp-table { display: flex; flex-direction: column; }
.ramp-head, .ramp-row { display: grid; grid-template-columns: 42px repeat(3, 1fr); gap: 0.4rem; padding: 0.32rem 0; align-items: center; font-size: 0.95rem; }
.ramp-head { font-family: var(--font-mono); font-size: 0.75rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--d-dim); border-bottom: 1px solid var(--d-hairline); }
.ramp-row { border-top: 1px solid var(--d-hairline); color: var(--d-muted); font-family: var(--font-mono); }
.ramp-row.ramp-peak { background: rgba(255,212,59,0.08); color: var(--d-text); }
.ramp-month { font-weight: 700; color: var(--yellow); }
.assump-list { display: flex; flex-direction: column; gap: 0.1rem; }
.assump-row { display: flex; justify-content: space-between; padding: 0.35rem 0; border-top: 1px solid var(--d-hairline); }
.assump-row:first-of-type { border-top: 0; }
.ak { font-family: var(--font-mono); font-size: 0.88rem; color: var(--d-muted); }
.av { font-family: var(--font-display); font-size: 1.25rem; font-weight: 600; color: var(--yellow); }
.footnote-big { font-size: 1.3rem; color: var(--d-muted); max-width: 80ch; line-height: 1.45; }
.footnote-big strong { color: var(--yellow); font-weight: 600; }

/* ═══ SLIDE 8 · SPEED TO SIGNAL ═══ */
.speed-track { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.speed-col {
  background: #fff; border: 1px solid var(--hairline); border-radius: var(--r-md);
  padding: 1.1rem 1.2rem; box-shadow: var(--shadow-sm);
  transition: all 0.35s ease;
}
.speed-col:hover { transform: translateY(-3px); box-shadow: var(--shadow-md); }
.speed-col.speed-early { border-top: 5px solid var(--khaki); }
.speed-col.speed-mid { border-top: 5px solid var(--orange); background: linear-gradient(180deg, #fff, #FFF6E0); }
.speed-head { margin-bottom: 0.4rem; }
.speed-week-tag {
  display: inline-block; font-family: var(--font-mono); font-size: 0.88rem; font-weight: 600;
  padding: 0.28rem 0.6rem; background: rgba(212,184,150,0.3); color: #6B5223; border-radius: 6px; margin-bottom: 0.3rem;
}
.speed-col.speed-mid .speed-week-tag { background: rgba(255,122,26,0.15); color: var(--orange-deep); }
.speed-col h3 { font-size: 1.62rem; font-weight: 600; }
.speed-list { list-style: none; padding: 0; margin: 0.3rem 0 0; display: flex; flex-direction: column; gap: 0.32rem; }
.speed-list li { font-size: 1.25rem; color: var(--ink-muted); padding-left: 1.3rem; position: relative; line-height: 1.3; }
.speed-list li::before { content: '→'; position: absolute; left: 0; color: var(--orange); font-weight: 700; }
.speed-col.speed-early .speed-list li::before { color: var(--khaki-deep); }

/* Decision section */
.decision-section { display: flex; flex-direction: column; gap: 0.7rem; }
.decision-intro {
  font-size: 1.25rem !important; color: var(--ink-2) !important; line-height: 1.45;
  padding: 0.9rem 1.4rem;
  background: linear-gradient(135deg, #FFF6E0, #FFE8C9);
  border-left: 4px solid var(--orange); border-radius: 0 var(--r-md) var(--r-md) 0;
  box-shadow: var(--shadow-sm);
}
.decision-intro strong { color: var(--orange-deep); font-weight: 700; font-family: var(--font-mono); letter-spacing: 0.03em; }
.decision-row.tri { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.8rem; }
.d-card {
  border-radius: var(--r-md); padding: 1rem 1.1rem; border: 1.5px solid var(--hairline);
  background: #fff; transition: all 0.35s ease;
}
.d-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-md); }
.d-card.d-scale { border-color: rgba(31,157,122,0.3); background: linear-gradient(180deg, #fff, #ECF9F2); }
.d-card.d-optimize { border-color: rgba(255,212,59,0.4); background: linear-gradient(180deg, #fff, #FFF8E0); }
.d-card.d-kill { border-color: rgba(194,24,91,0.25); background: linear-gradient(180deg, #fff, #FFF0EE); }
.d-icon { font-size: 1.6rem; line-height: 1; margin-bottom: 0.3rem; }
.d-scale .d-icon { color: var(--mint); }
.d-optimize .d-icon { color: var(--orange); }
.d-kill .d-icon { color: var(--berry); }
.d-label { font-family: var(--font-display); font-size: 1.62rem; font-weight: 600; margin-bottom: 0.2rem; }
.d-scale .d-label { color: var(--mint); }
.d-optimize .d-label { color: var(--orange-deep); }
.d-kill .d-label { color: var(--berry); }
.d-sub { font-size: 1rem !important; font-style: italic; color: var(--ink-muted) !important; margin-bottom: 0.5rem; }
.d-card ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 0.3rem; }
.d-card ul li { font-size: 1.25rem; color: var(--ink-2); padding-left: 1.1rem; position: relative; line-height: 1.4; }
.d-scale ul li::before { content: '+'; position: absolute; left: 0; color: var(--mint); font-weight: 700; }
.d-optimize ul li::before { content: '·'; position: absolute; left: 0.2rem; color: var(--orange-deep); font-weight: 700; font-size: 1.3rem; }
.d-kill ul li::before { content: '−'; position: absolute; left: 0; color: var(--berry); font-weight: 700; }

/* ═══ SLIDE 9 · DASHBOARD ═══ */
.dashboard {
  background: #fff; border: 1.5px solid var(--hairline-strong);
  border-radius: 12px; box-shadow: var(--shadow-lg); overflow: hidden;
  display: flex; flex-direction: column;
  transition: all 0.6s cubic-bezier(0.22,0.61,0.36,1);
}
/* Boot-up effect */
.dashboard.booting { animation: dashBoot 0.5s ease both; }
@keyframes dashBoot {
  from { transform: scale(0.96); opacity: 0.7; }
  to   { transform: scale(1);    opacity: 1; }
}
.dashboard .db-body { transition: opacity 0.4s 0.3s ease; }
.dashboard.booting .db-body { opacity: 0; }
.dashboard.booted .db-body { opacity: 1; }

.db-topbar {
  display: flex; align-items: center; gap: 0.8rem; padding: 0.4rem 0.9rem;
  background: linear-gradient(180deg, #F7EDD8, #F0E2C2);
  border-bottom: 1px solid var(--hairline);
}
.db-controls { display: flex; gap: 0.3rem; }
.db-dot { width: 10px; height: 10px; border-radius: 50%; transition: transform 0.3s ease; }
.db-dot.r { background: #FF5F57; }
.db-dot.y { background: #FFBD2E; }
.db-dot.g { background: #28C840; }
/* Dots light up on boot */
.dashboard.booting .db-dot { transform: scale(0); }
.dashboard.booting .db-dot.r { animation: dotPop 0.3s 0.1s ease both; }
.dashboard.booting .db-dot.y { animation: dotPop 0.3s 0.2s ease both; }
.dashboard.booting .db-dot.g { animation: dotPop 0.3s 0.3s ease both; }
@keyframes dotPop {
  from { transform: scale(0); }
  to   { transform: scale(1); }
}

.db-name { font-family: var(--font-mono); font-size: 0.85rem; color: var(--ink-2); font-weight: 500; flex: 1; text-align: center; }
.db-filters { display: flex; gap: 0.3rem; }
.db-filter { font-family: var(--font-mono); font-size: 0.72rem; font-weight: 600; padding: 0.18rem 0.48rem; border-radius: 5px; background: rgba(31,26,20,0.06); color: var(--ink-muted); }
.db-filter.active { background: var(--orange); color: #fff; }
.db-body { padding: 0.55rem 0.7rem; display: flex; flex-direction: column; gap: 0.45rem; }
.db-kpi-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.45rem; }
.db-kpi { background: #FFF8EC; border: 1px solid var(--hairline); border-radius: 9px; padding: 0.45rem 0.65rem; display: flex; flex-direction: column; gap: 0.05rem; }
.db-kpi.accent-kpi { background: linear-gradient(135deg, #FFE8C9, #FFD9A8); border-color: rgba(255,122,26,0.35); }
.db-kpi-label { font-family: var(--font-mono); font-size: 0.68rem; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--ink-dim); }
.db-kpi-val { font-family: var(--font-display); font-size: 1.6rem; font-weight: 600; color: var(--ink); line-height: 1; }
.db-kpi-trend { font-family: var(--font-mono); font-size: 0.68rem; color: var(--mint); }
.db-mid { display: grid; grid-template-columns: 1.5fr 1fr; gap: 0.45rem; }
.db-table-card, .db-chart-card { background: #FFFBF2; border: 1px solid var(--hairline); border-radius: 9px; padding: 0.55rem 0.65rem; }
.db-card-head { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 0.25rem; }
.db-card-head h5 { font-size: 0.92rem; font-weight: 600; color: var(--ink); }
.db-legend { font-family: var(--font-mono); font-size: 0.68rem; color: var(--ink-muted); display: inline-flex; gap: 0.5rem; align-items: center; }
.lg-d { display: inline-block; width: 8px; height: 8px; border-radius: 2px; margin-right: 0.12rem; }
.lg-d.sql { background: var(--khaki); }
.lg-d.pipe { background: var(--orange); }
.db-chart { width: 100%; height: auto; display: block; }

.acct-table { display: flex; flex-direction: column; }
.acct-row { display: grid; grid-template-columns: 1.3fr 0.6fr 0.45fr 1.2fr 0.6fr; gap: 0.35rem; align-items: center; padding: 0.3rem 0.15rem; font-size: 0.85rem; border-top: 1px solid var(--hairline); color: var(--ink-2); }
.acct-row.acct-head { border-top: 0; font-family: var(--font-mono); font-size: 0.65rem; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--ink-dim); padding-bottom: 0.3rem; border-bottom: 1px solid var(--hairline); }
.stage-pill { display: inline-block; font-family: var(--font-mono); font-size: 0.65rem; font-weight: 700; padding: 0.12rem 0.4rem; border-radius: 4px; }
.stage-pill.opp { background: rgba(31,157,122,0.18); color: var(--mint); }
.stage-pill.sql { background: rgba(255,122,26,0.18); color: var(--orange-deep); }
.ch-pill { display: inline-block; font-family: var(--font-mono); font-size: 0.62rem; padding: 0.12rem 0.32rem; background: rgba(31,26,20,0.05); border-radius: 3px; color: var(--ink-2); margin-right: 0.08rem; }
.acct-amt { font-family: var(--font-mono); font-weight: 600; color: var(--ink); text-align: right; }

/* Signal quality section */
.signal-section { display: flex; flex-direction: column; gap: 0.5rem; }
.signal-header { margin-bottom: 0.1rem; }
.signal-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.7rem; }
.signal-card { border-radius: var(--r-md); padding: 0.8rem 1rem; transition: all 0.35s ease; }
.signal-card:hover { transform: translateY(-2px); }
.signal-card.signal-trust { background: linear-gradient(135deg, #ECF9F2, #D9F2E6); border: 1.5px solid rgba(31,157,122,0.3); box-shadow: 0 4px 16px rgba(31,157,122,0.08); }
.signal-card.signal-trust:hover { box-shadow: 0 8px 24px rgba(31,157,122,0.15); }
.signal-card.signal-distrust { background: linear-gradient(135deg, #FFF0EE, #FCE8E0); border: 1.5px solid rgba(194,24,91,0.2); box-shadow: 0 4px 16px rgba(194,24,91,0.06); }
.signal-card.signal-distrust:hover { box-shadow: 0 8px 24px rgba(194,24,91,0.12); }
.signal-badge {
  display: inline-flex; align-items: center; gap: 0.4rem;
  font-family: var(--font-mono); font-size: 0.82rem; font-weight: 700;
  letter-spacing: 0.1em; text-transform: uppercase;
  padding: 0.35rem 0.75rem; border-radius: 6px; margin-bottom: 0.5rem;
}
.signal-badge.good { background: var(--mint); color: #fff; box-shadow: 0 2px 8px rgba(31,157,122,0.3); }
.signal-badge.bad { background: var(--berry); color: #fff; box-shadow: 0 2px 8px rgba(194,24,91,0.2); }
.signal-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 0.28rem; }
.signal-list li { font-size: 1.25rem; color: var(--ink-2); padding-left: 1.1rem; position: relative; line-height: 1.4; }
.signal-trust .signal-list li::before { content: '✓'; position: absolute; left: 0; color: var(--mint); font-weight: 700; font-size: 0.88rem; }
.signal-distrust .signal-list li::before { content: '✕'; position: absolute; left: 0; color: var(--berry); font-weight: 700; font-size: 0.82rem; }

/* ═══ SLIDE 10 · SKIP ═══ */
.no-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; margin-top: 0.4rem; }
.no-card {
  background: #fff; border: 2px solid var(--hairline); border-radius: var(--r-xl);
  padding: 1.8rem 1.6rem; box-shadow: var(--shadow-sm);
  transition: all 0.35s cubic-bezier(0.22,0.61,0.36,1);
}
.no-card.no-1 { background: linear-gradient(135deg, #fff, #FCE8E0); border-color: rgba(194,24,91,0.25); }
.no-card.no-2 { background: linear-gradient(135deg, #fff, #F1E0CF); border-color: rgba(184,154,114,0.4); }
.no-card:hover { transform: translateY(-6px); box-shadow: 0 24px 64px rgba(31,26,20,0.14); }
.no-badge {
  display: inline-flex; align-items: center; justify-content: center;
  padding: 0.45rem 1rem; font-family: var(--font-mono); font-size: 0.92rem;
  font-weight: 700; letter-spacing: 0.2em; color: #fff;
  background: var(--grad-warm-strong); border-radius: var(--r-sm);
  margin-bottom: 0.9rem; box-shadow: 0 3px 14px rgba(229,90,0,0.3);
  transition: transform 0.4s cubic-bezier(0.22,0.61,0.36,1);
}
/* Stamp-in animation */
.stamp-in { transform: scale(2.5) rotate(-15deg); opacity: 0; }
.stamp-in.stamped { transform: scale(1) rotate(0deg); opacity: 1; }
.no-card h3 { font-size: 1.92rem; font-weight: 600; margin-bottom: 0.6rem; line-height: 1.15; }
.no-card p { font-size: 1.38rem; color: var(--ink-muted); line-height: 1.4; }

/* ═══ SLIDE 11 · RISKS & ASSUMPTIONS (final two-column with test reveals) ═══ */
.ra-split-final {
  display: grid; grid-template-columns: 1fr 1.15fr; gap: 1.5rem;
  flex: 1; align-items: stretch;
}
.ra-col-risks, .ra-col-assumps {
  display: flex; flex-direction: column; gap: 0.7rem;
}
.ra-col-head {
  display: flex; align-items: center; gap: 0.6rem;
  padding: 0.55rem 1rem; border-radius: 100px; width: fit-content;
  font-family: var(--font-mono); font-size: 0.95rem; font-weight: 700;
  letter-spacing: 0.12em; text-transform: uppercase;
  margin-bottom: 0.3rem;
}
.ra-head-risks { background: rgba(194,24,91,0.18); color: #FF8AB5; border: 1px solid rgba(194,24,91,0.35); }
.ra-head-assumps { background: rgba(255,212,59,0.18); color: var(--yellow); border: 1px solid rgba(255,212,59,0.35); }
.ra-col-icon { font-size: 1.05rem; }

.ra-card-final {
  display: grid; grid-template-columns: 48px 1fr; gap: 0.9rem;
  padding: 1rem 1.2rem; border-radius: var(--r-md);
  background: rgba(255,244,229,0.04); border: 1px solid var(--d-hairline);
  transition: all 0.3s ease; flex: 1;
}
.ra-card-final:hover {
  background: rgba(255,244,229,0.07);
  transform: translateY(-1px);
  box-shadow: 0 6px 20px rgba(0,0,0,0.25);
}
.ra-risk { border-left: 3px solid rgba(194,24,91,0.6); }
.ra-assume { border-left: 3px solid rgba(255,212,59,0.5); }

.ra-num-final {
  font-family: var(--font-mono); font-size: 1rem; font-weight: 700;
  text-align: center; padding: 0.35rem 0; border-radius: 8px;
  background: rgba(194,24,91,0.15); color: #FF8AB5;
  height: fit-content; letter-spacing: 0.05em;
}
.ra-num-final.ra-num-a {
  background: rgba(255,212,59,0.18); color: var(--yellow);
}
.ra-card-final h4 {
  font-family: var(--font-sans); font-size: 1.4rem; font-weight: 700;
  color: var(--d-text); line-height: 1.25; margin-bottom: 0.3rem;
}
.ra-card-final p {
  font-size: 1.18rem; color: var(--d-muted); line-height: 1.4;
}
.ra-assume-body { display: flex; flex-direction: column; }
.ra-test-final {
  display: flex; gap: 0.7rem; align-items: baseline;
  margin-top: 0.6rem; padding: 0.6rem 0.8rem;
  background: rgba(255,212,59,0.08); border-left: 3px solid var(--yellow);
  border-radius: 6px;
}
.ra-test-tag-final {
  font-family: var(--font-mono); font-size: 0.78rem; font-weight: 700;
  letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--yellow); flex-shrink: 0;
  padding: 0.15rem 0.45rem; background: rgba(255,212,59,0.2);
  border-radius: 4px;
}
.ra-test-final > span:last-child {
  font-size: 1.1rem; color: var(--d-muted); line-height: 1.4;
}

/* Legacy pair styles (unused but kept) */
.ra-pairs { display: flex; flex-direction: column; gap: 0.9rem; flex: 1; justify-content: center; }
.ra-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 0; border-radius: var(--r-lg); overflow: hidden; border: 1.5px solid var(--d-hairline); transition: all 0.35s ease; }
.ra-risk-side, .ra-test-side { padding: 1.1rem 1.4rem; display: flex; flex-direction: column; gap: 0.35rem; }
.ra-risk-side { background: rgba(194,24,91,0.06); border-right: 1px solid var(--d-hairline); }
.ra-test-side { background: rgba(255,212,59,0.04); }
.ra-badge { display: inline-flex; width: fit-content; font-family: var(--font-mono); font-size: 0.78rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; padding: 0.3rem 0.7rem; border-radius: 6px; margin-bottom: 0.2rem; }
.ra-badge-risk { background: rgba(194,24,91,0.7); color: #fff; }
.ra-badge-test { background: rgba(255,212,59,0.8); color: var(--ink); }

/* Keep old classes for backward compat but hide */
.ra-split { display: grid; grid-template-columns: 1fr 1fr; gap: 1.1rem; }
.ra-side { display: flex; flex-direction: column; gap: 0.6rem; }
.ra-side-head {
  font-family: var(--font-mono); font-size: 0.92rem; font-weight: 600;
  letter-spacing: 0.14em; text-transform: uppercase; padding: 0.42rem 0.9rem;
  border-radius: var(--r-sm); width: fit-content;
}
.ra-side-head.risks { color: #fff; background: var(--berry); box-shadow: 0 2px 10px rgba(194,24,91,0.2); }
.ra-side-head.assumps { color: var(--ink); background: var(--yellow); box-shadow: 0 2px 10px rgba(255,212,59,0.25); }
.ra-card {
  background: #fff; border: 1px solid var(--hairline); border-radius: var(--r-md);
  padding: 0.85rem 1.05rem; display: grid; grid-template-columns: 44px 1fr;
  gap: 0.75rem; align-items: flex-start; box-shadow: var(--shadow-sm);
  transition: all 0.35s ease;
}
.ra-card:hover { transform: translateY(-2px); box-shadow: var(--shadow-md); }
.ra-card.risk { background: linear-gradient(135deg, #fff, #FCE8E0); border-color: rgba(194,24,91,0.2); }
.ra-card.test { background: linear-gradient(135deg, #fff, #FFF6CC); border-color: rgba(255,212,59,0.35); }
.ra-num { font-family: var(--font-mono); font-size: 0.92rem; font-weight: 700; text-align: center; padding: 0.32rem 0; border-radius: 7px; }
.ra-card.risk .ra-num { color: var(--berry); background: rgba(194,24,91,0.12); }
.ra-card.test .ra-num { color: var(--orange-deep); background: rgba(255,212,59,0.4); }
.ra-card h4 { font-size: 1.3rem; font-weight: 600; margin-bottom: 0.15rem; line-height: 1.2; }
.ra-card p { font-size: 1.15rem; color: var(--ink-muted); line-height: 1.32; }
.ra-test {
  grid-column: 1 / -1; font-size: 1.02rem; color: var(--ink-2); line-height: 1.32;
  padding: 0.45rem 0.7rem; background: rgba(255,212,59,0.15);
  border-radius: 7px; border-left: 3px solid var(--yellow); margin-top: 0.15rem;
}
.tk {
  font-family: var(--font-mono); font-size: 0.72rem; font-weight: 700;
  letter-spacing: 0.12em; text-transform: uppercase; color: var(--orange-deep);
  padding: 0.15rem 0.4rem; background: rgba(255,212,59,0.45);
  border-radius: 4px; margin-right: 0.35rem;
}

/* ─── Slide 11 dark-mode overrides ─── */
.dark .ra-side-head.risks { background: rgba(194,24,91,0.75); box-shadow: 0 2px 14px rgba(194,24,91,0.4); }
.dark .ra-side-head.assumps { background: rgba(255,212,59,0.85); color: var(--ink); box-shadow: 0 2px 14px rgba(255,212,59,0.35); }
.dark .ra-card {
  background: rgba(255,244,229,0.04); border-color: var(--d-hairline);
  box-shadow: none;
}
.dark .ra-card:hover { background: rgba(255,244,229,0.07); box-shadow: 0 8px 24px rgba(0,0,0,0.3); }
.dark .ra-card.risk { background: rgba(194,24,91,0.06); border-color: rgba(194,24,91,0.25); }
.dark .ra-card.test { background: rgba(255,212,59,0.05); border-color: rgba(255,212,59,0.2); }
.dark .ra-card h4 { color: var(--d-text); }
.dark .ra-card p { color: var(--d-muted); }
.dark .ra-card.risk .ra-num { background: rgba(194,24,91,0.2); }
.dark .ra-card.test .ra-num { background: rgba(255,212,59,0.2); color: var(--yellow); }
.dark .ra-test { background: rgba(255,212,59,0.08); color: var(--d-muted); border-left-color: var(--yellow); }
.dark .tk { color: var(--yellow); background: rgba(255,212,59,0.2); }

/* ─── Aha card spacious variant ─── */
.aha-card.aha-spacious { padding: 1.7rem 2rem; gap: 1.5rem; }
.aha-card.aha-spacious p { margin-top: 0.3rem; }

/* ═══ SLIDE 12 · PERSONAL NOTE ═══ */
.note-hint {
  display: flex; flex-direction: column; gap: 0.6rem; margin-top: 1.6rem;
  padding: 1.3rem 1.7rem; background: rgba(255,255,255,0.55);
  border: 1.5px dashed var(--hairline-strong); border-radius: var(--r-md);
  max-width: 700px; backdrop-filter: blur(6px);
}
.nh-row { display: grid; grid-template-columns: 260px 1fr; gap: 1.2rem; align-items: center; }
.nh-key { font-family: var(--font-mono); font-size: 1.08rem; font-weight: 600; color: var(--ink); letter-spacing: 0.04em; }
.nh-val { color: var(--ink-dim); }

/* ═══ SLIDE 12 · PERSONAL NOTE ═══ */
.personal-note {
  display: grid; grid-template-columns: 1fr 1fr; gap: 2rem;
  max-width: 1100px; margin-top: 1.5rem; text-align: left;
}
.pn-block {
  background: rgba(255,255,255,0.65); border: 1.5px solid var(--hairline-strong);
  border-radius: var(--r-lg); padding: 1.6rem 1.8rem;
  backdrop-filter: blur(8px); box-shadow: 0 8px 32px rgba(0,0,0,0.06);
}
.pn-block h4 {
  font-family: var(--font-mono); font-size: 1.1rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.1em; color: var(--orange-deep);
  margin-bottom: 0.7rem;
}
.pn-block p {
  font-size: 1.35rem; line-height: 1.55; color: var(--ink-2);
}

/* Slide 12 prose variant */
.pn-prose {
  max-width: 980px; margin-top: 1rem; text-align: left;
  position: relative; padding-left: 2.4rem;
  border-left: 3px solid var(--orange);
}
.pn-quote-mark {
  position: absolute; top: -2.2rem; left: -0.4rem;
  font-family: var(--font-display); font-weight: 700;
  font-size: 6rem; line-height: 1; color: var(--orange);
  opacity: 0.35;
}
.pn-prose p {
  font-size: 1.35rem; line-height: 1.6; color: var(--ink-2); margin-bottom: 0.85rem;
}
.pn-prose .pn-sub-head {
  font-weight: 600; color: var(--ink); margin-top: 0.5rem; margin-bottom: 0.5rem;
}
.pn-prose .pn-list {
  list-style: none; padding: 0; margin: 0 0 0.9rem 0;
  display: flex; flex-direction: column; gap: 0.4rem;
}
.pn-prose .pn-list li {
  font-size: 1.3rem; color: var(--ink-2); padding-left: 1.4rem;
  position: relative; line-height: 1.45;
}
.pn-prose .pn-list li::before {
  content: '→'; position: absolute; left: 0; color: var(--orange); font-weight: 600;
}
.pn-prose .pn-closer {
  margin-top: 0.4rem; padding-top: 0.8rem;
  border-top: 1px solid var(--hairline);
  font-size: 1.4rem; font-weight: 500; color: var(--ink);
}
.pn-signature {
  margin-top: 1rem;
  font-family: var(--font-display); font-style: italic; font-weight: 500;
  font-size: 1.6rem; color: var(--orange-deep);
  letter-spacing: 0.01em;
}

/* ═══ REVEAL CONTROLS ═══ */
.reveal .controls { color: var(--orange-deep); }
.reveal .progress { color: var(--orange); height: 4px; }
.reveal .progress span { background: var(--grad-warm-strong); }

/* ═══ FRAGMENT TRANSITIONS ═══ */
.reveal .slides section .fragment {
  transition: all 0.45s cubic-bezier(0.22,0.61,0.36,1);
}
.reveal .slides section .fragment.fade-left { transform: translateX(-30px); }
.reveal .slides section .fragment.fade-right { transform: translateX(30px); }
.reveal .slides section .fragment.fade-up { transform: translateY(24px); }
.reveal .slides section .fragment.fade-left.visible,
.reveal .slides section .fragment.fade-right.visible,
.reveal .slides section .fragment.fade-up.visible {
  transform: translate(0);
}

/* ═══ PRINT ═══ */
@media print {
  .bg-blob, .bg-grid, .slide-counter, .copyright-footer, .persistent-logo { display: none; }
  .reveal .slides section .fragment { opacity: 1 !important; transform: none !important; }
  .entrance { opacity: 1 !important; }
}
