[hidden]{display:none!important}
:root{--navy:#14264A;--cream:#FBF7EE;--gold:#D49A3A;--gold2:#e9c37a;--txt:#f3ede0;--mut:#b9b1a2;--line:rgba(251,247,238,.12);
--serif:'Cormorant Garamond',Georgia,'Times New Roman',serif;--sans:Inter,system-ui,-apple-system,'Segoe UI',Helvetica,Arial,sans-serif;--pad:clamp(16px,4vw,56px);--ease:cubic-bezier(.2,.8,.2,1)}
*{box-sizing:border-box}
html,body{margin:0;background:#07090f;color:var(--txt);font-family:var(--sans);-webkit-font-smoothing:antialiased}
body{background:radial-gradient(1200px 600px at 80% -10%,rgba(20,38,74,.55),transparent 60%),#07090f}
a{color:inherit}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
:focus-visible{outline:2px solid var(--gold2);outline-offset:3px;border-radius:8px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.skip{position:absolute;left:-999px;top:8px;background:var(--cream);color:#000;padding:8px 12px;border-radius:8px;z-index:99}.skip:focus{left:8px}
svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.bh{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:24px;padding:10px var(--pad);background:linear-gradient(#07090fee,#07090f00);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:background .3s}
.bh.solid{background:rgba(7,9,15,.88)}
.bh-logo img{height:44px;width:auto;display:block}
.bh-nav{display:flex;gap:20px;font-size:14px}.bh-nav a{text-decoration:none;color:var(--mut)}.bh-nav a:hover,.bh-nav a[aria-current]{color:var(--txt)}
.srch{margin-left:auto;position:relative;display:flex;align-items:center}
.srch svg{position:absolute;left:12px;color:var(--mut)}
.srch input{width:min(320px,42vw);padding:10px 36px 10px 40px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.06);color:var(--txt);font:inherit;font-size:14px;transition:border-color .2s,background .2s}
.srch input:focus{outline:none;border-color:var(--gold2);background:rgba(255,255,255,.1)}
.srch input::-webkit-search-cancel-button{display:none}
.srch-x{position:absolute;right:8px;font-size:20px;color:var(--mut);width:24px;height:24px}
.sample{font-size:11.5px;color:var(--mut);white-space:nowrap}
.hero{position:relative;margin-top:-64px;min-height:min(78vh,720px);display:flex;align-items:flex-end;padding:120px var(--pad) 56px;overflow:hidden;isolation:isolate}
.hero img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;animation:kb 30s ease-out both}
@keyframes kb{from{transform:scale(1.06)}to{transform:scale(1)}}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(7,9,15,.92) 0%,rgba(7,9,15,.55) 45%,rgba(7,9,15,0) 75%),linear-gradient(0deg,#07090f 0%,rgba(7,9,15,0) 40%)}
.hero-in{max-width:560px}
.eyebrow{display:inline-flex;gap:8px;align-items:center;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold2);font-weight:600}
.hero h1{font-family:var(--serif);font-weight:700;font-size:clamp(40px,6vw,84px);line-height:.95;margin:10px 0 8px;letter-spacing:.01em}
.meta{display:flex;flex-wrap:wrap;gap:6px 14px;color:var(--mut);font-size:14px;margin:0 0 14px}.meta span+span::before{content:"";display:inline-block;width:3px;height:3px;border-radius:50%;background:var(--mut);margin-right:14px;vertical-align:middle}
.hero p.bl{font-size:16px;line-height:1.55;color:#ddd5c5;margin:0 0 22px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.cta{display:flex;gap:12px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 22px;border-radius:999px;font-weight:600;font-size:15px;text-decoration:none;transition:transform .15s var(--ease),background .2s}
.btn:hover{transform:translateY(-1px)}.btn svg{width:18px;height:18px}
.btn.pri{background:var(--cream);color:#0b0b0b}.btn.pri svg{fill:#0b0b0b;stroke:none}
.btn.sec{background:rgba(251,247,238,.14);color:var(--txt);border:1px solid var(--line)}
.chips{display:flex;gap:8px;padding:8px var(--pad) 4px;overflow-x:auto;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}
.chip{flex:none;padding:8px 14px;border-radius:999px;border:1px solid var(--line);font-size:13.5px;color:var(--mut);background:rgba(255,255,255,.03);transition:all .2s}
.chip:hover{color:var(--txt);border-color:rgba(251,247,238,.3)}.chip[aria-pressed=true]{background:var(--cream);color:#0b0b0b;border-color:var(--cream)}
.row{margin:26px 0 6px}
.row h2,.results h2{font-family:var(--serif);font-size:clamp(22px,2.4vw,30px);font-weight:700;margin:0 var(--pad) 12px;display:flex;align-items:baseline;gap:12px}
.row h2 small{font-family:var(--sans);font-size:12.5px;font-weight:500;color:var(--mut)}
.rail-w{position:relative}
.rail{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 var(--pad);padding:6px var(--pad) 18px;scrollbar-width:none;list-style:none;margin:0}
.rail::-webkit-scrollbar{display:none}
.rail>li{flex:none;width:clamp(150px,15vw,210px);scroll-snap-align:start}
.arr{position:absolute;top:6px;bottom:18px;width:calc(var(--pad) - 4px);min-width:36px;display:flex;align-items:center;justify-content:center;background:rgba(7,9,15,.7);opacity:0;transition:opacity .2s;z-index:2}
.arr.l{left:0}.arr.r{right:0}.rail-w:hover .arr,.arr:focus-visible{opacity:1}.arr[disabled]{display:none}
.card{display:block;position:relative;text-decoration:none;border-radius:12px;outline-offset:4px}
.art{position:relative;aspect-ratio:1;border-radius:12px;overflow:hidden;background:#151821;box-shadow:0 10px 26px rgba(0,0,0,.45);transition:transform .35s var(--ease),box-shadow .35s}
.art img{width:100%;height:100%;object-fit:cover;display:block}
.card:hover .art,.card:focus-visible .art{transform:translateY(-4px) scale(1.035);box-shadow:0 18px 40px rgba(0,0,0,.6),0 0 0 1px rgba(233,195,122,.35)}
.ph{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;padding:12%;text-align:center;font-family:var(--serif)}
.ph::before{content:"";position:absolute;inset:6%;border:1px solid currentColor;opacity:.35;border-radius:4px}
.ph .mk{font-size:11px;letter-spacing:.3em;text-transform:uppercase;font-family:var(--sans);opacity:.8}
.ph b{font-size:clamp(17px,1.6vw,22px);line-height:1.05;font-variant:small-caps}.ph i{font-style:normal;font-size:13px;letter-spacing:.12em;font-variant:small-caps;opacity:.85}
.ov{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:space-between;gap:8px;padding:10px;background:linear-gradient(0deg,rgba(0,0,0,.85),rgba(0,0,0,0) 60%);opacity:0;transition:opacity .25s}
.card:hover .ov,.card:focus-visible .ov,.card:focus-within .ov{opacity:1}
.ov .pl{width:40px;height:40px;border-radius:50%;background:var(--cream);display:grid;place-items:center;flex:none}.ov .pl svg{fill:#0b0b0b;stroke:none;width:16px;height:16px;margin-left:2px}
.ov .om{font-size:12px;color:#eee;line-height:1.35}
.badge{position:absolute;top:8px;left:8px;font-size:10.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:4px 8px;border-radius:6px;background:rgba(7,9,15,.78);color:var(--gold2)}
.badge.new{background:var(--gold);color:#0b0b0b}
.cap{padding:10px 2px 0}.cap .t{font-size:14px;font-weight:600;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.cap .a{font-size:12.5px;color:var(--mut);margin-top:2px}
.prog{height:3px;border-radius:2px;background:rgba(255,255,255,.15);margin-top:8px;overflow:hidden}.prog i{display:block;height:100%;background:var(--gold)}
.results{padding:10px 0 20px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:22px 16px;padding:0 var(--pad)}
.empty{padding:40px var(--pad);color:var(--mut);max-width:520px}.empty strong{display:block;font-family:var(--serif);font-size:26px;color:var(--txt);margin-bottom:6px}
.foot{margin-top:40px;background:#000;color:#9a9a9a;font-size:12.5px;text-align:center;padding:14px 12px 18px;line-height:1.5}
.foot p{margin:0}.foot nav{margin-top:6px;display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.foot a{color:#9a9a9a;text-decoration:none}.foot a:hover,.foot a:focus-visible{color:#d0d0d0;text-decoration:underline}
@media (max-width:760px){
 .bh{flex-wrap:wrap;gap:10px 14px}.bh-logo img{height:34px}.bh-nav{display:none}.sample{order:2;margin-left:auto;font-size:10.5px}
 .srch{order:3;flex-basis:100%;margin:0}.srch input{width:100%}
 .hero{margin-top:-108px;min-height:72vh;padding:150px var(--pad) 30px}
 .hero img.bg{object-position:78% center}
 .hero::after{background:linear-gradient(0deg,#07090f 8%,rgba(7,9,15,.6) 55%,rgba(7,9,15,.2))}
 .rail{gap:12px}.rail>li{width:42vw}.arr{display:none}
 .grid{grid-template-columns:repeat(2,1fr)}
 .ov{opacity:1;background:none;justify-content:flex-end}.ov .om{display:none}.ov .pl{width:34px;height:34px}
}

/* Genre tiles */
.genre-tiles>li{width:clamp(200px,22vw,280px)}
.gtile{position:relative;display:block;width:100%;aspect-ratio:16/9;border-radius:12px;overflow:hidden;padding:0;border:1px solid var(--line);background:#151821;box-shadow:0 10px 26px rgba(0,0,0,.45);transition:transform .35s var(--ease),box-shadow .35s;cursor:pointer;text-align:left}
.gtile img{width:100%;height:100%;object-fit:cover;display:block;filter:brightness(.78)}
.gtile span{position:absolute;left:0;right:0;bottom:0;padding:28px 12px 12px;font-family:var(--serif);font-weight:700;font-size:clamp(15px,1.4vw,18px);background:linear-gradient(0deg,rgba(0,0,0,.85),rgba(0,0,0,0));color:var(--cream)}
.gtile:hover,.gtile:focus-visible{transform:translateY(-3px) scale(1.02);box-shadow:0 16px 36px rgba(0,0,0,.55),0 0 0 1px rgba(233,195,122,.35)}
.gtile:focus-visible{outline:2px solid var(--gold2);outline-offset:3px}
@media (max-width:760px){.genre-tiles>li{width:62vw}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.chips{min-height:46px}#rows{min-height:120vh}
