
:root{--kraft:#EDE2C6;--snow:#FAF6EC;--forest:#1E4A3A;--sunset:#E66F2E;--river:#2B6A8E;--dusk:#3E2A4A;--ink:#1B2420;--mute:#5E6A62;
--font-display:"Alfa Slab One","Rockwell","Georgia",serif;--font-body:"Jost","Futura","Helvetica Neue",Arial,sans-serif;--max:1120px;color-scheme:light}
.rhino-head{display:inline-block;flex:none;width:var(--rh,36px);height:var(--rh,36px);overflow:hidden;border-radius:50%}.rhino-head img{display:block;width:125%;max-width:none;height:auto;margin:-1.25% 0 0 -12.5%}.rhino-head.dark img{filter:brightness(0)}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none !important;animation:none !important}}
img{max-width:100%;display:block}
p{margin:0}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
[id]{scroll-margin-top:calc(var(--preview-bar-h,0px) + 80px)}
.ph{position:relative;overflow:hidden;min-width:0;width:100%;margin:0}
.dd>*,.visit>*,.artists>*,.cols>*,.hero>*,.show-hero>*,.show-body>*,.week-wrap>*,.side>*{min-width:0}
.ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .5s}
.ph img.ok{opacity:1}
.ph .art{position:absolute;inset:0}
.ph .art svg{width:100%;height:100%;display:block}
.ph figcaption{position:absolute;left:0;right:0;bottom:0;padding:10px 14px;font-size:13px}
.share-msg:empty{display:none}
.form-msg[hidden]{display:none}

body{margin:0;background:var(--kraft);color:var(--ink);font-family:var(--font-body);font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased}
body::after{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(rgba(27,36,32,.08) 1px,transparent 1.2px);background-size:5px 5px;mix-blend-mode:multiply;z-index:60;opacity:.6}
a{color:var(--river)}
h1,h2,h3{font-family:var(--font-display);font-weight:400;line-height:1;margin:0;text-wrap:balance;text-transform:uppercase;letter-spacing:.01em}
h1{font-size:clamp(36px,5vw,64px)}
h2{font-size:clamp(32px,4.2vw,54px)}
h3{font-size:clamp(20px,2vw,24px)}
:focus-visible{outline:3px solid var(--sunset);outline-offset:3px;border-radius:3px}
.wrap{width:min(var(--max),100% - 48px);margin-inline:auto}
section{padding:72px 0}
.block{border-top:6px solid var(--forest)}
.block.snow{background:var(--snow)}
.block.forest{background:var(--forest);color:var(--snow)}
.block.forest a{color:var(--snow);text-decoration-color:var(--sunset)}
.block.forest .sec-head p,.block.forest .note{color:#C9D6CF}
@media (max-width:720px){.wrap{width:min(var(--max),100% - 28px)}section{padding:52px 0}}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 26px;border-radius:3px;font:inherit;font-weight:600;font-size:16px;letter-spacing:.04em;text-transform:uppercase;text-decoration:none;color:var(--forest);background:transparent;border:3px solid var(--forest);cursor:pointer;text-align:center}
.btn.fill{background:var(--sunset);border-color:var(--sunset);color:#fff}.btn.fill:hover{background:#C95A20;border-color:#C95A20}
.btn:hover{background:var(--forest);color:var(--snow)}
.btn.small{min-height:42px;padding:0 16px;font-size:14px}
.block.forest .btn{color:var(--snow);border-color:var(--snow)}.block.forest .btn:hover{background:var(--snow);color:var(--forest)}
.note{color:var(--mute);font-size:14px;margin-top:12px}
.link{text-underline-offset:4px}
/* header */
.top{position:sticky;top:var(--preview-bar-h,0px);z-index:40;background:var(--forest);color:var(--snow)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;height:60px}
.brand{white-space:nowrap;display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--snow);font-family:var(--font-display);font-size:20px;text-transform:uppercase;letter-spacing:.03em}
.brand svg{width:30px;height:30px;color:var(--snow)}.brand .rhino-head{--rh:34px}
.top nav{display:flex;gap:24px;font-weight:500;font-size:15px}
.top nav a{text-decoration:none;color:var(--snow);opacity:.85;padding:4px 0;border-bottom:2px solid transparent}
.top nav a:hover{opacity:1;border-color:var(--sunset)}.top nav a[aria-current]{opacity:1;border-color:var(--sunset);font-weight:600}
.call{white-space:nowrap;text-decoration:none;color:var(--forest);background:var(--snow);font-weight:600;font-size:14px;padding:8px 14px;border-radius:3px}
@media (max-width:860px){.top nav{display:none}}
@media (max-width:480px){.brand{font-size:16px}.call{font-size:13px;padding:7px 10px}}
/* page head */
.page-head{padding:44px 0 8px}
.page-head .kicker{display:block;font-weight:600;letter-spacing:.14em;text-transform:uppercase;font-size:13px;color:var(--forest);margin-bottom:10px}
.page-head p.lead{margin-top:16px;max-width:54ch;font-size:18px}
.chip{display:inline-flex;align-items:center;gap:8px;margin-top:12px;padding:6px 12px;border-radius:3px;background:var(--snow);font-weight:600;font-size:14px;border:2px solid var(--forest)}
.chip i{width:10px;height:10px;border-radius:50%;background:#8E948F}
.chip.open i{background:#3E9A5B}
.sec-head{display:grid;grid-template-columns:1fr auto;align-items:end;gap:24px;margin-bottom:32px}
.sec-head p{max-width:44ch;color:var(--mute);font-size:16px}
@media (max-width:720px){.sec-head{grid-template-columns:1fr}}
/* poster */
.hero{display:grid;grid-template-columns:minmax(0,560px) 1fr;gap:56px;align-items:start;padding:48px 0 64px}
.poster{background:var(--forest);padding:14px;box-shadow:0 24px 50px rgba(27,36,32,.25)}
.poster-in{border:3px solid var(--snow);padding:10px;background:var(--forest)}
.scene{display:block;width:100%;height:auto}
.scene *{transition:fill .6s,opacity .6s}
.title-block{background:var(--snow);color:var(--ink);padding:18px 18px 16px;text-align:center;margin-top:10px}
.title-block h1,.title-block .h1{font-family:var(--font-display);font-size:clamp(30px,4.2vw,48px);line-height:.95;text-transform:uppercase;margin:0}
.title-block .sub{font-weight:500;letter-spacing:.14em;text-transform:uppercase;font-size:13px;color:var(--forest);margin-top:8px}
.title-block .chip{background:var(--kraft);border:none}
.scrub{margin-top:16px;background:var(--snow);padding:14px 16px 12px;border:3px solid var(--forest);display:grid;gap:8px}
.scrub label{display:flex;justify-content:space-between;font-weight:600;font-size:14px;letter-spacing:.06em;text-transform:uppercase}
.scrub label output{font-family:var(--font-display);font-size:18px;color:var(--sunset);letter-spacing:0;text-transform:none;font-variant-numeric:tabular-nums}
.scrub input[type=range]{width:100%;accent-color:var(--sunset);height:32px;margin:0}
.scrub .cap{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:14px;color:var(--mute)}
.scrub button{font:inherit;font-weight:600;font-size:13px;background:none;border:2px solid var(--forest);border-radius:3px;padding:4px 10px;cursor:pointer;color:var(--forest)}
.scrub button:hover{background:var(--forest);color:var(--snow)}
.hero-copy{padding-top:12px}
.hero-copy h2{font-size:clamp(32px,4vw,54px);text-transform:none;line-height:1.02}
.hero-copy h2 b{font-weight:400;color:var(--sunset)}
.lead{margin-top:20px;max-width:46ch;font-size:18px}
.next{margin-top:24px;padding:16px 18px;background:var(--snow);border-left:6px solid var(--sunset);display:grid;gap:2px}
.next .k{font-family:var(--font-display);font-size:20px;text-transform:uppercase;letter-spacing:.02em;color:var(--forest)}
.next .v b{font-weight:600}
.cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
@media (max-width:960px){.hero{grid-template-columns:1fr;gap:36px}.poster{max-width:560px}}
/* stubs */
.week{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;list-style:none;margin:0;padding:0}
.ev{position:relative;background:var(--kraft);padding:22px 20px 20px;display:flex;flex-direction:column;gap:6px;min-height:230px;-webkit-mask:radial-gradient(circle at 0 50%,transparent 9px,#000 9.5px),radial-gradient(circle at 100% 50%,transparent 9px,#000 9.5px);mask:radial-gradient(circle at 0 50%,transparent 9px,#000 9.5px),radial-gradient(circle at 100% 50%,transparent 9px,#000 9.5px);-webkit-mask-composite:source-in;mask-composite:intersect}
.block.forest .ev,.snow .ev{background:var(--kraft)}
.ev::after{content:"";position:absolute;left:12px;right:12px;top:50%;border-top:2px dashed rgba(27,36,32,.3)}
.ev .day{font-family:var(--font-display);font-size:36px;text-transform:uppercase;line-height:1;color:var(--forest)}
.ev.tonight .day,.ev.live .day{color:var(--sunset)}
.ev .date{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--mute);font-weight:500}
.ev .time{font-weight:600;font-size:15px;margin-bottom:14px}
.ev .act{font-size:21px;font-weight:600;line-height:1.1;margin-top:auto;padding-top:10px;color:var(--ink)}
.ev .act a{color:inherit;text-decoration:none}.ev .act a:hover{text-decoration:underline;text-decoration-color:var(--sunset)}
.ev .genre{font-size:14px;color:var(--mute)}
.badge{align-self:flex-start;font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:4px 8px;border-radius:2px;background:var(--forest);color:var(--snow);white-space:nowrap}
.badge.hot,.badge.is-tonight,.badge.is-live-now{background:var(--sunset)}
.badge.is-wrapped{background:#8E948F;text-decoration:line-through}
.badge.is-sample{background:transparent;color:var(--mute);border:1px dashed var(--mute)}
/* hour strip */
.strip{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
.mini{font:inherit;color:var(--ink);background:var(--snow);border:3px solid var(--forest);padding:8px;cursor:pointer;display:grid;gap:8px;text-align:left}
.mini .sky{height:110px;position:relative;overflow:hidden;background:var(--c1)}
.mini .sky::before{content:"";position:absolute;left:0;right:0;bottom:0;height:60%;background:linear-gradient(transparent,var(--c2))}
.mini .sky::after{content:"";position:absolute;left:50%;bottom:0;width:0;height:0;border-left:70px solid transparent;border-right:70px solid transparent;border-bottom:60px solid var(--c3);transform:translateX(-50%)}
.mini b{font-family:var(--font-display);font-weight:400;font-size:18px;text-transform:uppercase}
.mini span{font-size:13px;color:var(--mute);line-height:1.3}
.mini:hover,.mini[aria-pressed=true]{background:var(--kraft);outline:3px solid var(--sunset);outline-offset:-3px}
@media (max-width:900px){.strip{grid-template-columns:repeat(3,1fr)}}
@media (max-width:480px){.strip{grid-template-columns:repeat(2,1fr)}.mini .sky{height:80px}}
/* lists */
.dd{display:grid;grid-template-columns:6fr 6fr;gap:48px;align-items:start}
.taps-list{list-style:none;margin:0;padding:0;border-top:3px solid var(--forest)}
.taps-list li{display:grid;grid-template-columns:34px 1fr auto;gap:2px 14px;padding:12px 0;border-bottom:1px solid rgba(30,74,58,.3);align-items:center}
.taps-list .sw{width:34px;height:34px;border-radius:50%;border:3px solid var(--forest);grid-row:1/4}
.taps-list .n{font-weight:600;font-size:18px}
.taps-list .s,.taps-list .notes{grid-column:2;font-size:14px;color:var(--mute)}
.taps-list .abv{font-family:var(--font-display);font-size:22px;color:var(--forest);grid-row:1/4;grid-column:3;font-variant-numeric:tabular-nums}
.menu-list{list-style:none;margin:0;padding:0;border-top:3px solid var(--forest)}
.menu-list li{display:grid;gap:2px;padding:10px 0;border-bottom:1px solid rgba(30,74,58,.3)}
.menu-list .n{font-weight:600}.menu-list .d{color:var(--mute);font-size:14px}
.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:36px;align-items:start}
.cols h3{margin-bottom:12px}
.do{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.do li{background:var(--snow);padding:16px 18px;display:grid;grid-template-columns:1fr auto;gap:4px 16px;align-items:baseline;border-left:6px solid var(--forest)}
.do .when{font-weight:600;color:var(--sunset);font-size:14px;letter-spacing:.06em;text-transform:uppercase;text-align:right}
.do p{grid-column:1/-1;font-size:14.5px;color:var(--mute)}
@media (max-width:900px){.dd{grid-template-columns:1fr}}
.play-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.play-list li{background:var(--snow);padding:22px 24px;display:grid;grid-template-columns:1fr auto;gap:6px 16px;align-items:baseline;border-left:6px solid var(--forest)}
.play-list .when{font-weight:600;color:var(--sunset);font-size:14px;letter-spacing:.06em;text-transform:uppercase;text-align:right}
.play-list p{grid-column:1/-1;color:var(--mute)}.play-list .btn,.play-list .link{grid-column:1/-1;justify-self:start}
.rules-list{margin:0;padding:0;list-style:none;counter-reset:r;display:grid;gap:10px}
.rules-list li{display:grid;grid-template-columns:40px 1fr;gap:12px;align-items:start;counter-increment:r;padding:10px 0;border-bottom:1px solid rgba(250,246,236,.3)}
.rules-list li::before{content:counter(r);font-family:var(--font-display);font-size:18px;color:var(--snow);background:var(--sunset);width:36px;height:36px;display:grid;place-items:center;border-radius:50%}
.league{background:var(--snow);color:var(--ink);padding:28px;border:3px solid var(--sunset)}
.league .price{font-family:var(--font-display);font-size:56px;line-height:1;color:var(--forest)}
.league .price small{font-family:var(--font-body);font-size:13px;color:var(--mute);letter-spacing:.1em;text-transform:uppercase;margin-left:8px}
.league p{color:var(--mute)}.league .btn{margin-top:18px;color:var(--forest);border-color:var(--forest)}.league .btn.fill{color:#fff;border-color:var(--sunset)}
.hours-list{list-style:none;margin:0;padding:0;border-top:3px solid currentColor}
.hours-list li{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid rgba(128,128,128,.35);font-weight:500}
.hours-list li.today{color:var(--sunset);font-weight:600}
.hours-list li.today span:first-child::after{content:"today";margin-left:10px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;opacity:.8}
.addr{margin-top:22px;display:grid;gap:8px}
.age{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.04em;font-size:18px;color:var(--sunset)}
.ph{background:var(--dusk);border:3px solid var(--snow)}
.visit{display:grid;grid-template-columns:5fr 7fr;gap:48px;align-items:start}
.visit .ph,.dd-photo{aspect-ratio:16/10}
.map{border:3px solid var(--snow);background:var(--snow)}
.map svg{width:100%;height:auto;display:block}
.policy{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin-top:32px}
.policy article{background:var(--snow);padding:20px 22px;border-top:6px solid var(--forest)}
.policy h3{margin-bottom:8px}.policy p{color:var(--mute);font-size:15px}
@media (max-width:900px){.visit{grid-template-columns:1fr}.visit .ph{min-height:240px}}
/* artists */
.artists{display:grid;grid-template-columns:5fr 7fr;gap:48px;align-items:start}
.artists p{max-width:50ch}
.form{display:grid;gap:12px;margin-top:22px}
.field{display:grid;gap:5px;font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.field input,.field textarea{font:inherit;font-weight:400;font-size:16px;letter-spacing:0;text-transform:none;color:var(--ink);background:var(--snow);border:2px solid var(--forest);border-radius:3px;padding:11px 14px}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--sunset);box-shadow:0 0 0 3px rgba(230,111,46,.25)}
.form-msg{color:var(--forest);font-weight:600}
.gear-list{list-style:none;margin:0;padding:0;border-top:3px solid var(--forest)}
.gear-list li{display:grid;grid-template-columns:1fr auto;gap:12px;padding:10px 0;border-bottom:1px solid rgba(30,74,58,.3);align-items:baseline}
.gear-list .n{font-weight:600}.gear-list .d{color:var(--mute);font-size:13px;letter-spacing:.06em;text-transform:uppercase;text-align:right}
.stage{background:var(--snow);border-left:6px solid var(--sunset);padding:16px 18px;margin-top:16px}
.trail{background:var(--snow);border:3px solid var(--forest);padding:24px}
.steps-list{margin:12px 0 0;padding:0;list-style:none;display:grid;gap:10px;counter-reset:s}
.steps-list li{display:grid;grid-template-columns:36px 1fr;gap:12px;align-items:start;counter-increment:s}
.steps-list li::before{content:counter(s);font-family:var(--font-display);font-size:18px;color:var(--snow);background:var(--forest);width:36px;height:36px;display:grid;place-items:center;border-radius:50%}
.steps-list b{font-weight:600;display:block}.steps-list span{font-size:14.5px;color:var(--mute)}
.console{margin-top:32px;background:var(--snow);border:3px solid var(--forest);padding:24px}
.console-note{color:var(--mute);font-size:14px;margin-bottom:12px}
@media (max-width:900px){.artists{grid-template-columns:1fr}.console{padding:14px}}

.vc-head{display:flex;justify-content:space-between;align-items:end;gap:16px;flex-wrap:wrap;margin-bottom:16px}
.vc-kicker{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#1E4A3A;font-weight:700}
.vc-title{font-size:30px;margin:0;text-transform:none}
.vc-legend{list-style:none;margin:0;padding:0;display:flex;gap:14px;flex-wrap:wrap;font-size:13px;color:#5E6A62}
.vc-legend li{display:flex;align-items:center;gap:6px}
.vc-dot{width:10px;height:10px;border-radius:50%;display:inline-block;flex:none}
.vc-offered{box-shadow:inset 0 0 0 2px #1E4A3A;background:transparent}
.vc-confirmed{background:#1E4A3A}
.vc-needs{background:#E66F2E}
.vc-staffed{background:#2B6A8E}
.vc-grid{display:grid;grid-template-columns:7fr 5fr;gap:14px}
.vc-cal{background:#EDE2C6;border-radius:3px;padding:12px;border:2px solid #1E4A3A}
.vc-wd{display:grid;grid-template-columns:repeat(7,1fr);font-size:12px;color:#5E6A62;text-align:center;margin-bottom:6px;font-weight:600}
.vc-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.vc-day{aspect-ratio:1;border-radius:calc(3px * .6);background:#FAF6EC;padding:6px;font-size:12px;display:flex;flex-direction:column;gap:2px;overflow:hidden;position:relative;line-height:1.25;color:#1B2420}
.vc-day b{font-weight:600;color:#5E6A62}
.vc-day.today{outline:2px solid #1E4A3A;outline-offset:-2px}
.vc-day.has b{color:#1B2420}
.vc-day small{font-size:10.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vc-day .vc-dot{position:absolute;top:7px;right:7px}
.vc-day.vc-needs{box-shadow:inset 0 0 0 1px #E66F2E}
.vc-side{display:grid;gap:12px;align-content:start}
.vc-offer,.vc-staff,.vc-propose{background:#EDE2C6;border-radius:3px;padding:16px;border:2px solid #1E4A3A}
.vc-offer h4,.vc-staff h4,.vc-propose h4{margin:0;font-weight:700;font-size:16px;display:flex;justify-content:space-between;gap:8px;align-items:baseline;flex-wrap:wrap;line-height:1.3;color:#1B2420}
.vc-staff h4 span{font-weight:400;font-size:13px;color:#5E6A62}
.vc-exp{font-size:12px;color:#E66F2E;font-weight:700}
.vc-dl{margin:12px 0;display:grid;gap:8px;font-size:14px;line-height:1.4}
.vc-dl div{display:grid;grid-template-columns:60px 1fr;gap:10px}
.vc-dl dt{color:#5E6A62}.vc-dl dd{margin:0}
.vc-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}
.vc-btn{font:inherit;font-size:14px;font-weight:700;background:#1E4A3A;color:#FAF6EC;border:2px solid #1E4A3A;border-radius:3px;padding:8px 16px;cursor:pointer;line-height:1.2}
.vc-btn.ghost{background:transparent;color:#1B2420;border-color:#1E4A3A}
.vc-btn.small{padding:5px 12px;font-size:13px}
.vc-ok{color:#2B6A8E;font-weight:700;margin-top:8px;font-size:14px;line-height:1.4}
.vc-offer p,.vc-msg{font-size:14px;margin:8px 0 0;line-height:1.4;color:#1B2420}
.vc-field{display:grid;gap:6px;font-size:13px;color:#5E6A62;margin:10px 0}
.vc-field input{font:inherit;background:#FAF6EC;border:1px solid #1E4A3A;color:#1B2420;padding:9px 12px;border-radius:calc(3px * .6)}
.vc-form{display:grid;gap:4px}
.vc-shifts{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:6px}
.vc-shift{display:grid;grid-template-columns:1fr 1fr auto auto;gap:10px;align-items:center;font-size:13.5px;background:#FAF6EC;border-radius:calc(3px * .6);padding:8px 10px;line-height:1.3;color:#1B2420}
.vc-shift.vc-open{box-shadow:inset 0 0 0 1px #E66F2E}
.vc-shift .vc-who{color:#5E6A62}.vc-shift.vc-confirmed .vc-who{color:#1B2420}
.vc-time{color:#5E6A62;font-variant-numeric:tabular-nums}
.vc-pill{font-size:12px;color:#2B6A8E;font-weight:700}
.vc-flow{display:flex;flex-wrap:wrap;gap:6px 0;margin:16px 0 0;font-size:13px;color:#5E6A62;line-height:1.4}
.vc-flow span+span::before{content:"";display:inline-block;width:16px;height:2px;background:#1E4A3A;margin:0 8px;vertical-align:middle}
@media (max-width:820px){.vc-grid{grid-template-columns:1fr}.vc-day{aspect-ratio:auto;min-height:46px}.vc-day small{display:none}.vc-shift{grid-template-columns:1fr auto}.vc-shift .vc-time{grid-column:1}}
.vc-title{text-transform:uppercase}
.vc-btn{text-transform:uppercase;letter-spacing:.06em;font-size:13px}
.vc-offer h4,.vc-staff h4,.vc-propose h4{font-family:var(--font-display);font-weight:400;text-transform:uppercase;font-size:18px}
/* shows list */
.filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:24px 0 8px}
.filter{font:inherit;font-weight:600;font-size:13px;letter-spacing:.06em;text-transform:uppercase;background:var(--snow);border:2px solid var(--forest);color:var(--forest);border-radius:3px;padding:8px 14px;cursor:pointer}
.filter[aria-pressed=true]{background:var(--forest);color:var(--snow)}
.filter-count{margin-left:auto;color:var(--mute);font-size:14px}
.sl-month h2{font-size:clamp(28px,3.6vw,42px);margin:36px 0 12px}
.sl-list{list-style:none;margin:0;padding:0;border-top:3px solid var(--forest)}
.sl-row{display:grid;grid-template-columns:110px 110px 1.4fr 1.2fr auto;gap:6px 16px;align-items:center;padding:14px 0;border-bottom:1px solid rgba(30,74,58,.3)}
.sl-row.past{opacity:.5}
.sl-day{display:flex;flex-direction:column}.sl-day b{font-family:var(--font-display);font-size:24px;text-transform:uppercase;line-height:1;color:var(--forest)}.sl-day small{color:var(--mute);font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.sl-row.tonight .sl-day b,.sl-row.live .sl-day b{color:var(--sunset)}
.sl-time{font-weight:600;font-size:15px}
.sl-act{font-size:19px;font-weight:600}.sl-act a{color:inherit;text-decoration:none}.sl-act a:hover{text-decoration:underline;text-decoration-color:var(--sunset)}
.sl-genre{color:var(--mute);font-size:14px}
.sl-row.sample .sl-act::after{content:" (sample)";font-weight:400;color:var(--mute);font-size:13px}
@media (max-width:760px){.sl-row{grid-template-columns:90px 1fr auto}.sl-time{grid-column:2}.sl-act{grid-column:2}.sl-genre{grid-column:2}.sl-badge{grid-column:3;grid-row:1}}
/* show detail */
.show-hero{display:grid;grid-template-columns:7fr 5fr;gap:48px;align-items:end;padding:48px 0 32px}
.show-hero .kicker{display:block;font-weight:600;letter-spacing:.14em;text-transform:uppercase;font-size:13px;color:var(--sunset)}
.show-hero h1{margin:8px 0 12px}
.show-hero .genre{font-size:19px;color:var(--mute)}
.show-hero .ph{aspect-ratio:4/3;border-color:var(--forest)}
.show-body{display:grid;grid-template-columns:7fr 5fr;gap:48px;align-items:start}
.show-body .blurb{font-size:18px;max-width:56ch}
.show-facts{margin:24px 0 0;display:grid;border-top:3px solid var(--forest)}
.show-facts div{display:grid;grid-template-columns:90px 1fr;gap:12px;padding:10px 0;border-bottom:1px solid rgba(30,74,58,.3)}
.show-facts dt{font-weight:600;letter-spacing:.08em;text-transform:uppercase;font-size:13px;color:var(--forest)}.show-facts dd{margin:0}
.show-actions{display:grid;gap:10px;background:var(--snow);border:3px solid var(--forest);padding:22px}
.show-actions .btn{width:100%}
.share-msg{color:var(--forest);font-size:14px}
@media (max-width:860px){.show-hero,.show-body{grid-template-columns:1fr}}
/* footer */
footer{background:var(--forest);color:var(--snow);padding:56px 0 64px;border-top:6px solid var(--sunset)}
.foot{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:40px}
.foot h3{font-size:20px;margin-bottom:10px}
.foot form{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.foot input{flex:1;min-width:0;font:inherit;font-size:15px;color:var(--ink);background:var(--snow);border:none;border-radius:3px;padding:10px 14px}
.foot button{font:inherit;font-weight:600;font-size:15px;letter-spacing:.04em;text-transform:uppercase;border-radius:3px;padding:10px 18px;border:none;background:var(--sunset);color:#fff;cursor:pointer}
.foot .form-msg{flex-basis:100%;color:var(--snow)}
.foot p,.foot li{font-size:15px;color:#C9D6CF}
.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.foot a{color:var(--snow);text-decoration-color:var(--sunset);text-underline-offset:4px}
.foot .small{margin-top:24px;font-size:13px}
@media (max-width:860px){.foot{grid-template-columns:1fr}}

.bnav{position:fixed;left:0;right:0;bottom:0;z-index:50;display:none;grid-template-columns:repeat(4,1fr);background:#1E4A3A;border-top:4px solid #E66F2E;padding:8px 8px calc(8px + env(safe-area-inset-bottom))}
.bnav a,.bnav button{display:flex;flex-direction:column;align-items:center;gap:4px;font:inherit;font-size:12px;font-weight:700;color:#FAF6EC;text-decoration:none;background:none;border:none;padding:6px 0;border-radius:8px}
.bnav svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.bnav a:hover,.bnav button:hover,.bnav [aria-expanded=true],.bnav a[aria-current]{color:#E66F2E}
@media (max-width:860px){.bnav{display:grid}body{padding-bottom:72px}}
.menu-sheet{position:fixed;inset:0;z-index:45;background:#EDE2C6;padding:calc(var(--preview-bar-h,0px) + 24px) 24px 120px;display:flex;flex-direction:column;justify-content:center;gap:4px;overflow:auto}
.menu-sheet[hidden]{display:none}
.menu-sheet a{text-decoration:none;color:#1E4A3A;line-height:1.05;padding:6px 0}
.menu-sheet a[aria-current]{color:#E66F2E}
.menu-sheet .meta{margin-top:20px;display:grid;gap:4px;color:#5E6A62;font-size:15px}
.menu-sheet .meta a{font:inherit;color:#E66F2E;padding:0}
.menu-sheet [data-close]{position:absolute;top:calc(var(--preview-bar-h,0px) + 16px);right:18px;background:#FAF6EC;border:3px solid #1E4A3A;color:#1E4A3A;width:44px;height:44px;border-radius:50%;font-size:22px;cursor:pointer}
body.menu-open{overflow:hidden}
.bnav{z-index:70}.menu-sheet{z-index:65}
.bnav a,.bnav button{letter-spacing:.06em;text-transform:uppercase}
.menu-sheet a{font-family:var(--font-display);font-size:40px;text-transform:uppercase}
