:root{--forest:#1c2e24;--cream:#efe7d6;--copper:#c4783a;--ink:#16241c;--mute:#5e6a62;--foam:#f6f1e6;--line:#d9d0bc;--max:1180px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:Calibri,Candara,Segoe UI,sans-serif;line-height:1.55}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
a:hover{color:var(--copper)}
h1,h2,h3{font-family:Palatino Linotype,Palatino,Georgia,serif;font-weight:400;letter-spacing:-.03em;line-height:1.08}
.container{width:min(var(--max),calc(100% - 36px));margin:0 auto}
.narrow{max-width:720px}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-header{position:sticky;top:0;z-index:30;background:var(--forest);color:var(--cream)}
.header-inner{min-height:72px;display:flex;align-items:center;gap:22px}
.brand{display:flex;align-items:center;gap:10px;font-weight:700;letter-spacing:.02em}
.brand-icon{width:28px;height:28px}
.brand-mark{font-size:.68rem;font-weight:400;letter-spacing:.14em;text-transform:uppercase;color:#c9bfa8}
.header-inner nav{display:flex;gap:20px;margin-left:auto}
.header-inner nav a{color:#c9bfa8;font-size:.95rem}
.header-inner nav a.active,.header-inner nav a:hover{color:var(--cream)}
.button{display:inline-block;border:1px solid var(--copper);background:var(--copper);color:#fff;padding:.72rem 1.1rem;font:inherit;font-weight:700;border-radius:2px;cursor:pointer;line-height:1.2}
.button:hover{background:#a8632c;border-color:#a8632c;color:#fff}
.button-small{padding:.48rem .78rem;font-size:.88rem}
.button-line{background:transparent;color:var(--copper);border-color:var(--copper)}
.button-line:hover{background:var(--copper);color:#fff}
.eyebrow{margin:0 0 10px;color:var(--copper);font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.lead{font-size:1.12rem;color:var(--mute);max-width:640px}
.text-link{color:var(--copper);font-weight:700;border-bottom:1px solid var(--copper)}
.wave{display:flex;align-items:flex-end;justify-content:center;gap:3px;height:44px;padding:10px 8%;background:var(--forest)}
.wave div{width:3px;min-height:4px;background:var(--copper);border-radius:1px}
.wave div:nth-child(3n){background:var(--cream);opacity:.45}
.hero{background:var(--forest);color:var(--cream);padding:64px 0 0}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:end}
.nowplay{display:inline-flex;align-items:center;gap:8px;margin-bottom:18px;padding:6px 10px;border:1px solid #3a4c42;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:#c9bfa8}
.nowplay b{width:7px;height:7px;border-radius:50%;background:var(--copper);display:inline-block}
.hero h1{margin:0;max-width:640px;font-size:clamp(2.4rem,5.4vw,4.4rem);color:var(--cream)}
.hero .lead{color:#c9bfa8}
.hero-actions{display:flex;align-items:center;gap:22px;margin-top:28px}
.hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:48px;border-top:1px solid #3a4c42}
.hero-stats div{padding:16px 14px 22px 0}
.hero-stats strong{display:block;font-family:Palatino Linotype,Palatino,Georgia,serif;font-size:1.7rem;color:var(--copper)}
.hero-stats span{font-size:.78rem;color:#c9bfa8}
.hero-visual{position:relative}
.hero-visual img{width:100%;height:520px;object-fit:cover;filter:saturate(.78) contrast(1.05)}
.hero-caption{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-between;gap:12px;padding:12px 14px;background:rgba(28,46,36,.82);font-size:.78rem;color:var(--cream)}
.section{padding:78px 0}
.shownotes{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:start}
.shownotes h2{margin:0}
.shownotes img{width:100%;height:380px;object-fit:cover;filter:saturate(.8)}
.rail{border-left:3px solid var(--copper);padding-left:22px;color:var(--mute)}
.rundown{background:var(--forest);color:var(--cream)}
.rundown .eyebrow{color:var(--copper)}
.rundown h2{color:var(--cream)}
.rundown p{color:#c9bfa8}
.track-list{display:grid;gap:0;margin-top:36px;border-top:1px solid #3a4c42}
.track{display:grid;grid-template-columns:88px 1fr 120px;gap:24px;align-items:center;padding:22px 0;border-bottom:1px solid #3a4c42}
.track time{font-family:Consolas,Menlo,monospace;color:var(--copper);font-size:.92rem}
.track h3{margin:0 0 6px;font-size:1.45rem}
.track p{margin:0;color:#c9bfa8}
.ep-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:28px}
.ep-head h2{margin:0}
.playlist{display:grid;gap:10px}
.ep-row{display:grid;grid-template-columns:72px 110px minmax(0,1fr) auto;gap:18px;align-items:center;padding:12px 14px;background:var(--foam);border:1px solid var(--line);color:inherit}
.ep-row:hover{color:inherit;border-color:var(--copper);background:#fff}
.ep-num{font-family:Consolas,Menlo,monospace;font-size:.82rem;color:var(--copper);letter-spacing:.08em}
.ep-row img{width:110px;height:74px;object-fit:cover}
.ep-row h3{margin:0 0 4px;font-size:1.35rem}
.ep-row p{margin:0;color:var(--mute);font-size:.95rem}
.ep-meta{text-align:right;white-space:nowrap}
.ep-meta span{display:block;font-size:.78rem;color:var(--mute);letter-spacing:.06em;text-transform:uppercase}
.ep-meta strong{font-family:Palatino Linotype,Palatino,Georgia,serif;font-size:1.35rem;color:var(--forest)}
.cut{display:grid;grid-template-columns:.92fr 1.08fr;gap:0;align-items:stretch;background:var(--foam);border:1px solid var(--line)}
.cut img{width:100%;height:100%;min-height:420px;object-fit:cover;filter:saturate(.8)}
.cut-copy{padding:48px 42px}
.cut-copy blockquote{margin:12px 0 18px;font-size:clamp(1.7rem,3.2vw,2.6rem);line-height:1.12}
.mix{display:grid;gap:8px}
.mix article{display:grid;grid-template-columns:64px 1fr auto;gap:18px;align-items:center;padding:18px 20px;background:var(--forest);color:var(--cream)}
.mix span{font-family:Consolas,Menlo,monospace;color:var(--copper)}
.mix h3{margin:0 0 4px;font-size:1.3rem}
.mix p{margin:0;color:#c9bfa8;font-size:.95rem}
.mix strong{font-family:Palatino Linotype,Palatino,Georgia,serif;color:var(--cream)}
.listen{display:grid;gap:14px}
.listen article{display:grid;grid-template-columns:92px 1fr;gap:22px;align-items:start;padding:18px 0;border-bottom:1px solid var(--line)}
.listen img{width:92px;height:92px;object-fit:cover;border-radius:50%;filter:saturate(.75)}
.listen blockquote{margin:0 0 10px;font-family:Palatino Linotype,Palatino,Georgia,serif;font-size:1.22rem;line-height:1.35}
.listen strong{display:block;font-size:.88rem;color:var(--mute);font-family:Calibri,Segoe UI,sans-serif}
.faq{display:grid;max-width:820px;border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line);padding:18px 0}
.faq summary{display:flex;justify-content:space-between;gap:18px;cursor:pointer;font-weight:700;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary span{color:var(--copper);font-family:Palatino Linotype,Palatino,Georgia,serif;font-size:1.4rem;font-weight:400}
.faq details p{margin:10px 0 0;max-width:680px;color:var(--mute)}
.cta{background:var(--copper);color:#fff}
.cta .eyebrow{color:#fff}
.cta h2{margin:0;max-width:560px;color:#fff}
.cta-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}
.cta .button{background:var(--forest);border-color:var(--forest);color:var(--cream)}
.cta .button:hover{background:#142019;border-color:#142019}
.signup{background:var(--foam);padding:70px 0;border-top:1px solid var(--line)}
.signup-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}
.signup h2{margin:0 0 12px}
.signup-row{display:flex;gap:8px}
.signup-form input[type=email]{flex:1;min-width:0;border:1px solid var(--line);background:#fff;padding:.82rem 1rem;font:inherit}
.signup-form input[type=email]:focus{outline:2px solid var(--copper);outline-offset:1px}
.signup-note{margin-top:10px;font-size:.78rem;color:var(--mute)}
.page-hero{padding:70px 0 40px}
.page-hero h1{margin:0;font-size:clamp(2.2rem,4.8vw,3.8rem);max-width:760px}
.page-hero-grid{display:grid;grid-template-columns:1fr .86fr;gap:40px;align-items:end}
.page-hero-grid img{width:100%;height:360px;object-fit:cover;filter:saturate(.8)}
.catalog{display:grid;gap:12px}
.ep-card{display:grid;grid-template-columns:86px 160px minmax(0,1fr) 150px;gap:20px;align-items:center;padding:16px;background:var(--foam);border:1px solid var(--line)}
.ep-card img{width:160px;height:108px;object-fit:cover}
.ep-card h2{margin:0 0 8px;font-size:1.7rem}
.ep-card p{margin:0 0 10px;color:var(--mute)}
.ep-card ul{margin:0;padding-left:18px;color:var(--mute)}
.ep-card .ep-num{align-self:start;padding-top:8px}
.ep-cta{display:grid;gap:10px;justify-items:end;text-align:right}
.ep-cta strong{font-family:Palatino Linotype,Palatino,Georgia,serif;font-size:1.6rem}
.ep-wide{grid-template-columns:86px 160px minmax(0,1fr) auto;background:var(--forest);color:var(--cream);border-color:var(--forest)}
.ep-wide p,.ep-wide ul{color:#c9bfa8}
.ep-wide .button{background:var(--copper);border-color:var(--copper)}
.contact-wrap{display:grid;grid-template-columns:.85fr 1.15fr;gap:48px;align-items:start}
.contact-aside{display:grid;gap:18px}
.contact-aside img{width:100%;height:220px;object-fit:cover}
.hours-card{padding:20px;background:#fff;border:1px solid var(--line)}
.hours-card strong{display:block;margin-bottom:14px;font-size:1.05rem}
.hours-card dl{margin:0;display:grid;gap:10px}
.hours-card dl div{display:flex;justify-content:space-between;gap:16px;font-size:.95rem}
.hours-card dt{color:var(--mute);font-weight:400}
.hours-card dd{margin:0;font-weight:700}
.contact-form{display:grid;gap:16px;padding:28px;background:var(--foam);border:1px solid var(--line)}
.contact-form label{display:grid;gap:6px;font-weight:700}
.contact-form input,.contact-form textarea,.contact-form select{width:100%;border:1px solid var(--line);border-radius:2px;padding:.76rem;font:inherit;background:#fff}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:#7d8674}
.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{outline:2px solid var(--copper);outline-offset:1px}
.contact-form .check{display:flex;align-items:flex-start;gap:8px;font-weight:400;color:var(--mute)}
.contact-form .check input{width:auto;margin-top:4px}
.legal{max-width:740px}
.legal h2{margin-top:34px;font-size:1.55rem}
.legal p,.legal li{color:var(--mute)}
code{background:#fff;border:1px solid var(--line);padding:.12rem .32rem;font-size:.9em}
.site-footer{background:var(--forest);color:#c9bfa8;padding:52px 0 20px}
.footer-grid{display:grid;grid-template-columns:1.35fr .7fr .9fr 1fr;gap:28px}
.footer-grid h2{margin:0 0 10px;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--copper);font-family:Calibri,Segoe UI,sans-serif}
.footer-grid p,.footer-grid a,.footer-grid span{display:block;margin:.4rem 0;font-size:.92rem}
.footer-grid a:hover{color:var(--cream)}
.footer-bottom{display:flex;justify-content:space-between;gap:16px;margin-top:36px;padding-top:14px;border-top:1px solid #3a4c42;font-size:.82rem}
.footer-bottom button{border:0;background:none;color:var(--copper);cursor:pointer;font:inherit}
.cookie-banner{position:fixed;z-index:40;left:18px;bottom:18px;max-width:420px;background:var(--cream);color:var(--ink);padding:16px 18px;border:1px solid var(--line);box-shadow:0 12px 30px rgba(28,46,36,.18)}
.cookie-banner[hidden]{display:none}
.cookie-banner p{margin:0 0 12px;font-size:.9rem}
.cookie-banner div{display:flex;gap:8px}
.cookie-banner button{border:1px solid var(--forest);background:transparent;color:var(--forest);padding:.45rem .7rem;cursor:pointer;font:inherit;border-radius:2px}
.cookie-banner .button{background:var(--copper);border-color:var(--copper);color:#fff}
@media(max-width:960px){.hero-grid,.shownotes,.cut,.cta-grid,.signup-grid,.page-hero-grid,.contact-wrap,.footer-grid{grid-template-columns:1fr}.shownotes img{height:280px}.ep-row,.ep-card,.ep-wide{grid-template-columns:64px 1fr;}.ep-row img,.ep-card img{width:100%;height:160px;grid-column:1/-1}.ep-meta,.ep-cta{grid-column:2;text-align:left;justify-items:start}.track{grid-template-columns:72px 1fr}.mix article{grid-template-columns:48px 1fr}.hero-visual img,.cut img,.page-hero-grid img{height:300px;min-height:0}}
@media(max-width:760px){.header-inner{flex-wrap:wrap;padding:12px 0;gap:12px}.header-inner nav{order:3;width:100%;margin-left:0;overflow:auto}.header-inner>.button{margin-left:auto}.hero-stats,.listen article{grid-template-columns:1fr}.hero-actions,.signup-row{flex-direction:column;align-items:flex-start}.signup-form .button,.signup-row input{width:100%}.section{padding:56px 0}.cookie-banner{left:10px;right:10px;bottom:10px;max-width:none}}
