:root {
  --ink: #003F1C;
  --orange: #C2410C;
  --amber: #F59E0B;
  --heading: #2B2118;
  --body: #5B5147;
  --muted: #8A7F70;
  --divider: #ECE6DC;
  --softbg: #FAF6EE;
  --white: #FFFFFF;
  --page-bg: #EFE9DD;
  --card-shadow: 0 18px 40px -18px rgba(43,33,24,0.35);
}
:root[data-theme="dark"] { --page-bg: #17140F; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) { --page-bg: #17140F; } }

* { box-sizing: border-box; }
html, body { margin: 0; }
body {
  background: var(--page-bg);
  font-family: Calibri, "Segoe UI", Arial, sans-serif;
  color: var(--heading);
  padding: 2.5rem 1.25rem 5rem;
}
.wrap { max-width: 980px; margin: 0 auto; }

/* Masthead */
.masthead { text-align: center; margin-bottom: 1.6rem; background: #003F1C; border-radius: 12px; padding: 2.25rem 1.5rem; }
.masthead .eyebrow { color: var(--amber); font-size: 0.72rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; margin: 0 0 0.6rem; }
.masthead h1 { font-family: Cambria, Georgia, serif; font-size: clamp(1.6rem, 3vw, 2.1rem); margin: 0; color: #FFFFFF; text-wrap: balance; }
.masthead p { color: #CADCC8; font-size: 0.92rem; margin: 0.7rem 0 0; max-width: 640px; margin-left: auto; margin-right: auto; line-height: 1.55; }
.back-link { display: block; text-align: center; margin-bottom: 1.6rem; }
.back-link a { color: var(--muted); font-size: 0.8rem; text-decoration: none; }
.back-link a:hover { text-decoration: underline; }

/* Generic slide shell */
.slide { aspect-ratio: 13.333 / 7.5; width: 100%; border-radius: 10px; box-shadow: var(--card-shadow); overflow: hidden; position: relative; margin-bottom: 1.5rem; font-family: Calibri, Arial, sans-serif; }
.slide.dark { background: var(--ink); color: var(--white); }
.slide.light { background: var(--white); color: var(--heading); }
.tag { position: absolute; top: 4%; left: 4.5%; font-size: clamp(0.5rem, 0.9vw, 0.66rem); letter-spacing: 0.08em; text-transform: uppercase; color: var(--orange); font-weight: 700; }
.slide.dark .tag { color: var(--amber); }
.slidenum { position: absolute; bottom: 4%; right: 4.5%; font-size: clamp(0.5rem, 0.85vw, 0.62rem); color: var(--muted); }
.slide.dark .slidenum { color: #8C9B92; }

/* TITLE slide */
.t-headline { position: absolute; top: 26%; left: 6.5%; width: 82%; font-family: Cambria, Georgia, serif; font-weight: 700; font-size: clamp(1.5rem, 4vw, 2.5rem); line-height: 1.1; text-wrap: balance; }
.t-sub { position: absolute; top: 52%; left: 6.5%; width: 76%; font-size: clamp(0.68rem, 1.25vw, 0.95rem); color: #F3E9DC; line-height: 1.5; }
.t-pill { position: absolute; top: 68%; left: 6.5%; background: var(--orange); border-radius: 30px; padding: 0.5em 1.2em; font-size: clamp(0.6rem, 1vw, 0.75rem); font-weight: 700; color: #fff; }
.t-url { position: absolute; top: 89%; left: 6.5%; font-size: clamp(0.55rem, 0.95vw, 0.7rem); color: #8C9B92; }
.t-logo { position: absolute; top: 7%; left: 6%; font-family: Cambria, Georgia, serif; font-weight: 700; font-size: clamp(0.85rem, 1.5vw, 1.1rem); color: #fff; }
.t-logo span { color: var(--orange); }

/* TOC slide */
.toc-title { position: absolute; top: 12%; left: 5.5%; font-family: Cambria, Georgia, serif; font-size: clamp(1.1rem, 2.6vw, 1.6rem); font-weight: 700; }
.toc-grid { position: absolute; top: 28%; left: 5.5%; width: 90%; height: 65%; display: grid; grid-template-columns: 1fr 1fr; column-gap: 5%; row-gap: 2%; align-content: start; }
.toc-item { display: flex; gap: 0.6em; align-items: baseline; font-size: clamp(0.54rem, 1vw, 0.72rem); }
.toc-item .n { color: var(--amber); font-family: Cambria, Georgia, serif; font-weight: 700; font-size: 1.15em; flex-shrink: 0; }
.toc-item .t { font-weight: 700; }
.toc-item .d { color: #B9AE9C; font-weight: 400; margin-left: 0.4em; display: block; font-size: 0.92em; }

/* Two-column content slide (workhorse) */
.tc-kicker { position: absolute; top: 6%; left: 5%; font-size: clamp(0.52rem, 0.9vw, 0.66rem); font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--orange); }
.slide.dark .tc-kicker { color: var(--amber); }
.tc-title { position: absolute; top: 12%; left: 5%; width: 46%; font-family: Cambria, Georgia, serif; font-weight: 700; font-size: clamp(1.05rem, 2.4vw, 1.6rem); line-height: 1.15; text-wrap: balance; }
.tc-body { position: absolute; top: 34%; left: 5%; width: 44%; font-size: clamp(0.58rem, 1.05vw, 0.78rem); line-height: 1.5; color: var(--body); }
.slide.dark .tc-body { color: #E9DFCE; }
.tc-bullets { position: absolute; left: 5%; width: 44%; display: flex; flex-direction: column; gap: 0.75em; font-size: clamp(0.55rem, 0.95vw, 0.72rem); }
.tc-bullets li { list-style: none; padding-left: 1.3em; position: relative; }
.tc-bullets li::before { content: "\2726"; position: absolute; left: 0; color: var(--orange); font-size: 0.85em; }
.slide.dark .tc-bullets li::before { color: var(--amber); }
.tc-aside { position: absolute; top: 15%; right: 5%; width: 42%; height: 76%; border-radius: 10px; display: flex; flex-direction: column; gap: 0.6em; padding: 1em; }
.tc-aside.card-light { background: var(--white); box-shadow: var(--card-shadow); color: var(--heading); }
.tc-aside.card-tint { background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.15); }
.tc-aside-title { font-family: Cambria, Georgia, serif; font-weight: 700; font-size: clamp(0.7rem, 1.3vw, 0.92rem); margin-bottom: 0.2em; }
.tc-aside-point { display: flex; gap: 0.5em; align-items: baseline; font-size: clamp(0.5rem, 0.9vw, 0.66rem); line-height: 1.4; }
.tc-aside-point::before { content: ""; width: 0.45em; height: 0.45em; border-radius: 50%; background: var(--orange); flex-shrink: 0; align-self: center; }

/* Comparison table slide */
.cmp-table { position: absolute; top: 24%; left: 4.5%; width: 91%; border-collapse: collapse; font-size: clamp(0.48rem, 0.85vw, 0.66rem); }
.cmp-table th, .cmp-table td { border: 1px solid var(--divider); padding: 0.55em 0.7em; text-align: center; }
.cmp-table th:first-child, .cmp-table td:first-child { text-align: left; font-weight: 700; background: var(--white); }
.cmp-table thead th:nth-child(2) { background: #F2ECE2; color: var(--body); }
.cmp-table thead th:nth-child(3) { background: var(--ink); color: var(--white); }
.cmp-table td:nth-child(2) { background: #FAF7F2; color: var(--muted); }
.cmp-table td:nth-child(3) { background: #0A5A2E; color: var(--white); }

/* Stat grid slide */
.stat-grid { position: absolute; top: 26%; left: 6%; width: 88%; height: 62%; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.2rem; align-content: center; }
.stat-card { text-align: center; }
.stat-big { font-family: Cambria, Georgia, serif; font-weight: 700; font-size: clamp(1.3rem, 3vw, 2.1rem); color: var(--orange); }
.slide.dark .stat-big { color: var(--amber); }
.stat-label { font-size: clamp(0.5rem, 0.9vw, 0.66rem); color: var(--muted); margin-top: 0.3em; line-height: 1.35; }
.slide.dark .stat-label { color: #B9AE9C; }

/* Feature grid slide */
.feat-grid { position: absolute; top: 24%; left: 5%; width: 90%; height: 68%; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; align-content: start; }
.feat-grid.cols-2 { grid-template-columns: repeat(2, 1fr); }
.feat-card { background: var(--softbg); border-radius: 10px; padding: 0.85em 0.9em; }
.slide.dark .feat-card { background: rgba(255,255,255,0.07); }
.feat-icon { font-size: clamp(0.9rem, 1.8vw, 1.3rem); margin-bottom: 0.3em; }
.feat-title { font-weight: 700; font-size: clamp(0.55rem, 1vw, 0.72rem); margin-bottom: 0.25em; }
.feat-desc { font-size: clamp(0.48rem, 0.85vw, 0.62rem); color: var(--muted); line-height: 1.4; }
.slide.dark .feat-desc { color: #C4B9A6; }

/* Quote / mindset slide */
.quote-wrap { position: absolute; top: 30%; left: 8%; width: 84%; text-align: center; }
.quote-before { font-size: clamp(0.75rem, 1.6vw, 1.05rem); color: #B9AE9C; text-decoration: line-through; text-decoration-color: var(--orange); }
.quote-arrow { font-size: clamp(1rem, 2vw, 1.4rem); color: var(--amber); margin: 0.3em 0; }
.quote-after { font-family: Cambria, Georgia, serif; font-weight: 700; font-size: clamp(1.1rem, 2.6vw, 1.7rem); color: #fff; text-wrap: balance; }
.quote-takeaway { position: absolute; bottom: 8%; left: 8%; width: 84%; text-align: center; font-size: clamp(0.55rem, 1vw, 0.7rem); color: #CADCC8; }

/* Recap slide */
.recap-title { position: absolute; top: 8%; left: 5.5%; font-family: Cambria, Georgia, serif; font-weight: 700; font-size: clamp(1.1rem, 2.5vw, 1.6rem); }
.recap-list { position: absolute; top: 24%; left: 5.5%; width: 89%; height: 68%; columns: 2; column-gap: 6%; font-size: clamp(0.55rem, 1vw, 0.72rem); line-height: 1.9; }
.recap-list li { list-style: none; padding-left: 1.4em; position: relative; break-inside: avoid; }
.recap-list li::before { content: "\2713"; position: absolute; left: 0; color: var(--orange); font-weight: 700; }

/* CTA slide */
.cta-headline { position: absolute; top: 30%; left: 6.5%; width: 82%; font-family: Cambria, Georgia, serif; font-weight: 700; font-size: clamp(1.3rem, 3.2vw, 2.1rem); text-wrap: balance; }
.cta-sub { position: absolute; top: 54%; left: 6.5%; width: 74%; font-size: clamp(0.65rem, 1.2vw, 0.88rem); color: #E9DFCE; line-height: 1.5; }
.cta-pill { position: absolute; top: 70%; left: 6.5%; background: var(--orange); border-radius: 30px; padding: 0.6em 1.4em; font-size: clamp(0.65rem, 1.1vw, 0.82rem); font-weight: 700; color: #fff; }
.cta-url { position: absolute; top: 90%; left: 6.5%; font-size: clamp(0.55rem, 0.95vw, 0.7rem); color: #8C9B92; }

@media (max-width: 640px) {
  .stat-grid, .feat-grid { grid-template-columns: repeat(2, 1fr); }
  .toc-grid { grid-template-columns: 1fr; }
}
