:root{--bg:#f0eee9;--surface:#f5ecd6;--line:#d8d4ca;--text:#1f2a30;--muted:#5d686e;--accent:#9a5628;--cerulean:#2d6590;
--serif:"Bodoni Moda","Didot","Bodoni 72",Georgia,serif;--sans:"Hanken Grotesk","Helvetica Neue",Arial,sans-serif}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--text);font-family:var(--sans);font-weight:300;font-size:1.0625rem;line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}
.wrap{max-width:46rem;margin:0 auto;padding:0 1.5rem}

.banner{position:relative;line-height:0}
.banner img{display:block;width:100%;height:auto}
.banner a{position:absolute;display:block;border-radius:6px;transition:background .2s}
.banner a:hover{background:rgba(154,86,40,.1)}
.banner a.logo{border-radius:0}
.banner a.logo:hover{background:none}
.banner a.logo img{transition:transform .3s}
.banner a.logo:hover img{transform:scale(1.03)}

nav.bar{position:sticky;top:0;z-index:5;background:rgba(240,238,233,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
nav.bar .in{max-width:none;margin:0;padding:.8rem 5%;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.7rem 1.5rem}
nav.bar .menu a{padding:.45rem 1.15rem;border:1px solid var(--line);border-radius:999px;font-size:.95rem;font-weight:400;transition:border-color .2s,background .2s,color .2s}
nav.bar .menu a:hover{border-color:var(--cerulean)}
nav.bar .menu a[aria-current="page"]{background:var(--accent);border-color:var(--accent);color:#fff8f0}

.menu{display:flex;flex-wrap:wrap;gap:.5rem}
.socials-bar{display:flex;gap:.6rem}
.sb{width:2.35rem;height:2.35rem;border-radius:50%;display:grid;place-items:center;color:var(--text);border:1px solid var(--text);background:transparent;transition:transform .2s,background .2s,color .2s,border-color .2s}
.sb svg{width:1.1rem;height:1.1rem;fill:currentColor}
.sb.email svg{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.sb:hover,.sb:focus-visible{transform:translateY(-2px);color:#fff;border-color:transparent}
.sb.facebook:hover,.sb.facebook:focus-visible{background:#3975ea}
.sb.instagram:hover,.sb.instagram:focus-visible{background:#cf416d}
.sb.linkedin:hover,.sb.linkedin:focus-visible{background:#3966ad}
.sb.pinterest:hover,.sb.pinterest:focus-visible{background:#d32d2f}
.sb.x:hover,.sb.x:focus-visible{background:#1b1b1b}
.sb.youtube:hover,.sb.youtube:focus-visible{background:#ea3323}
.sb.soundcloud:hover,.sb.soundcloud:focus-visible{background:#ff5500}
.sb.beatport:hover,.sb.beatport:focus-visible{background:#01ff95;color:#0c171e}
.sb.email:hover,.sb.email:focus-visible{background:var(--accent)}
@media(max-width:52rem){nav.bar{position:static}nav.bar .in{justify-content:center}}

main{padding:4rem 0 5rem;animation:rise .8s cubic-bezier(.2,.7,.2,1) both}
@keyframes rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
h1{font-family:var(--serif);font-weight:400;font-size:clamp(2.2rem,6vw,3rem);letter-spacing:-.01em;margin-bottom:.6rem}
.lede{color:var(--muted);max-width:34rem;margin-bottom:2.5rem}
.bio p{max-width:36rem;margin-bottom:1.3rem;font-size:1.12rem}
.bio h1{margin-bottom:1.8rem}

.featured{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:2rem;margin-bottom:2rem}
.featured h3{font-family:var(--serif);font-weight:400;font-size:1.6rem;margin:.35rem 0 .75rem}
.meta{font-size:.9rem;color:var(--cerulean)}
.btn{display:inline-block;margin-top:1.25rem;padding:.65rem 1.4rem;border:1px solid var(--accent);border-radius:999px;font-weight:400;transition:background .2s,color .2s}
.btn:hover{background:var(--accent);color:var(--bg)}


details{border-bottom:1px solid var(--line)}
summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:1.4rem 0}
summary::-webkit-details-marker{display:none}
summary .t{font-family:var(--serif);font-size:1.3rem}
summary .d{color:var(--muted);font-size:.92rem;white-space:nowrap}
summary::after{content:"+";color:var(--cerulean);font-size:1.4rem;line-height:1;transition:transform .25s}
details[open] summary::after{transform:rotate(45deg)}
.eplink{display:inline-block;margin:-.4rem 0 1rem}
.tracks{list-style:none;padding:0 0 1.75rem}
.tracks li{display:grid;grid-template-columns:4.2rem 1fr;gap:1rem;padding:.4rem 0}
.tracks .tc{color:var(--cerulean);font-variant-numeric:tabular-nums;font-size:.92rem;padding-top:.1rem}
.tracks .ar{color:var(--muted)}


footer{padding:2.5rem 0 3.5rem;border-top:1px solid var(--line);color:var(--muted);font-size:.9rem}
@media(max-width:36rem){main{padding:3rem 0 4rem}.featured{padding:1.4rem}.releases li{grid-template-columns:3.2rem 1fr auto}summary{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}html{scroll-behavior:auto}}

.hsec{padding:3rem 0;border-top:1px solid var(--line)}
.hsec.first{border-top:0;padding-top:0}
.sechead{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:1.5rem}
.sechead h2,.bio-teaser h2{font-family:var(--serif);font-weight:400;font-size:1.7rem;letter-spacing:-.01em}
.more{color:var(--accent);font-weight:400}
.more:hover{text-decoration:underline;text-underline-offset:4px}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:1.3rem}
.card{display:block}
.card .cover{display:block;aspect-ratio:1;border-radius:6px;margin-bottom:.8rem;object-fit:cover;width:100%;transition:transform .25s}
.card:hover .cover{transform:translateY(-3px)}
.card b{font-family:var(--serif);font-weight:400;font-size:1.1rem;display:block}
.card .sub{color:var(--muted);font-size:.9rem}
.bio-teaser{display:grid;grid-template-columns:14rem 1fr;gap:2rem;align-items:center}
.bio-teaser img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:6px}
.bio-teaser h2{margin-bottom:.7rem}
.bio-teaser p{margin-bottom:1rem;max-width:30rem}
@media(max-width:36rem){.bio-teaser{grid-template-columns:1fr}.bio-teaser img{max-width:14rem}}

.podhead{display:grid;grid-template-columns:11rem 1fr;gap:1.8rem;align-items:center;margin:1.5rem 0 3rem}
.podhead img{width:100%;height:auto;aspect-ratio:1;border-radius:6px;object-fit:cover}
.podhead .meta{margin-bottom:.4rem}
.podhead .lede{margin-bottom:0}
.podhead .btn{margin-right:1.2rem}
.epdesc{color:var(--muted);max-width:36rem;margin:-.3rem 0 1rem}
#episodes audio{display:block;width:100%;max-width:36rem;margin:0 0 1rem}
@media(max-width:36rem){.podhead{grid-template-columns:1fr}.podhead img{max-width:11rem}}

.featured.withart{display:grid;grid-template-columns:9.5rem 1fr;gap:1.6rem;align-items:start}
.fart{width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:6px}
.fbody h3{margin-top:.2rem}
.fbody audio{display:block;width:100%;height:2.5rem;margin:1rem 0 .2rem}
.fbody audio[hidden]{display:none}
.fbody .btn{margin-top:1rem}
@media(max-width:36rem){.featured.withart{grid-template-columns:1fr}.fart{max-width:11rem}}

.play{font:inherit;font-weight:400;color:var(--text);background:transparent;border:1px solid var(--accent);border-radius:999px;padding:.5rem 1.3rem;cursor:pointer;transition:background .2s,color .2s}
.play:hover,.play[aria-expanded="true"]{background:var(--accent);color:#fff8f0}

.wrap.wide{max-width:64rem}
.nowp{display:grid;grid-template-columns:12rem 1fr;gap:1.8rem;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:1.6rem;margin:1.5rem 0 2.2rem;scroll-margin-top:4.5rem}
.nowp img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:4px}
.nowp h2{font-family:var(--serif);font-weight:400;font-size:1.7rem;line-height:1.2;margin:.3rem 0 .4rem}
.nowp .sub{color:var(--muted);margin-bottom:1rem}
#np-embed:not(:empty){margin:.2rem 0 1rem}
#np-embed iframe{display:block;width:100%;height:162px;border:0;max-width:100%}
.np-actions{display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap}
.filters{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.6rem}
.filt{font:inherit;font-weight:400;color:var(--text);background:transparent;border:1px solid var(--line);border-radius:999px;padding:.4rem 1.1rem;cursor:pointer;transition:background .2s,border-color .2s,color .2s}
.filt:hover{border-color:var(--cerulean)}
.filt[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:#fff8f0}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.8rem 1.3rem;align-items:start}
.tilewrap[hidden]{display:none}
.tile{display:block;width:100%;text-align:left;background:none;border:0;padding:0;font:inherit;color:inherit;cursor:pointer}
.tile img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:6px;margin-bottom:.7rem;transition:transform .25s,box-shadow .25s}
.tile:hover img{transform:translateY(-3px)}
.tile.is-on img{box-shadow:0 0 0 3px var(--accent)}
.tile b{display:block;font-family:var(--serif);font-weight:400;font-size:1.02rem;line-height:1.3}
.tile .sub{display:block;color:var(--muted);font-size:.86rem}
.chips{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.6rem}
.chip{font:inherit;font-size:.82rem;padding:.2rem .7rem;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--text);cursor:pointer}
.chip:hover,.chip.is-on{border-color:var(--cerulean);color:var(--cerulean)}
.allbp{padding-top:2rem}
.homegrid{display:grid;grid-template-columns:1.45fr 1fr;gap:3.5rem;align-items:start;padding-bottom:3rem}
.homegrid .hsec{padding:0;border-top:0}
.hsec .releases{max-width:46rem}
.cards.two{grid-template-columns:repeat(2,1fr)}
.featured.withart{grid-template-columns:11rem 1fr}
@media(max-width:56rem){.homegrid{grid-template-columns:1fr;gap:3rem}.grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:36rem){.grid{grid-template-columns:repeat(2,1fr)}.nowp{grid-template-columns:1fr}.nowp img{max-width:11rem}.featured.withart{grid-template-columns:1fr}}

.bio-page{display:grid;grid-template-columns:20rem 1fr;gap:3rem;align-items:start}
.bio-page img{width:100%;height:auto;border-radius:6px}
.bio-text p{max-width:36rem;margin-bottom:1.3rem;font-size:1.1rem;line-height:1.75}
@media(max-width:44rem){.bio-page{grid-template-columns:1fr;gap:1.8rem}.bio-page img{max-width:22rem}}

.rs-tools{display:flex;flex-wrap:wrap;gap:.9rem 1.2rem;align-items:center;margin-bottom:1rem}
.rs-tools input[type=search]{font:inherit;flex:1;min-width:14rem;max-width:22rem;padding:.55rem 1.1rem;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--text)}
.rs-tools input[type=search]:focus-visible{border-color:var(--cerulean)}
.rs-tools .filters{margin-bottom:0}
.rs-count{color:var(--muted);font-size:.92rem;margin-bottom:.5rem}
.yrgroup[hidden],.rs-ep[hidden]{display:none}
h2.yr{font-family:var(--serif);font-weight:400;font-size:1.7rem;margin:2.4rem 0 .3rem;display:flex;justify-content:space-between;align-items:baseline;gap:1rem}
h2.yr small{font-family:var(--sans);font-size:.88rem;color:var(--muted)}
summary .tag{font-family:var(--sans);font-size:.85rem;color:var(--muted);margin-left:.7rem}
.seg{font-family:var(--serif);font-size:1.05rem;color:var(--cerulean);margin:.3rem 0 .1rem}
.tracks .lb{display:inline-block;margin-left:.6rem;padding:0 .55rem;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:.78rem;line-height:1.6;vertical-align:.1em}
.tracks li.hit{background:rgba(154,86,40,.13);border-radius:3px}
