
    /*
      Axiom & Awe — official website.
      A self-contained site: no JavaScript framework, external fonts, or tracking scripts.
      Configure published channels and episodes in SITE below.
    */
    :root {
      color-scheme: dark;
      --bg:#070d16;
      --bg2:#0b1420;
      --panel:#101b2a;
      --panel-2:#122034;
      --ink:#f7efdf;
      --ink2:#d7d5cd;
      --muted:#a5aeb8;
      --muted2:#748598;
      --gold:#e6c38e;
      --gold-hi:#f9e0ac;
      --gold-dim:#a88b62;
      --sky:#8fb8de;
      --border:rgba(212,200,176,.15);
      --line:rgba(220,197,159,.17);
      --serif: "Iowan Old Style", "Baskerville", "Palatino Linotype", "Book Antiqua", Georgia, serif;
      --sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      --max:1220px;
    }
    *,*::before,*::after { box-sizing:border-box }
    html { scroll-behavior:smooth; scroll-padding-top:112px }
    body { margin:0; color:var(--ink); font-family:var(--sans); background:var(--bg); -webkit-font-smoothing:antialiased; line-height:1.55 }
    body.dialog-open { overflow:hidden }
    button,a { -webkit-tap-highlight-color:transparent }
    a { color:inherit; text-decoration:none }
    button { font:inherit; cursor:pointer }
    button:disabled { cursor:not-allowed }
    :focus-visible { outline:2px solid var(--gold-hi); outline-offset:4px; border-radius:3px }
    ::selection { background:var(--gold); color:#06101a }
    .sr-only { position:absolute!important; width:1px;height:1px;clip:rect(0,0,0,0);overflow:hidden;white-space:nowrap }
    .skip-link { position:fixed; z-index:9999; top:-100px; left:14px; background:var(--gold); color:#111; padding:10px 16px; border-radius:3px }
    .skip-link:focus { top:10px }
    .container { width:min(var(--max),calc(100% - 88px)); margin-inline:auto }
    .ambient { position:absolute; pointer-events:none; z-index:-1; inset:0; overflow:hidden; background:radial-gradient(ellipse at 70% 16%,rgba(32,83,135,.15),transparent 42%),radial-gradient(ellipse at 12% 26%,rgba(170,114,48,.09),transparent 35%) }
    .ambient::after { content:""; position:absolute; inset:0; opacity:.48; background-image:radial-gradient(#ded7c1 0.5px,transparent 0.5px),radial-gradient(#85add2 0.5px,transparent .5px); background-size:121px 113px,177px 167px; background-position:17px 8px,62px 44px; mask-image:linear-gradient(to bottom,black,transparent 84%) }

    .announcement { font-size:.68rem; letter-spacing:.19em; font-weight:700; text-align:center; text-transform:uppercase; color:#cdbb98; padding:10px 12px; background:#101620; border-bottom:1px solid rgba(231,196,136,.14) }
    .announcement span { display:inline-block; width:5px; height:5px; background:var(--gold); border-radius:50%; vertical-align:middle; margin-right:11px; box-shadow:0 0 10px rgba(232,186,104,.5) }
    .site-header { height:84px; position:sticky; top:0; z-index:50; transition:background .2s,border-color .2s,box-shadow .2s; border-bottom:1px solid rgba(255,255,255,.055); background:rgba(7,13,22,.92); backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px) }
    .site-header.scrolled { background:rgba(6,12,19,.96); border-color:var(--border); box-shadow:0 10px 34px rgba(0,0,0,.17) }
    .nav-shell { height:100%; display:flex; align-items:center; justify-content:space-between; gap:30px }
    .brand { display:inline-flex; align-items:center; gap:12px; flex-shrink:0 }
    .brand-mark { width:40px; height:40px; border:1px solid rgba(230,195,142,.54); border-radius:50%; display:grid; place-items:center; position:relative }
    .brand-mark::before,.brand-mark::after { content:""; position:absolute; background:rgba(230,195,142,.42) }
    .brand-mark::before { width:1px; height:26px;left:calc(50% - .5px) }
    .brand-mark::after { height:1px; width:26px; top:calc(50% - .5px) }
    .brand-mark b { width:7px; height:7px; border-radius:50%; background:var(--gold-hi); box-shadow:0 0 15px rgba(252,213,156,.5); z-index:2 }
    .brand-name { font-family:var(--serif); font-size:1.23rem; font-weight:500; letter-spacing:.105em; text-transform:uppercase; line-height:1 }
    .brand-sub { display:block; color:var(--gold-dim); font-size:.54rem; letter-spacing:.255em; text-transform:uppercase; margin-top:6px; font-weight:750 }
    .desktop-nav { display:flex; gap:33px; align-items:center; margin-left:auto }
    .desktop-nav a { font-size:.76rem; font-weight:600; letter-spacing:.03em; color:#c7c9c8; transition:color .15s }
    .desktop-nav a:hover,.desktop-nav a:focus-visible { color:var(--gold-hi) }
    .nav-cta { display:inline-flex; align-items:center; gap:9px; border:1px solid rgba(230,195,142,.55); color:var(--gold-hi); background:rgba(226,185,120,.055); padding:12px 19px; border-radius:3px; font-size:.76rem; font-weight:700; letter-spacing:.02em; transition:background .2s,border-color .2s }
    .nav-cta:hover { background:rgba(230,195,142,.15); border-color:var(--gold-hi) }
    .menu-toggle { display:none; width:42px; height:42px; background:transparent; border:1px solid var(--border); border-radius:4px; color:var(--ink); align-items:center; justify-content:center; font-size:1.4rem }
    .mobile-nav { display:none }

    .hero { position:relative; isolation:isolate; overflow:clip; padding:85px 0 105px; min-height:720px }
    .hero-grid { display:grid; grid-template-columns:minmax(0,1.03fr) minmax(0,1fr); gap:8.5%; align-items:center }
    .eyebrow { display:inline-flex; align-items:center; gap:13px; font-size:.71rem; letter-spacing:.24em; font-weight:700; color:var(--gold); text-transform:uppercase }
    .eyebrow::before { content:""; height:1px; width:28px; background:var(--gold-dim) }
    .hero h1 { font-family:var(--serif); letter-spacing:-.045em; font-size:clamp(3.6rem,5.35vw,5.75rem); font-weight:400; line-height:1.065; margin:27px 0 30px; max-width:650px; text-wrap:balance }
    .hero h1 em { color:var(--gold); font-weight:400; font-style:italic; }
    .hero-intro { max-width:475px; font-size:1rem; line-height:1.92; color:#b9c2c9; margin:0 }
    .hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin:34px 0 0 }
    .button { display:inline-flex; align-items:center; justify-content:center; gap:17px; padding:15px 23px; min-height:52px; border:1px solid transparent; border-radius:3px; font-size:.81rem; font-weight:750; letter-spacing:.01em; transition:background .18s,transform .18s,border-color .18s,color .18s; white-space:nowrap }
    .button:hover { transform:translateY(-2px) }
    .button-primary { color:#14171b; background:var(--gold); border-color:var(--gold); box-shadow:0 9px 24px rgba(190,132,62,.07) }
    .button-primary:hover { background:var(--gold-hi); border-color:var(--gold-hi) }
    .button-outline { border-color:rgba(226,221,213,.27); color:var(--ink); background:rgba(255,255,255,.025) }
    .button-outline:hover { border-color:rgba(230,195,142,.68); background:rgba(255,255,255,.055) }
    .button-glyph { font-size:1.15rem; line-height:1; font-weight:400 }
    .hero-note { margin-top:32px; font-size:.75rem; display:flex; gap:10px; align-items:center; color:#9eaaad }
    .hero-note .pulse { height:6px; width:6px; border-radius:100%; background:var(--gold); box-shadow:0 0 0 4px rgba(226,187,119,.08) }
    .hero-image-wrap { position:relative; width:100%; padding:13px; border:1px solid rgba(218,180,127,.33); box-shadow:0 35px 120px rgba(0,0,0,.38),0 0 65px rgba(35,81,131,.1) }
    .hero-image-wrap::before,.hero-image-wrap::after { content:""; position:absolute; pointer-events:none; width:74px; height:74px; border:1px solid rgba(226,193,137,.34) }
    .hero-image-wrap::before { top:-12px; right:-12px; border-left:0; border-bottom:0 }
    .hero-image-wrap::after { bottom:-12px; left:-12px; border-right:0; border-top:0 }
    .hero-image { width:100%; aspect-ratio:1; object-fit:cover; display:block; background:#02050b }
    .hero-image-tiny { position:absolute; bottom:-35px; right:0; letter-spacing:.18em; font-size:.58rem; font-weight:700; color:#807e76 }
    .hero-image-halo { position:absolute; inset:-70px; background:radial-gradient(circle,rgba(59,123,181,.14),transparent 65%); z-index:-1; pointer-events:none }

    .topic-strip { border-block:1px solid var(--line); background:#0a111b }
    .topic-list { display:flex; align-items:center; justify-content:space-between; padding:24px 10px; gap:24px; font-family:var(--serif); font-size:.86rem; letter-spacing:.23em; text-transform:uppercase; color:#c7bea8 }
    .topic-list .star { color:var(--gold-dim); font-size:1rem }
    .section { padding:110px 0; scroll-margin-top:80px }
    .section-head { display:flex; justify-content:space-between; gap:40px; align-items:end; margin-bottom:35px }
    .section h2 { font:400 clamp(2.75rem,4.5vw,4.5rem)/1.1 var(--serif); letter-spacing:-.035em; margin:17px 0 0; text-wrap:balance }
    .section-kicker { display:inline-flex; color:var(--gold); text-transform:uppercase; font-size:.7rem; font-weight:750; letter-spacing:.2em; align-items:center; gap:10px }
    .section-kicker::before { content:"✦"; font-size:.83rem }
    .section-caption { max-width:260px; margin:0 0 7px; color:var(--muted); font-size:.88rem; line-height:1.8 }
    .episodes { background:linear-gradient(180deg,#070d16,#0a121d 70%,#090f17) }
    .episode-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px }
    .episode-card { min-height:443px; position:relative; overflow:hidden; background:linear-gradient(136deg,rgba(17,28,42,.98),rgba(11,18,28,.98)); border:1px solid var(--border); padding:37px 39px; display:flex; flex-direction:column; transition:border-color .2s, transform .2s }
    .episode-card:hover { border-color:rgba(225,188,126,.4); transform:translateY(-3px) }
    .episode-card::after { content:""; position:absolute; width:360px; height:360px; right:-156px; top:-185px; border:1px solid rgba(232,192,126,.13); border-radius:50%; box-shadow:0 0 0 58px rgba(142,179,207,.028),0 0 0 118px rgba(142,179,207,.018); pointer-events:none }
    .episode-card--blue::after { border-color:rgba(132,189,230,.16); box-shadow:0 0 0 58px rgba(115,165,222,.028),0 0 0 118px rgba(142,179,207,.016) }
    .episode-meta { display:flex; align-items:center; justify-content:space-between; gap:10px; z-index:1 }
    .episode-number { font:400 2rem/1 var(--serif); color:rgba(234,207,162,.62) }
    .status { text-transform:uppercase; font-size:.62rem; letter-spacing:.145em; color:var(--gold); border:1px solid rgba(230,195,142,.25); padding:7px 9px; white-space:nowrap; border-radius:2px }
    .episode-card--blue .status { color:#a9c7e1; border-color:rgba(154,198,230,.3) }
    .episode-copy { position:relative; z-index:1; flex:1; padding-top:43px }
    .episode-topic { color:var(--muted2); letter-spacing:.17em; font-size:.64rem; text-transform:uppercase; font-weight:750 }
    .episode-copy h3 { font:400 clamp(2.25rem,3.2vw,3.5rem)/1.1 var(--serif); letter-spacing:-.02em; margin:14px 0 20px; max-width:450px }
    .episode-copy p { color:#afbbc5; max-width:420px; margin:0; font-size:.89rem; line-height:1.85 }
    .text-link { display:inline-flex; align-items:center; gap:14px; align-self:flex-start; background:transparent; border:0; border-bottom:1px solid rgba(230,195,142,.58); padding:0 0 9px; color:var(--gold-hi); font-size:.76rem; letter-spacing:.01em; font-weight:700; margin-top:35px; position:relative; z-index:1 }
    .text-link:hover { color:#fff1d1; border-color:currentColor }
    .text-link span:last-child { font-size:1.12rem; font-weight:400 }
    .episode-footnote { display:flex; align-items:center; gap:10px; margin-top:19px; color:#808f9c; font-size:.78rem }
    .episode-footnote svg { flex-shrink:0 }

    .ethos { background:#0a111c; position:relative; overflow:hidden }
    .ethos::before { content:""; position:absolute; width:780px; height:780px; border:1px solid rgba(196,170,120,.075); border-radius:50%; top:-330px; left:-320px; box-shadow:0 0 0 125px rgba(202,176,130,.02),0 0 0 275px rgba(170,189,207,.012); pointer-events:none }
    .ethos-grid { display:grid; grid-template-columns:.93fr 1fr; gap:13%; align-items:center; position:relative }
    .ethos h2 { max-width:560px }
    .ethos-lede { color:#bcc5cb; line-height:1.9; font-size:1.04rem; max-width:510px; margin:28px 0 25px }
    .ethos-quote { border-left:1px solid var(--gold-dim); padding:6px 0 6px 23px; color:#c9c7bb; font:italic 1.21rem/1.65 var(--serif); max-width:460px }
    .principles { border-top:1px solid var(--line) }
    .principle { display:grid; grid-template-columns:46px 1fr; gap:20px; border-bottom:1px solid var(--line); padding:22px 0 24px }
    .principle-index { font:400 1.06rem var(--serif); color:var(--gold-dim) }
    .principle h3 { font:400 1.4rem var(--serif); margin:0 0 7px }
    .principle p { color:var(--muted); font-size:.85rem; line-height:1.8; margin:0 }
    .disclosure { margin-top:25px; display:flex; gap:13px; color:#94a2ad; font-size:.75rem; line-height:1.7 }
    .disclosure svg { color:var(--gold-dim); flex-shrink:0; margin-top:2px }

    .listen { background:linear-gradient(180deg,#090f17,#0a121d) }
    .listen-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:37px }
    .platform { padding:29px 27px; border:1px solid var(--border); background:rgba(17,28,41,.75); display:flex; align-items:center; gap:17px; text-align:left; color:var(--ink); width:100%; transition:border-color .2s,background .2s,transform .2s }
    .platform:hover { border-color:rgba(230,195,142,.43); background:#132133; transform:translateY(-2px) }
    .platform-icon { height:47px; width:47px; border-radius:50%; flex-shrink:0; display:grid; place-items:center; background:rgba(220,214,202,.055); color:var(--gold) }
    .platform-copy { flex:1; min-width:0 }
    .platform-copy strong { display:block; font-size:.9rem; letter-spacing:.01em }
    .platform-copy small { font-size:.72rem; color:#9aabb8; display:block; margin-top:3px }
    .platform .arrow { color:var(--gold); font-size:1.15rem }
    .listen-footnote { margin-top:21px; font-size:.76rem; color:#8393a1; display:flex; gap:9px; align-items:center }

    .support-section { padding:50px 0 114px; background:#0a121d }
    .support-panel { min-height:370px; position:relative; overflow:hidden; border:1px solid rgba(225,186,128,.33); padding:62px 72px; background:radial-gradient(circle at 92% 52%,rgba(75,111,145,.21),transparent 40%),linear-gradient(120deg,#182230,#0f1824 70%); display:grid; grid-template-columns:1fr auto; align-items:center; gap:50px }
    .support-panel::before { content:""; position:absolute; right:-80px; top:-190px; width:570px; height:570px; border-radius:50%; border:1px solid rgba(236,203,149,.13); box-shadow:0 0 0 56px rgba(225,185,123,.029),0 0 0 115px rgba(225,185,123,.012); pointer-events:none }
    .support-panel::after { content:"✦"; position:absolute; right:105px; top:53px; font:400 7rem var(--serif); color:rgba(241,203,144,.12); pointer-events:none }
    .support-panel h2 { font:400 clamp(2.8rem,4.4vw,4.4rem)/1.1 var(--serif); letter-spacing:-.035em; max-width:640px; margin:16px 0 0; text-wrap:balance }
    .support-panel p { color:#bac6cf; max-width:630px; line-height:1.85; font-size:.9rem; margin:20px 0 0 }
    .support-action { display:flex; flex-direction:column; gap:10px; align-items:center; position:relative; z-index:1 }
    .support-action .button { padding:16px 26px }
    .support-action small { font-size:.7rem; color:#aeb9bc }

    .site-footer { border-top:1px solid var(--border); background:#060b12; padding:52px 0 25px }
    .footer-top { display:flex; justify-content:space-between; gap:50px; align-items:start }
    .footer-branding p { color:#8b9ba9; font-size:.79rem; max-width:340px; margin:20px 0 0; line-height:1.8 }
    .footer-nav { display:flex; gap:30px; flex-wrap:wrap; padding-top:13px }
    .footer-nav a,.footer-nav button { color:#b9c2c7; font-size:.8rem; background:transparent; border:0; padding:0 }
    .footer-nav a:hover,.footer-nav button:hover { color:var(--gold) }
    .footer-rule { height:1px; background:var(--border); margin-top:50px }
    .footer-bottom { display:flex; justify-content:space-between; gap:20px; color:#70808e; font-size:.72rem; padding-top:22px }
    .footer-bottom span:last-child { color:#8f866f }

    dialog { width:min(535px,calc(100vw - 30px)); max-width:calc(100% - 30px); max-height:calc(100dvh - 32px); overflow-y:auto; padding:0; color:var(--ink); border:1px solid rgba(227,189,128,.36); background:#101a27; box-shadow:0 35px 160px rgba(0,0,0,.8); border-radius:5px }
    dialog::backdrop { background:rgba(3,8,14,.85); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px) }
    .dialog-box { padding:38px; width:100%; position:relative }
    .episode-dialog { width:min(600px,calc(100vw - 30px)) }
    .dialog-close { position:absolute; top:19px; right:20px; width:35px;height:35px; border:1px solid rgba(255,255,255,.19); border-radius:50%; background:rgba(255,255,255,.03); color:var(--ink); display:grid;place-items:center; font-size:1.27rem }
    .dialog-close:hover { border-color:var(--gold); color:var(--gold) }
    .dialog-kicker { color:var(--gold); text-transform:uppercase; font-size:.66rem; font-weight:750; letter-spacing:.2em; margin:0 35px 18px 0 }
    .dialog-title { font:400 clamp(2.2rem,5vw,3.3rem)/1.08 var(--serif); letter-spacing:-.025em; margin:0 30px 15px 0 }
    .dialog-description { font-size:.9rem; color:#b8c4cb; line-height:1.9; margin:0 0 20px }
    .dialog-rule { height:1px; background:var(--line); margin:26px 0 }
    .episode-question { font:italic 1.45rem/1.6 var(--serif); color:var(--gold-hi); margin:14px 0 24px }
    .question-label { letter-spacing:.17em; font-size:.63rem; text-transform:uppercase; color:#9daabb; font-weight:750 }
    .modal-aux { display:flex; gap:8px; margin-top:16px; flex-wrap:wrap }
    .small-button { background:transparent; color:#d9c9a9; border:1px solid rgba(233,199,152,.29); font-size:.74rem; padding:9px 12px; border-radius:3px }
    .small-button:hover { background:rgba(228,193,143,.1) }

    .toast { position:fixed; bottom:26px; left:50%; transform:translate(-50%,20px); padding:12px 18px; border:1px solid rgba(221,189,146,.46); color:#f1e3cc; background:#1a2837; box-shadow:0 18px 50px rgba(0,0,0,.4); border-radius:4px; font-size:.82rem; z-index:1000; max-width:calc(100% - 28px); width:max-content; opacity:0; pointer-events:none; transition:opacity .22s,transform .22s; text-align:center }
    .toast.shown { opacity:1; transform:translate(-50%,0) }

    @media (max-width:1100px) {
      .container { width:min(var(--max),calc(100% - 64px)) }
      .hero-grid { gap:5% }
      .hero h1 { font-size:clamp(3.35rem,5.7vw,5.2rem) }
      .desktop-nav { gap:21px }
      .support-panel { padding:55px 45px }
    }
    @media (max-width:820px) {
      html { scroll-padding-top:85px }
      .container { width:min(var(--max),calc(100% - 42px)) }
      .desktop-nav,.site-header .nav-cta { display:none }
      .menu-toggle { display:flex }
      .site-header { height:72px }
      .mobile-nav { display:block; position:absolute; top:72px; left:0; width:100%; background:rgba(8,15,24,.99); border-bottom:1px solid var(--border); padding:0 21px; max-height:0; overflow:hidden; opacity:0; transition:max-height .25s,opacity .2s }
      .mobile-nav[data-open="true"] { max-height:380px; opacity:1; padding-block:10px 22px }
      .mobile-nav a,.mobile-nav button { display:block; padding:13px 4px; width:100%; background:transparent; border:0; color:var(--ink); font-size:.95rem; font-weight:600; text-align:left }
      .mobile-nav a.stripe-support-link { color:var(--gold-hi) }
      .hero { padding:69px 0 80px }
      .hero-grid { grid-template-columns:1fr; gap:62px }
      .hero-copy { max-width:650px }
      .hero h1 { font-size:clamp(3.65rem,8.4vw,5.3rem) }
      .hero-image-wrap { width:min(620px,calc(100% - 26px)); margin-inline:auto }
      .hero-image-tiny { display:none }
      .topic-list { flex-wrap:wrap; justify-content:center; row-gap:10px; font-size:.74rem }
      .episode-grid,.ethos-grid { grid-template-columns:1fr }
      .ethos-grid { gap:60px }
      .ethos h2 { max-width:650px }
      .listen-grid { grid-template-columns:1fr 1fr }
      .support-panel { grid-template-columns:1fr; gap:30px }
      .support-action { align-items:start }
      .footer-top { flex-direction:column; gap:22px }
      .footer-nav { padding:0 }
    }
    @media (max-width:580px) {
      .container { width:calc(100% - 38px) }
      .announcement { font-size:.58rem; letter-spacing:.1em; padding:9px }
      .brand-name { font-size:1.09rem }
      .brand-sub { font-size:.48rem }
      .brand-mark { width:36px; height:36px }
      .hero { padding:58px 0 73px; min-height:0 }
      .hero h1 { font-size:clamp(3.12rem,13vw,4.3rem); margin:23px 0 25px }
      .hero-intro { font-size:.95rem; line-height:1.8 }
      .hero-actions { flex-direction:column }
      .hero-actions .button { width:100% }
      .hero-note { line-height:1.6; align-items:start }
      .hero-note .pulse { flex-shrink:0; margin-top:5px }
      .hero-grid { gap:51px }
      .hero-image-wrap { padding:7px; width:calc(100% - 12px) }
      .topic-list { font-size:.65rem; letter-spacing:.12em; gap:9px; padding:19px 0 }
      .topic-list .star { font-size:.8rem }
      .section { padding:77px 0 }
      .section-head { display:block; margin-bottom:28px }
      .section h2 { font-size:clamp(2.65rem,10vw,3.5rem) }
      .section-caption { margin-top:19px }
      .episode-card { padding:29px 25px; min-height:404px }
      .episode-copy { padding-top:35px }
      .episode-copy h3 { font-size:2.5rem }
      .ethos-grid { gap:48px }
      .principle { grid-template-columns:34px 1fr; gap:12px }
      .listen-grid { grid-template-columns:1fr }
      .platform { padding:22px 19px }
      .support-section { padding:10px 0 79px }
      .support-panel { padding:40px 25px }
      .support-panel h2 { font-size:3rem }
      .support-action,.support-action .button { width:100% }
      .site-footer { padding-top:42px }
      .footer-nav { gap:16px 23px }
      .footer-bottom { flex-direction:column; gap:6px }
      .dialog-box { padding:31px 23px }
    }
    @media (prefers-reduced-motion:reduce) {
      *,*::before,*::after { animation-duration:.01ms!important; transition-duration:.01ms!important; scroll-behavior:auto!important }
    }

    /* Editorial site — episode catalog and listening detail. */
    .episode-grid:empty { display:none }
    .episode-grid .episode-card { min-width:0 }
    .episode-grid .episode-card h3 { overflow-wrap:break-word }
    .episode-audio { border-top:1px solid var(--line); padding-top:22px; margin:20px 0 }
    .episode-audio[hidden], .episode-destinations[hidden], .episode-destinations a[hidden],
    #episodeTranscript[hidden], #contactLink[hidden] { display:none!important }
    .episode-audio label { display:block; font-size:.72rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--gold); margin-bottom:10px }
    .episode-audio audio { width:100%; height:50px; border-radius:3px; accent-color:var(--gold) }
    .episode-destinations { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin:20px 0 8px }
    .episode-destinations a { padding:10px 14px; display:inline-flex; border:1px solid rgba(226,193,137,.37); color:var(--gold-hi); font-size:.78rem; font-weight:700; border-radius:3px; transition:background .2s }
    .episode-destinations a:hover { background:rgba(230,195,142,.12) }
    .episode-question { overflow-wrap:break-word }
    @media (max-width:580px) {
      .episode-destinations a { flex:1; justify-content:center }
      .episode-grid .episode-card { min-height:360px }
      .episode-dialog .dialog-title { font-size:clamp(2rem,9vw,2.7rem) }
    }


/* Launch update: two-page RSS-driven experience, preserving the original palette and typography. */
[hidden] { display:none!important }
body[data-page="episodes"] .site-header { background:rgba(7,13,22,.98) }
.archive-hero { position:relative; isolation:isolate; padding:105px 0 55px; overflow:hidden; }
.archive-hero h1 { margin:20px 0 20px; font:400 clamp(3.5rem,6vw,5.6rem)/1.06 var(--serif); letter-spacing:-.045em; }
.archive-hero p { max-width:730px; color:#bac6ce; font-size:1rem; line-height:1.9; margin:0 }
.archive-section { background:linear-gradient(180deg,#090f19,#0a121d); padding:30px 0 110px; min-height:48vh }
.archive-toolbar { display:flex; justify-content:space-between; gap:18px; flex-wrap:wrap; align-items:center; margin:0 0 26px; padding-bottom:20px; border-bottom:1px solid var(--line) }
.archive-count { color:var(--gold); letter-spacing:.13em; font-size:.72rem; text-transform:uppercase; font-weight:750; }
.archive-list { display:flex; flex-direction:column; }
.archive-entry { display:grid; grid-template-columns:112px minmax(0,1fr) auto; align-items:center; gap:28px; padding:27px 2px; border-bottom:1px solid var(--line) }
.archive-entry img { display:block; width:112px; aspect-ratio:1; object-fit:cover; border:1px solid rgba(230,195,142,.23); background:#09111c }
.archive-entry .archive-meta { color:var(--gold-dim); font-size:.68rem; font-weight:720; letter-spacing:.10em; text-transform:uppercase }
.archive-entry h2 { font:400 clamp(1.65rem,2.35vw,2.4rem)/1.16 var(--serif); margin:9px 0 9px; letter-spacing:-.017em }
.archive-entry .archive-desc { color:#aebbca; font-size:.84rem; max-width:670px; line-height:1.8; margin:0 }
.archive-actions { display:flex; flex-wrap:wrap; gap:10px; align-items:center; justify-content:flex-end }
.archive-actions .small-button { white-space:nowrap }
.archive-actions a { text-align:center }
.featured-episode { min-height:260px; }
.featured-content { display:grid; grid-template-columns:230px minmax(0,1fr); gap:42px; padding:34px; border:1px solid rgba(225,188,126,.28); background:radial-gradient(circle at 94% 6%,rgba(50,91,123,.17),transparent 36%),linear-gradient(115deg,#142133,#0b1420) }
.featured-art { width:100%; aspect-ratio:1; object-fit:cover; box-shadow:0 22px 60px rgba(0,0,0,.22); background:#0a1522 }
.featured-info { display:flex; flex-direction:column; justify-content:center; min-width:0 }
.featured-label { font-size:.68rem; color:var(--gold); letter-spacing:.17em; font-weight:760; text-transform:uppercase }
.featured-info h3 { font:400 clamp(2.2rem,3.6vw,3.8rem)/1.08 var(--serif); letter-spacing:-.025em; margin:15px 0 }
.featured-info p { color:#b7c2ca; line-height:1.8; font-size:.89rem; max-width:690px; margin:0 }
.featured-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:25px }
.featured-actions .button { min-height:46px; padding:12px 20px }
.featured-archive-link { display:inline-flex; gap:12px; align-items:center; margin-top:24px; font-size:.82rem; color:var(--gold-hi); border-bottom:1px solid rgba(230,195,142,.43); padding-bottom:8px }
.feed-state { padding:35px; border:1px solid var(--border); background:rgba(13,24,37,.83); color:#b7c4cc; line-height:1.8 }
.feed-state a { color:var(--gold-hi); text-decoration:underline; text-underline-offset:4px }
.episode-detail-meta { font-size:.72rem; color:var(--gold); letter-spacing:.08em; text-transform:uppercase; margin:0 0 8px }
#episodeTranscript[hidden] { display:none!important }
@media (max-width:900px) {
  .archive-entry { grid-template-columns:94px minmax(0,1fr); gap:18px }
  .archive-entry img { width:94px }
  .archive-actions { grid-column:2; justify-content:flex-start }
  .featured-content { grid-template-columns:160px minmax(0,1fr); gap:27px }
}
@media (max-width:600px) {
  .archive-hero { padding:65px 0 36px }
  .archive-hero h1 { font-size:clamp(3.1rem,11vw,4.1rem) }
  .archive-section { padding:25px 0 78px }
  .archive-entry { grid-template-columns:74px minmax(0,1fr); gap:14px; align-items:start; padding:22px 0 }
  .archive-entry img { width:74px }
  .archive-entry h2 { font-size:1.7rem; margin-top:5px }
  .archive-entry .archive-desc { font-size:.8rem }
  .archive-actions { grid-column:1 / -1; justify-content:flex-start }
  .featured-content { grid-template-columns:1fr; gap:20px; padding:24px }
  .featured-art { width:150px }
  .featured-info h3 { margin:7px 0 14px }
  .featured-actions { flex-direction:column }
  .featured-actions .button { width:100% }
  .listen-grid { grid-template-columns:1fr }
}
