:root{
  --gold:#f3c43c; --red:#7c2d12; --red-text:#5a2410; --cream:#faf4e6;
  --paper:#f3ead4; --ink:#241c12; --ink-soft:#4e3416; --ink-muted:#6e5430;
  --line:#d8b24a; --line-soft:#e0cda0; --map-tan:#e8dcc0; --locate:#1d6fae;
  --font-display:"Playfair Display",Georgia,"Times New Roman",serif;
  --font-body:"Source Sans 3",-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;
}
*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{margin:0; font-family:var(--font-body); color:var(--ink); background:var(--cream); font-size:20px; line-height:1.6;}
h1,h2,h3{font-family:var(--font-display); color:var(--red); line-height:1.15; margin:0 0 .4rem; font-weight:700;}
a{color:var(--red);}
footer{margin:0; padding:1.25rem; text-align:center; background:var(--cream);}
footer p{margin:0; font-size:14px; color:var(--ink-muted); font-style:italic;}
.welcome{max-width:640px; margin:0 auto; min-height:100svh; display:flex; flex-direction:column;}
.brandstrip{background:var(--paper); color:var(--red-text); border-bottom:2px solid var(--gold); text-align:center; font-size:15px; font-weight:600; letter-spacing:.02em; padding:8px 12px;}
.welcome-body{flex:1; display:flex; flex-direction:column; padding:18px 22px 8px;}
.hero{background:var(--red); border-radius:14px; height:200px; display:flex; align-items:center; justify-content:center; margin-bottom:18px;}
.hero svg{width:120px; height:120px;}
.eyebrow{font-size:15px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-soft); margin:0 0 6px;}
.welcome h1{font-size:34px; margin:0 0 6px;}
.tagline{font-size:20px; font-style:italic; color:var(--ink-soft); margin:0 0 22px; line-height:1.35;}
.lead{font-size:20px; margin:0 0 22px;}
.btn{display:flex; align-items:center; justify-content:center; gap:8px; width:100%; padding:16px; font-family:var(--font-body); font-size:20px; font-weight:600; border-radius:10px; border:none; cursor:pointer; text-decoration:none; min-height:56px;}
.btn-primary{background:var(--gold); color:var(--red-text); border:2px solid var(--red-text);}
.btn-secondary{background:transparent; color:var(--red); border:1.5px solid var(--line); margin-top:10px;}
.spacer{flex:1; min-height:14px;}
[data-welcome]{display:flex; flex-direction:column; flex:1;}
[hidden]{display:none !important;}
.demobar{position:sticky; bottom:0; background:var(--paper); border-top:1.5px solid var(--line); display:flex; gap:8px; padding:10px 12px; justify-content:center; flex-wrap:wrap;}
.demobar{flex-wrap:nowrap;}
.demobar button{flex:1 1 0; min-width:0; padding:8px 6px; font-family:var(--font-body); font-size:14px; font-weight:600; border-radius:8px; border:1px solid var(--line); background:var(--cream); color:var(--red-text); cursor:pointer; white-space:nowrap;}
.demobar button.active{background:var(--red); color:var(--cream);}
*{-webkit-tap-highlight-color:transparent;}
.hero-photo{height:auto;aspect-ratio:3/2;overflow:hidden;padding:0;}
.hero-photo img{width:100%;height:100%;object-fit:cover;display:block;border-radius:14px;}
.hero-img{position:relative;aspect-ratio:3/2;overflow:hidden;}
.hero-img img{width:100%;height:100%;object-fit:cover;display:block;}
.corner{position:absolute;top:12px;width:44px;height:44px;border-radius:50%;background:rgba(250,244,230,.92);color:var(--red);display:flex;align-items:center;justify-content:center;text-decoration:none;}
.corner-left{left:12px;}
.corner-right{right:12px;}
.stoppage{max-width:640px;margin:0 auto;}
.stopbody{padding:16px 20px 28px;}
.stop-titlerow{display:flex;align-items:center;gap:11px;margin:2px 0 6px;}
.stop-badge{flex:0 0 auto;width:36px;height:36px;border-radius:50%;background:var(--cream);color:var(--red);border:2px solid var(--red);font-family:var(--font-display);font-size:19px;display:flex;align-items:center;justify-content:center;}
.stop-titlerow h1{font-size:26px;margin:0;}
.teaser{font-size:20px;color:var(--ink-soft);margin:0 0 16px;line-height:1.4;}
.player{background:var(--paper);border:1px solid var(--line-soft);border-radius:12px;padding:14px 16px;margin:0 0 20px;}
.player-track{height:6px;background:var(--line-soft);border-radius:3px;cursor:pointer;margin-bottom:12px;}
.player-fill{height:6px;width:0;background:var(--red);border-radius:3px;}
.player-btns{display:flex;align-items:center;justify-content:center;gap:22px;}
.pplay{width:58px;height:58px;border-radius:50%;border:none;background:var(--red);color:var(--cream);cursor:pointer;display:flex;align-items:center;justify-content:center;}
.pskip{border:none;background:none;color:var(--red-text);font-size:24px;cursor:pointer;display:flex;align-items:center;gap:2px;}
.pskip small{font-size:13px;font-weight:600;}
.player-missing .player-btns::after{content:"Audio coming soon";font-size:14px;color:var(--ink-muted);}
.section-label{font-size:16px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 6px;}
.transcript{font-size:20px;line-height:1.6;margin-bottom:20px;}
@media (min-width:900px){
  body{background:#efe6d2;}
  .welcome,.stoppage{max-width:560px;margin:24px auto;background:var(--cream);border:1.5px solid var(--line);border-radius:16px;overflow:hidden;min-height:0;}
}
.pplay:active{background:var(--red-text);transform:scale(.94);}
.pskip:active{transform:scale(.9);color:var(--red);}
.btn:active,.corner:active{transform:scale(.96);}
.btn-primary:active{background:#e0b22e;}
.tagline{color:var(--ink-soft);}
.btn-next{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;min-height:54px;background:var(--gold);color:var(--red-text);font-family:var(--font-body);font-size:21px;font-weight:600;border:2px solid var(--red-text);border-radius:12px;text-decoration:none;margin:0 0 20px;}
.btn-next:active{transform:scale(.97);}
