:root{--bg:#0f0805;--bg2:#1b0f08;--card:#24150b;--gold:#d9b45a;--gold2:#f3d98a;--paper:#efe2c2;--mute:#c9b48c;--line:#5e3f1c;--red:#a8331f;--silver:#d8d8d2}
*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;color:var(--paper);font:500 1.12rem/1.6 "Cormorant Garamond",Georgia,"Times New Roman",serif;min-height:100vh;overflow-x:hidden;
background:radial-gradient(circle at 8% 0,rgba(255,170,70,.16),transparent 32%),radial-gradient(circle at 92% 0,rgba(255,170,70,.14),transparent 30%),
repeating-linear-gradient(90deg,rgba(0,0,0,.22) 0 2px,transparent 2px 140px),
url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.9' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 .2 0 0 0 0 .12 0 0 0 0 .05 0 0 0 .5 0'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)'/%3E%3C/svg%3E"),
linear-gradient(180deg,#22130a,var(--bg) 600px,#0b0503);background-color:var(--bg)}
html{background:#0f0805}
a{color:var(--gold2);text-underline-offset:3px}a:hover{color:#fff}
img{max-width:100%}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-9999px}.skip:focus{left:8px;top:8px;background:var(--gold);color:#000;padding:6px;z-index:9}
.top{position:sticky;top:0;z-index:5;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 14px;padding:8px 14px;background:linear-gradient(rgba(18,9,4,.96),rgba(18,9,4,.9));backdrop-filter:blur(6px);border-bottom:1px solid var(--line);box-shadow:0 1px 0 rgba(243,217,138,.18),0 6px 20px rgba(0,0,0,.5)}
.brand{display:flex;align-items:center;gap:10px;font-family:Rye,Georgia,serif;color:var(--paper);text-decoration:none;font-size:1.2rem}
.brand img{width:40px;height:40px;border-radius:50%;border:2px solid var(--gold);box-shadow:0 0 12px rgba(255,180,80,.45)}.brand b{color:var(--gold2);font-weight:400}
nav{display:flex;gap:2px;overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%;scrollbar-width:none}
nav a{color:var(--mute);text-decoration:none;padding:6px 11px;border-radius:999px;white-space:nowrap;font-size:1rem;font-weight:700}
nav a:hover,nav a[aria-current]{color:#1a0f08;background:linear-gradient(#f6e3a1,#c9a24a)}
main{max-width:1120px;margin:0 auto;padding:0 14px 40px}
section{margin:30px 0;position:relative}
main>section:not(.banner-hero):not(.intro)+section::before{content:"";display:block;height:30px;margin:0 auto 26px;max-width:420px;background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20300%2030%22%3E%3Cdefs%3E%3ClinearGradient%20id%3D%22g%22%20x1%3D%220%22%20x2%3D%221%22%3E%3Cstop%20offset%3D%220%22%20stop-color%3D%22%23d9b45a%22%20stop-opacity%3D%220%22/%3E%3Cstop%20offset%3D%22.5%22%20stop-color%3D%22%23f3d98a%22/%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23d9b45a%22%20stop-opacity%3D%220%22/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath%20d%3D%22M0%2015H128M172%2015H300%22%20stroke%3D%22url%28%23g%29%22%20stroke-width%3D%221.5%22/%3E%3Cpath%20d%3D%22M155%202l-14%2015h9l-6%2011%2016-17h-9z%22%20fill%3D%22%23f3d98a%22%20stroke%3D%22%238a6420%22%20stroke-width%3D%22.8%22/%3E%3Ccircle%20cx%3D%22133%22%20cy%3D%2215%22%20r%3D%222%22%20fill%3D%22%23d9b45a%22/%3E%3Ccircle%20cx%3D%22167%22%20cy%3D%2215%22%20r%3D%222%22%20fill%3D%22%23d9b45a%22/%3E%3C/svg%3E") center/contain no-repeat;filter:drop-shadow(0 0 6px rgba(255,200,90,.5))}
h1,h2,h3{font-family:Rye,Georgia,serif;font-weight:400;line-height:1.15;letter-spacing:.01em;
background:linear-gradient(180deg,#fff4cc 0,#f0cf72 38%,#a3741f 52%,#e9c768 70%,#fff0b8 100%);-webkit-background-clip:text;background-clip:text;color:var(--gold2);-webkit-text-fill-color:transparent;filter:drop-shadow(0 2px 0 #1e0f05)}
h2{font-size:clamp(1.5rem,4.5vw,2.1rem)}
/* full-bleed banner */
.banner-hero{position:relative;left:50%;width:100vw;margin:0 0 0 -50vw;overflow:hidden;background:#0b0503;border-bottom:3px double var(--gold);display:flex;justify-content:center}
.bh-bg{position:absolute;inset:-40px;width:calc(100% + 80px);height:calc(100% + 80px);object-fit:cover;filter:blur(28px) brightness(.55) saturate(1.2)}
.bh-img{position:relative;display:block;width:100%;max-width:min(1100px,calc(82vh*16/9));height:auto;aspect-ratio:16/9;-webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
@media(max-width:700px){.bh-img{-webkit-mask-image:none;mask-image:none}}
.hero{text-align:center;padding:48px 8px 30px;border-bottom:3px double var(--line);background:radial-gradient(ellipse at 50% 0,rgba(255,170,70,.18),transparent 65%)}
.hero.intro{padding:18px 8px 26px}
.hero.sm{padding:34px 8px 22px}.hero.sm h1{font-size:clamp(1.8rem,6.5vw,3.1rem);margin:.15em 0}
.hero p{max-width:680px;margin:.5em auto;color:var(--mute)}.est{letter-spacing:.25em;text-transform:uppercase;font-size:.85rem;color:var(--gold)!important;font-weight:700}
.tag{font-family:Rye,Georgia,serif;font-size:clamp(1.3rem,5vw,1.9rem);color:var(--gold2)!important;text-shadow:0 0 18px rgba(255,180,80,.35);margin:.2em auto!important}
.btn{display:inline-block;padding:11px 20px;margin:5px;border-radius:6px;background:linear-gradient(180deg,#fbe9a8,#d9b45a 45%,#a87a26 55%,#e8c867);color:#1a0f08;text-decoration:none;font:700 1.02rem/1.2 "Cormorant Garamond",Georgia,serif;letter-spacing:.03em;border:1px solid #6b4a14;box-shadow:inset 0 1px 0 rgba(255,255,255,.6),0 3px 10px rgba(0,0,0,.45)}
.btn:hover{color:#000;filter:brightness(1.1)}.btn.ghost{background:rgba(0,0,0,.25);color:var(--gold2);border-color:var(--gold)}
.btn.play{background:linear-gradient(180deg,#d4573a,#8a1f14);color:#fff3c4;border-color:#4d1009}
.tiles,.grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(min(100%,270px),1fr))}
.tiles a,.card,.ev,.music{position:relative;display:block;background:radial-gradient(ellipse at 50% 0,rgba(255,180,80,.10),transparent 60%),linear-gradient(180deg,var(--card),var(--bg2));border:1px solid var(--line);outline:1px solid rgba(217,180,90,.35);outline-offset:-6px;border-radius:10px;padding:20px 22px;text-decoration:none;color:var(--paper);box-shadow:0 8px 22px rgba(0,0,0,.45)}
.tiles a::before,.card::before,.ev::before,.music::before,.tiles a::after,.card::after,.ev::after,.music::after{content:"";position:absolute;width:30px;height:30px;background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2040%2040%22%20fill%3D%22none%22%20stroke%3D%22%23d9b45a%22%20stroke-width%3D%221.6%22%3E%3Cpath%20d%3D%22M2%2038V10Q2%202%2010%202h28%22/%3E%3Cpath%20d%3D%22M7%2030V14q0-7%207-7h16%22/%3E%3Cpath%20d%3D%22M14%2014q6%200%206%206t-6%206q-4%200-4-4%22%20stroke-width%3D%221.2%22/%3E%3Ccircle%20cx%3D%222%22%20cy%3D%2238%22%20r%3D%221.8%22%20fill%3D%22%23d9b45a%22/%3E%3Ccircle%20cx%3D%2238%22%20cy%3D%222%22%20r%3D%221.8%22%20fill%3D%22%23d9b45a%22/%3E%3C/svg%3E") no-repeat center/contain;pointer-events:none}
.tiles a::before,.card::before,.ev::before,.music::before{top:3px;left:3px}
.tiles a::after,.card::after,.ev::after,.music::after{bottom:3px;right:3px;transform:rotate(180deg)}
.tiles a{transition:transform .2s,box-shadow .2s}.tiles a:hover{transform:translateY(-2px);border-color:var(--gold);box-shadow:0 0 22px rgba(255,180,80,.25),0 8px 22px rgba(0,0,0,.45)}
.tiles h2{margin:.1em 0;font-size:1.35rem}.tiles p{margin:0;color:var(--mute)}
.card h3{margin:.1em 0 .3em;font-size:1.3rem}.card p{margin:.45em 0}
.det{list-style:none;padding:0;margin:.4em 0;color:var(--mute);font-size:1rem}
.also,.src,.note{font-size:.95rem;color:var(--mute)}
.chips a{display:inline-block;margin:3px;padding:5px 13px;border:1px solid var(--gold);border-radius:999px;text-decoration:none;background:rgba(0,0,0,.3);font-weight:700}
.cat h2{border-bottom:1px solid var(--line);padding-bottom:6px}
.ev{margin:14px 0}.ev time{color:var(--gold2);font-weight:700}.ev h3{margin:.2em 0}.venue{color:var(--mute);margin:0}
/* silver-coin bullets */
.prose ul,.songs,.evmini{list-style:none;padding-left:0}
.prose ul li,.songs li,.evmini li{position:relative;padding-left:30px}
.prose ul li::before,.songs li::before,.evmini li::before{content:"";position:absolute;left:0;top:.45em;width:18px;height:18px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff 0,#e6e6e0 25%,#9c9c96 60%,#5e5e5a 100%);box-shadow:inset 0 0 0 2px rgba(0,0,0,.25),inset 0 0 0 4px rgba(255,255,255,.35),0 1px 3px rgba(0,0,0,.6)}
.evmini li{padding-top:8px;padding-bottom:8px;border-bottom:1px dashed var(--line)}.evmini li::before{top:.85em}.evmini time{color:var(--gold2)}
.prose{max-width:780px;margin-left:auto;margin-right:auto}
.map,.jukebox{position:relative;border:2px solid var(--gold);border-radius:12px;overflow:hidden;background:#000;box-shadow:0 0 0 4px rgba(0,0,0,.6),0 0 0 5px var(--line),0 0 30px rgba(255,180,80,.18)}
.map iframe{width:100%;height:min(70vh,560px);border:0;display:block}
.jukebox iframe{width:100%;height:min(85vh,900px);border:0;display:block}
.songs{columns:2 260px}.songs li{margin:6px 0;break-inside:avoid}
.listen{text-align:center}
.music{text-align:center;padding:26px}
footer{border-top:3px double var(--gold);text-align:center;padding:22px 16px 40px;color:var(--mute);font-size:1rem;background:radial-gradient(ellipse at 50% 100%,rgba(255,170,70,.12),transparent 70%)}
@media(max-width:400px){body{font-size:1.05rem}.top{padding:8px 10px}.brand{font-size:1.05rem}.tiles a,.card,.ev,.music{padding:18px 16px}.btn{padding:10px 14px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.tiles a{transition:none}}

/* Sponsored badge (future use): <span class="sponsored">Sponsored</span> */
.sponsored{display:inline-block;font:700 .7rem/1 system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#1a0f08;background:var(--gold);border:1px solid #7a5418;border-radius:4px;padding:3px 6px;vertical-align:middle}
.card.is-sponsored{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold),0 6px 18px rgba(0,0,0,.35)}
.jukebox.home iframe{height:clamp(520px,75vh,760px)}
/* persistent player bar */
body{padding-bottom:calc(64px + env(safe-area-inset-bottom))}
.pbar{position:fixed;left:0;right:0;bottom:0;z-index:20;margin:0 auto;max-width:980px;background:linear-gradient(180deg,#2a170b,#140a04);border:2px solid var(--gold);border-bottom:0;border-radius:12px 12px 0 0;box-shadow:0 -6px 24px rgba(0,0,0,.6),0 0 18px rgba(255,180,80,.2);padding-bottom:env(safe-area-inset-bottom)}
.pbar summary{list-style:none;display:flex;align-items:center;gap:10px;min-height:54px;padding:6px 14px;cursor:pointer;user-select:none}
.pbar summary::-webkit-details-marker{display:none}
.pb-ico{flex:none;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;color:#1a0f08;background:radial-gradient(circle at 35% 30%,#fff3c4,#d9b45a 55%,#8a6420);font-size:1.1rem}
.pb-t{font-family:Rye,Georgia,serif;color:var(--gold2);white-space:nowrap}
.pb-s{color:var(--mute);font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1}
.pb-tog{flex:none;margin-left:auto;width:30px;height:30px;border:1px solid var(--gold);border-radius:50%;position:relative}
.pb-tog::before{content:"";position:absolute;left:10px;top:8px;width:8px;height:8px;border-left:2px solid var(--gold2);border-top:2px solid var(--gold2);transform:rotate(45deg);transition:transform .2s}
.pbar[open] .pb-tog::before{transform:rotate(225deg);top:5px}
.pb-body iframe{display:block;width:100%;height:min(68vh,640px);border:0;border-top:1px solid var(--line);background:#000}
.pb-full{margin:0;padding:6px 14px 8px;text-align:center;font-size:.95rem}
@media(max-width:420px){.pb-s{display:none}}
@media(min-width:1000px){.pbar{bottom:0}}
/* desktop home: compact music sections (phones untouched) */
@media(min-width:900px){
main>section.music,main>section#listen{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:4px 14px;text-align:left;padding:10px 18px;margin:18px auto;max-width:820px}
main>section#listen{border:1px solid var(--line);border-radius:10px;background:linear-gradient(180deg,var(--card),var(--bg2))}
main>section.music+section#listen::before{display:none}
main>section.music h2,main>section#listen h2{font-size:1.15rem;margin:0}
main>section.music p,main>section#listen p{margin:0;font-size:.98rem;color:var(--mute)}
main>section.music .btn,main>section#listen .btn{padding:6px 14px;font-size:.92rem;margin:2px}
}

/* sponsor anchor: visible landing */
#sponsor{scroll-margin:90px 0 110px;border-radius:8px;transition:background .3s}
#sponsor:target,#sponsor.flash{animation:spflash 2.2s ease-out}
@keyframes spflash{0%,40%{background:rgba(212,175,55,.28);box-shadow:0 0 0 6px rgba(212,175,55,.28)}100%{background:transparent;box-shadow:0 0 0 6px transparent}}
/* visit counter */
.vcount{font-size:.78rem;letter-spacing:.06em;color:#c9a54a;opacity:.75;margin-top:.4rem}
/* directory filter + compact cards on phones */
.dfilter input{width:100%;max-width:420px;box-sizing:border-box;padding:10px 12px;border-radius:8px;border:1px solid var(--line);background:var(--bg2);color:var(--paper);font:inherit}
.cat h2 small{font-size:.6em;opacity:.7}.card .note{font-size:.85rem;opacity:.8;font-style:italic}
.card[hidden],section.cat[hidden]{display:none!important}
@media(max-width:600px){.cat .card{padding:14px 14px}.cat .card p{margin:.3em 0}.cat .card .src{font-size:.75rem}.cat .card .det{margin:.3em 0}}
/* webmaster's pick */
.pick{margin:.2em 0 .4em}.pick-badge{display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.04em;color:#1a1005;background:linear-gradient(180deg,#f3d27a,#c99a2e);border-radius:999px;padding:2px 10px}.pick-note{font-style:italic;font-size:.9rem;color:#e9cf86}
.card.is-pick{border-color:#d9b45a}

.honors{max-width:1100px;margin:1rem auto;padding:.6rem 1rem;border:1px solid #c9a227;border-radius:8px;background:#fffaf0}.honors h2{font-size:1.05rem;margin:0 0 .4rem}.honors ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem .9rem}.honors a{color:#7a5a00;font-weight:600;overflow-wrap:anywhere}

nav.honors{display:block;position:static;height:auto;width:auto;box-sizing:border-box;margin:1rem;max-width:1100px}@media(min-width:1140px){nav.honors{margin:1rem auto}}nav.honors ul{display:flex;flex-flow:row wrap;justify-content:flex-start}nav.honors li{flex:0 1 auto;min-width:0;margin:0;padding:0;list-style:none}nav.honors a{white-space:normal}
.pick-tip{display:block;margin-top:.2rem;font-style:italic}.pick-tip a{color:inherit;text-decoration:underline}
.card.featured{border:2px solid #d4af37;box-shadow:0 0 0 3px rgba(212,175,55,.25),0 6px 22px rgba(0,0,0,.45);background:linear-gradient(180deg,rgba(212,175,55,.14),rgba(0,0,0,0) 40%)}
@media(min-width:900px){.card.featured{grid-column:1/-1}}
.feat-lede{font-size:1.12rem;font-weight:700;color:#f1d27a;margin:.3rem 0 .5rem}
.card.featured details.more summary{cursor:pointer;color:#f1d27a;font-weight:600;margin:.4rem 0}
.btn.yt{background:#b31217;color:#fff;border-color:#b31217;font-weight:700}

.card.featured.bk-black{position:relative;color:#f4ead2;padding-bottom:2.2rem;background:linear-gradient(90deg,#000 0,#000 50%,rgba(0,0,0,.5) 57%,rgba(0,0,0,.25) 66%,rgba(0,0,0,.25) 100%),url(/img/bigkates-girl.webp) right center/62% auto no-repeat,#000}
@media(min-width:900px){.card.featured.bk-black>*:not(.bk-cap){max-width:52%}}
.bk-black .bk-cap{position:absolute;right:8px;bottom:6px;font-size:.78rem;font-style:italic;color:#d8cfb8;background:rgba(0,0,0,.75);padding:1px 6px;border-radius:4px;z-index:2}
@media(max-width:899px){.card.featured.bk-black{padding-top:calc((100vw - 40px)*.5625 + 6px);background:linear-gradient(180deg,rgba(0,0,0,.2) 0,rgba(0,0,0,.3) calc((100vw - 40px)*.42),rgba(0,0,0,.85) calc((100vw - 40px)*.53),#000 calc((100vw - 40px)*.5625),#000 100%),url(/img/bigkates-girl.webp) center top/100% auto no-repeat,#000}}
