:root{
  --paper:#f5f1e8; --ink:#252a2d; --gold:#b69a58; --muted:#77736c;
  --line:rgba(37,42,45,.16); --dark:#232425;
  --spring:#8fae7e; --summer:#d3a44a; --autumn:#c06a3a; --winter:#7fa3b8;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,Arial,sans-serif;font-weight:300;line-height:1.65;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
::selection{background:var(--gold);color:#fff}

/* film grain */
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:60;opacity:.05;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* progress bar */
.progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:40;background:transparent}
.progress span{display:block;height:100%;width:0;background:var(--gold);transition:width .1s linear}

/* nav */
.nav{position:sticky;top:0;z-index:30;display:flex;justify-content:space-between;align-items:center;padding:16px 5vw;background:rgba(245,241,232,.9);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line);transition:box-shadow .3s}
.nav.scrolled{box-shadow:0 8px 30px rgba(37,42,45,.08)}
.brand{font-weight:600;letter-spacing:.14em;font-size:.84rem}
.nav nav{display:flex;gap:22px;align-items:center;font-size:.82rem}
.nav nav a{position:relative}
.nav nav a:not(.nav-cta)::after{content:"";position:absolute;left:0;bottom:-5px;width:0;height:1px;background:var(--gold);transition:width .25s}
.nav nav a:not(.nav-cta):hover::after{width:100%}
.nav-cta{border:1px solid var(--ink);padding:8px 14px;transition:.25s}
.nav-cta:hover{background:var(--ink);color:var(--paper)}
.lang-switch{display:flex;border:1px solid var(--line);border-radius:999px;overflow:hidden}
.lang-switch button{border:0;background:transparent;font:inherit;font-size:.72rem;font-weight:600;letter-spacing:.08em;padding:6px 12px;cursor:pointer;color:var(--muted);transition:.2s}
.lang-switch button.active{background:var(--ink);color:var(--paper)}

/* hero */
.hero{min-height:calc(100vh - 70px);display:grid;grid-template-columns:46% 54%;align-items:center;padding:4vw 6vw;position:relative}
.hero-copy{padding-right:4vw;position:relative;z-index:2}
.eyebrow,.section-kicker{font-size:.72rem;font-weight:600;letter-spacing:.2em;color:var(--gold)}
h1,h2,h3,.lead,.big-quote,.highlight,.song blockquote{font-variant-numeric:lining-nums;font-feature-settings:"lnum" 1}
h1,h2,h3{font-family:"Cormorant Garamond",Georgia,serif;margin:0;line-height:.96}
h1{font-size:clamp(4rem,8vw,8.5rem);font-weight:500;letter-spacing:-.04em;margin-top:14px}
h1 span{color:var(--gold)}
.lead{font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(1.35rem,2vw,2rem);margin:30px 0}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.button{padding:13px 22px;border:1px solid var(--ink);font-size:.88rem;transition:.25s}
.button.primary{background:var(--ink);color:var(--paper)}
.button.primary:hover{background:var(--gold);border-color:var(--gold)}
.button.ghost:hover{background:var(--ink);color:var(--paper)}
.spec{margin-top:28px;font-size:.72rem;letter-spacing:.12em;color:var(--muted)}
.season-cycle{font-family:"Cormorant Garamond",Georgia,serif;font-style:italic;font-size:1.25em;color:var(--gold);letter-spacing:.04em;display:inline-block;transition:opacity .35s,transform .35s}
.season-cycle.fade{opacity:0;transform:translateY(6px)}

/* vinyl scene */
.hero-visual{position:relative;z-index:1}
.vinyl-scene{position:relative;width:min(46vw,640px);margin-left:auto;will-change:transform}
.sleeve{position:relative;z-index:2;width:78%;box-shadow:0 30px 80px rgba(37,42,45,.25);border:1px solid var(--line)}
.disc{position:absolute;z-index:1;top:4%;right:0;width:70%;aspect-ratio:1/1;border-radius:50%;
  background:
    radial-gradient(circle at 35% 30%, rgba(255,255,255,.16) 0 8%, transparent 32%),
    repeating-radial-gradient(circle, #191919 0 1.4px, #232323 1.4px 3px);
  box-shadow:0 24px 60px rgba(0,0,0,.4), inset 0 0 0 1px rgba(255,255,255,.06);
  animation:spin 12s linear infinite}
.disc-label{position:absolute;inset:33%;border-radius:50%;background-size:300%;background-position:center 18%;box-shadow:0 0 0 3px rgba(0,0,0,.55)}
.disc-label::after{content:"";position:absolute;inset:44%;border-radius:50%;background:var(--paper);box-shadow:inset 0 0 4px rgba(0,0,0,.5)}
@keyframes spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion: reduce){.disc{animation:none}}

/* marquee */
.marquee{overflow:hidden;background:var(--ink);color:var(--paper);border-block:1px solid var(--ink)}
.marquee-track{display:flex;white-space:nowrap;width:max-content;animation:slide 40s linear infinite}
.marquee-track span{font-size:.78rem;letter-spacing:.28em;padding:13px 0;color:#d7c18b}
@keyframes slide{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion: reduce){.marquee-track{animation:none}}

/* sections */
section{padding:8vw 8vw}
.intro-section{border-top:1px solid var(--line)}
.story h2,.section-heading h2,.vinyl h2,.buy h2,.credits h2,.listen h2{font-size:clamp(2.6rem,5vw,5.6rem);font-weight:500;max-width:900px;margin-top:14px}
.story-grid{display:grid;grid-template-columns:1fr 1.6fr;gap:8vw;margin-top:5vw}
.big-quote{font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(3rem,6vw,7rem);line-height:.75;color:var(--gold)}
.big-quote p{margin:.35em 0}
.story-text{font-size:clamp(1rem,1.3vw,1.25rem);max-width:720px}
.highlight{font-family:"Cormorant Garamond",Georgia,serif;font-size:1.6em}
.story-part2{margin-top:8vw;border-top:1px solid var(--line);padding-top:6vw}

/* songs */
.songs{background:var(--dark);color:#f3efe6;position:relative}
.section-heading{margin-bottom:4vw}
.song{display:grid;grid-template-columns:210px 1fr 1.25fr;gap:4vw;align-items:start;padding:4.2vw 0 4.2vw 26px;border-top:1px solid rgba(255,255,255,.14);position:relative;transition:background .4s}
.song:last-child{border-bottom:1px solid rgba(255,255,255,.14)}
.song::before{content:"";position:absolute;left:0;top:4.2vw;bottom:4.2vw;width:3px;background:var(--acc,transparent);opacity:0;transition:opacity .5s}
.song.in::before{opacity:1}
.song:hover{background:rgba(255,255,255,.025)}
.song.spring{--acc:var(--spring)} .song.summer{--acc:var(--summer)}
.song.autumn{--acc:var(--autumn)} .song.winter{--acc:var(--winter)} .song.coda{--acc:var(--gold)}
.season{display:flex;align-items:center;gap:10px;font-size:.7rem;letter-spacing:.18em;color:var(--acc,var(--gold));padding-top:14px}
.sicon{width:22px;height:22px;flex:none}
.song h3{font-size:clamp(2rem,3.6vw,4rem);font-weight:500}
.entitle{display:block;font-family:Inter,Arial,sans-serif;font-size:.78rem;font-weight:400;letter-spacing:.14em;color:var(--acc,var(--gold));margin-top:10px}
.entitle:empty{display:none}
.song-body{max-width:600px}
.song p,.song blockquote{margin:0}
.song p + p{margin-top:14px}
.song blockquote{font-family:"Cormorant Garamond",Georgia,serif;font-style:italic;font-size:1.45rem;color:#d7c18b;margin:14px 0}

/* listen */
.listen{display:grid;grid-template-columns:1fr 1fr;gap:6vw;align-items:center;border-top:1px solid var(--line)}
.listen-copy p{max-width:560px}
.platforms{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.chip{border:1px solid var(--ink);padding:10px 18px;font-size:.84rem;transition:.25s}
.chip:hover{background:var(--ink);color:var(--paper);transform:translateY(-2px)}
.chip.gold{border-color:var(--gold);color:var(--gold)}
.chip.gold:hover{background:var(--gold);color:#fff}
.embed iframe{border-radius:14px;box-shadow:0 20px 60px rgba(37,42,45,.14)}

/* vinyl */
.vinyl{display:grid;grid-template-columns:.8fr 1.2fr;gap:7vw;align-items:start;background:#efeadd}
.vinyl-copy{position:sticky;top:110px}
.vinyl-copy p{max-width:620px}
.vinyl-copy ul{padding-left:18px}
.vinyl-copy li{margin:4px 0}
.gallery{display:grid;gap:26px}
.gallery img{width:100%;border:1px solid var(--line);box-shadow:0 24px 60px rgba(37,42,45,.12);transition:transform .5s}
.gallery img:hover{transform:scale(1.015)}

/* buy */
.buy{text-align:center;border-top:1px solid var(--line)}
.buy h2{margin-inline:auto}
.buy-intro{max-width:680px;margin:25px auto 42px}
.buy-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:1000px;margin:0 auto}
.buy-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;text-align:left;gap:18px;padding:26px;border:1px solid var(--ink);transition:.25s;background:var(--paper)}
.buy-card:hover{background:var(--ink);color:var(--paper);transform:translateY(-4px);box-shadow:0 18px 40px rgba(37,42,45,.18)}
.flag{font-size:2rem}
.buy-card strong{display:block;font-size:1.05rem}
.buy-card small{color:var(--muted)}
.buy-card:hover small{color:#bbb}
.arrow{font-size:1.5rem}
details{max-width:1000px;margin:26px auto 0;text-align:left;border-top:1px solid var(--line);padding-top:18px}
summary{cursor:pointer;font-size:.88rem}
.other-links{display:flex;gap:24px;padding:18px 0;flex-wrap:wrap}
.other-links a{text-decoration:underline;text-underline-offset:4px}

/* press & video */
.press{background:var(--dark);color:#f3efe6}
.press .section-kicker{color:var(--gold)}
.press h2{font-size:clamp(2.6rem,5vw,5.6rem);font-weight:500;margin-top:14px}
.press-layout{margin-top:4vw;max-width:900px}
.chip.dark{border-color:rgba(255,255,255,.35);color:#f3efe6}
.chip.dark:hover{background:var(--gold);border-color:var(--gold);color:#fff}
.chip.dark.gold{border-color:var(--gold);color:var(--gold)}
.chip.dark.gold:hover{background:var(--gold);color:#fff}
.press-quote{margin:0 0 36px;padding:0}
.press-quote p{font-family:"Cormorant Garamond",Georgia,serif;font-style:italic;font-size:clamp(1.5rem,2.2vw,2.1rem);line-height:1.25;color:#d7c18b;margin:0 0 10px}
.press-quote cite{font-style:normal;font-size:.78rem;letter-spacing:.08em;color:#b9b3a6}
.press-sub{color:#b9b3a6;margin-top:0}
.press-item{display:grid;grid-template-columns:130px 1fr auto;gap:16px;align-items:baseline;padding:16px 0;border-top:1px solid rgba(255,255,255,.14);transition:.2s}
.press-item:last-of-type{border-bottom:1px solid rgba(255,255,255,.14)}
.press-item:hover{color:var(--gold)}
.press-item strong{font-size:.9rem;letter-spacing:.06em}
.press-item span{font-size:.9rem;color:#c9c3b6}
.press-item:hover span{color:inherit}
.concert-note{margin-top:40px;border-left:3px solid var(--gold);padding-left:22px}
.concert-note>p:last-of-type{max-width:520px}
.ig-block{margin-top:5vw;border-top:1px solid rgba(255,255,255,.14);padding-top:34px;max-width:900px}
.ig-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
@media(max-width:980px){.press-layout{grid-template-columns:1fr}.press-item{grid-template-columns:1fr;gap:4px}}

/* discography */
.disco{border-top:1px solid var(--line)}
.disco h2{font-size:clamp(2.6rem,5vw,5.6rem);font-weight:500;margin-top:14px}
.disco-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:4vw 0 40px}
.disco-card{display:flex;flex-direction:column;gap:8px;padding:26px;border:1px solid var(--ink);transition:.25s;background:var(--paper)}
.disco-card:hover{background:var(--ink);color:var(--paper);transform:translateY(-4px);box-shadow:0 18px 40px rgba(37,42,45,.18)}
.disco-card.current{border-color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold)}
.disco-year{font-size:.72rem;letter-spacing:.18em;color:var(--gold)}
.disco-card strong{font-family:"Cormorant Garamond",Georgia,serif;font-size:1.7rem;font-weight:500;font-variant-numeric:lining-nums;font-feature-settings:"lnum" 1}
.disco-card small{color:var(--muted)}
.disco-card:hover small{color:#bbb}
.disco-singles{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
@media(max-width:850px){.disco-grid{grid-template-columns:1fr}}

/* credits */
.credits{display:grid;grid-template-columns:.72fr 1.28fr;gap:7vw;background:#e9e3d7;align-items:center}
.portrait{width:100%;filter:grayscale(1);box-shadow:0 24px 60px rgba(37,42,45,.18)}
.credit-sub{font-size:.7rem;font-weight:600;letter-spacing:.22em;color:var(--muted);margin:44px 0 0}
.credit-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px 30px;margin-top:18px}
.credit-grid.musicians{grid-template-columns:repeat(3,1fr)}
.credit-grid p{border-top:1px solid var(--line);padding-top:12px;margin:0}
.credit-grid small{color:var(--muted)}
@media(max-width:1100px){.credit-grid.musicians{grid-template-columns:repeat(2,1fr)}}

/* footer */
footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:30px 5vw;background:var(--ink);color:#ddd;font-size:.72rem;letter-spacing:.08em;flex-wrap:wrap}
.socials{display:flex;gap:20px}
.socials a{color:#d7c18b;transition:.2s}
.socials a:hover{color:#fff}

/* reveal animation */
.reveal{opacity:0;transform:translateY(34px);transition:opacity .8s cubic-bezier(.2,.65,.3,1),transform .8s cubic-bezier(.2,.65,.3,1)}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){.reveal{opacity:1;transform:none;transition:none}}

/* responsive */
@media(max-width:980px){
  .listen{grid-template-columns:1fr}
}
@media(max-width:850px){
  .nav nav a:not(.nav-cta){display:none}
  .hero{grid-template-columns:1fr;padding:10vw 6vw 8vw;min-height:auto}
  .hero-copy{padding:0 0 10vw}
  .vinyl-scene{width:100%;margin:0}
  .story-grid,.vinyl,.credits{grid-template-columns:1fr}
  .song{grid-template-columns:1fr;gap:12px;padding:40px 0 40px 20px}
  .song::before{top:40px;bottom:40px}
  .season{padding-top:0}
  .buy-grid{grid-template-columns:1fr}
  .vinyl-copy{position:static}
  section{padding:16vw 7vw}
  .credit-grid{grid-template-columns:1fr}
  footer{flex-direction:column;text-align:center}
}
