/* Perfect State — site-specific styles. Loaded after base.css. */

body{background:var(--bg) radial-gradient(1200px 600px at 85% -10%, #2a1146 0%, transparent 60%) no-repeat}
h1,h2,h3{font-weight:800;letter-spacing:-.025em}
h2{font-size:clamp(1.8rem,1.3rem + 2.2vw,2.9rem)}
a{color:var(--brand)}
.btn{border-radius:999px;min-height:48px}
.btn-accent{background:var(--accent);color:var(--accent-ink)}
.btn-accent:hover{filter:brightness(1.06)}
.btn-outline{color:var(--ink);border-color:var(--line)}
.btn-outline:hover{background:var(--surface);color:var(--ink);border-color:var(--ink-3)}
.nav a.btn-accent{color:var(--accent-ink)}
.brand{font-size:1.3rem}
.brand svg{width:26px;height:26px;color:var(--accent)}
.prose p,.prose li{max-width:62ch}
.prose h2{margin-top:var(--s-7)}
.prose h2:first-child{margin-top:0}

/* ---- Hero: the sleeve (H1 → cover | tracklist) ------------------ */
.sleeve{padding-block:clamp(2.5rem,6vw,4.5rem) var(--section)}
.sleeve h1{font-size:clamp(2.6rem,1.2rem + 6.2vw,6.4rem);line-height:.95;letter-spacing:-.04em;max-width:13ch;margin-bottom:var(--s-5)}
.sleeve .lede{font-size:var(--fs-lg);color:var(--ink-2);max-width:52ch}
.listen{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-3) var(--s-5);margin-top:var(--s-5)}
.listen .alt-links{display:flex;gap:var(--s-4);font-weight:600}
.listen .alt-links a{color:var(--ink);text-decoration-color:var(--ink-3);min-height:44px;display:inline-flex;align-items:center}
.record{display:grid;gap:clamp(1.5rem,4vw,3.5rem);margin-top:clamp(2rem,5vw,3.5rem);grid-template-columns:1fr;align-items:start}
@media(min-width:900px){.record{grid-template-columns:minmax(0,5fr) minmax(0,6fr)}}
.cover{border-radius:6px;overflow:hidden;aspect-ratio:1;box-shadow:0 30px 80px -30px rgba(255,92,184,.35),0 20px 50px -25px rgba(255,180,63,.35)}
.cover img{width:100%;height:100%;object-fit:cover}
@media(prefers-reduced-motion:no-preference){
  .cover{animation:settle .9s var(--ease) both}
  @keyframes settle{from{opacity:0;transform:scale(.96) rotate(-1.5deg)}to{opacity:1;transform:none}}
}

/* ---- Tracklist (the memorable thing) ---------------------------- */
.tracks{list-style:none;margin:0;padding:0;counter-reset:t;border-top:1px solid var(--line)}
.tracks li{counter-increment:t;display:grid;grid-template-columns:2.2rem 1fr auto;gap:0 var(--s-4);align-items:baseline;padding:.8rem 0;border-bottom:1px solid var(--line)}
.tracks li::before{content:counter(t);font-family:var(--font-display);font-weight:800;color:var(--accent);font-size:1.15rem}
.tracks .t{font-family:var(--font-display);font-weight:800;font-size:clamp(1.25rem,1rem + 1vw,1.7rem);line-height:1.1;letter-spacing:-.02em;color:var(--ink);text-decoration:none}
.tracks a.t:hover{color:var(--brand)}
.tracks .who{grid-column:2;color:var(--ink-2);font-size:var(--fs-sm);margin-top:.2rem}
.tracks .len{grid-row:1;grid-column:3;font-variant-numeric:tabular-nums;color:var(--ink-2);font-size:var(--fs-sm)}
.tracks-total{max-width:none;display:flex;justify-content:space-between;padding:.9rem 0 0 calc(2.2rem + var(--s-4));font-weight:600;color:var(--ink)}
.tracks-total span:last-child{font-variant-numeric:tabular-nums}

/* ---- New single feature ----------------------------------------- */
.feature{display:grid;gap:var(--s-7);align-items:center;grid-template-columns:1fr}
@media(min-width:880px){.feature{grid-template-columns:minmax(0,4fr) minmax(0,5fr)}}
.feature .art{border-radius:6px;overflow:hidden;aspect-ratio:1}
.feature .art img{width:100%;height:100%;object-fit:cover}
.feature .when{color:var(--brand);font-weight:600;margin-bottom:var(--s-3)}
.stream-row{display:flex;flex-wrap:wrap;gap:var(--s-2) var(--s-5);font-weight:600;margin-top:var(--s-5)}
.stream-row a{color:var(--ink);text-decoration-color:var(--ink-3);min-height:44px;display:inline-flex;align-items:center}
.stream-row a:first-child{color:var(--accent)}

/* ---- Singles strip ---------------------------------------------- */
.singles{display:grid;gap:var(--s-5);grid-template-columns:repeat(auto-fill,minmax(min(100%,180px),1fr));list-style:none;padding:0;margin:0}
.singles img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:6px}
.singles h3{font-size:1.15rem;margin:.8rem 0 .25rem}
.singles p{color:var(--ink-2);font-size:var(--fs-sm);margin-bottom:.4rem}
.singles .links{font-size:var(--fs-sm);font-weight:600;display:flex;gap:.9rem;flex-wrap:wrap}
.singles .links a{color:var(--ink);min-height:44px;display:inline-flex;align-items:center}

/* ---- Grown-ups + origin ----------------------------------------- */
.two{display:grid;gap:var(--s-7);grid-template-columns:1fr}
@media(min-width:880px){.two{grid-template-columns:1fr 1fr}}
.two h2{font-size:clamp(1.6rem,1.2rem + 1.6vw,2.3rem)}
.more{font-weight:600}

/* ---- Mailing list ----------------------------------------------- */
.cd{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(1.5rem,4vw,3rem)}
.cd .form{display:flex;flex-wrap:wrap;gap:var(--s-3);margin-top:var(--s-5);max-width:560px}
.cd label{flex-basis:100%;font-weight:600}
.cd input[type=email]{flex:1 1 240px;min-height:48px;padding:.7em 1em;border-radius:999px;border:1px solid var(--ink-3);background:var(--bg);color:var(--ink);font:inherit}
.cd .form-success{margin-top:var(--s-4)}

/* ---- Footer ----------------------------------------------------- */
.site-footer{background:var(--bg-alt)}
.site-footer a{color:var(--ink)}
.socials{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;list-style:none;padding:0;margin:0}
.socials a{min-height:44px;display:inline-flex;align-items:center}
.site-footer .socials{flex-direction:column;gap:0}

/* ---- Inner pages ------------------------------------------------ */
.page-head{padding-block:clamp(2.5rem,6vw,4.5rem) var(--s-6)}
.page-head h1{font-size:clamp(2.3rem,1.3rem + 4vw,4.4rem);line-height:1;letter-spacing:-.035em;max-width:16ch}
.page-head .lede{font-size:var(--fs-lg);color:var(--ink-2);max-width:56ch}
.story{display:grid;gap:var(--s-4) var(--s-6);grid-template-columns:1fr;padding-block:var(--s-6);border-top:1px solid var(--line)}
@media(min-width:780px){.story{grid-template-columns:12rem 1fr}}
.story h2{font-size:clamp(1.5rem,1.2rem + 1.2vw,2rem);margin-bottom:.3rem}
.story .meta{color:var(--ink-2);font-size:var(--fs-sm)}
.story .n{font-family:var(--font-display);font-weight:800;font-size:2.4rem;color:var(--accent);line-height:1}
.timeline{list-style:none;padding:0;margin:0;border-left:2px solid var(--line)}
.timeline li{padding:0 0 var(--s-5) var(--s-5);position:relative}
.timeline li::before{content:"";position:absolute;left:-7px;top:.45em;width:12px;height:12px;border-radius:50%;background:var(--accent)}
.timeline b{display:block;font-family:var(--font-display);font-size:1.15rem}
.faq-list details{border-bottom:1px solid var(--line);padding:var(--s-4) 0}
.faq-list summary{cursor:pointer;font-weight:700;font-size:var(--fs-lg);min-height:44px;display:flex;align-items:center}
.faq-list details p{margin-top:var(--s-3);color:var(--ink-2)}
.faq-list h2{margin-top:var(--s-7);font-size:var(--fs-xl)}
