:root { color-scheme:light; color:#0a0a0a; background:#ddcdb1; font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; }
*,*::before,*::after { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:#ddcdb1; }
a { color:inherit; }
p { margin:0; }
.opening { --brand-width:min(94vw,560px,62svh,100vw - 32px); height:100vh; height:100svh; display:grid; grid-template-rows:auto minmax(0,1fr) auto auto auto; justify-items:center; padding:clamp(12px,2svh,24px) 16px max(16px,env(safe-area-inset-bottom)); }
.brand-header { flex:none; display:flex; flex-direction:column; align-items:center; width:var(--brand-width); max-width:100%; margin:0 auto; }
.brand-title { width:100%; margin:0; padding:0; background:transparent; color:#000; font-family:'Controlled Title Original',serif; font-size:var(--brand-width); font-weight:400; font-synthesis:none; font-feature-settings:'liga' 1; line-height:0.1739130435; text-align:left; }
.brand-title span { display:block; white-space:nowrap; }
.brand-tagline { width:100%; text-align:center; font-family:'Monsieur La Doulaise',cursive; font-size:min(clamp(28px,5.6vw,44px),5svh); font-weight:400; letter-spacing:normal; line-height:1.35; margin:clamp(8px,1.4svh,16px) 0 clamp(12px,2svh,24px); opacity:.88; }
.artwork-stage { min-height:0; height:100%; width:100%; display:flex; justify-content:center; align-items:flex-end; padding:8px 0 12px; }
.artwork { display:block; height:100%; max-height:440px; width:min(46vw,300px); background:transparent; }
.artwork img { display:block; width:100%; height:100%; object-fit:contain; object-position:center bottom; background:transparent; }
.artist-credit { flex:none; font-size:11px; line-height:1.5; letter-spacing:.06em; text-align:center; margin-bottom:12px; }
.artist-credit a { text-decoration:none; }
.artist-credit a:hover { text-decoration:underline; text-underline-offset:3px; }
.platforms { flex:none; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(24px,5vw,48px); width:100%; max-width:380px; margin-inline:auto; }
.platforms a { display:flex; align-items:center; justify-content:center; min-height:28px; padding:5px 6px; border:1px solid currentColor; text-align:center; font-size:clamp(10px,1.4vw,13px); font-weight:700; letter-spacing:.12em; line-height:1.4; text-decoration:none; transition:background .2s; }
.platforms a:hover { background:#c9b797; }
.scroll-cue { flex:none; display:flex; flex-direction:column; align-items:center; gap:10px; margin-top:16px; text-decoration:none; font-weight:700; line-height:1.3; }
.scroll-cue span { font-size:10px; letter-spacing:.22em; text-transform:uppercase; opacity:.6; }
.scroll-cue svg { display:block; width:min(3.515625vw,2.34375svh); min-width:12px; height:auto; fill:none; stroke:currentColor; stroke-width:1.7; }
.book-description { max-width:660px; margin:0 auto; padding:96px 24px; scroll-margin-top:32px; }
.book-description p { font-family:ui-serif,Georgia,'Times New Roman',serif; font-size:clamp(17px,1.6vw,21px); line-height:1.8; text-align:justify; }
footer { border-top:1px solid hsl(39 24% 63%); }
.footer-inner { max-width:1400px; margin:auto; padding:40px; display:flex; justify-content:space-between; align-items:center; gap:24px; }
.footer-brand { font-family:'Cormorant SC',Georgia,serif; font-size:14px; line-height:20px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; opacity:.8; }
.footer-details { display:flex; flex-direction:column; align-items:flex-end; gap:4px; }
.footer-domain { font-size:12px; line-height:16px; letter-spacing:.12em; text-transform:uppercase; opacity:.5; }
.copyright { font-size:12px; line-height:16px; opacity:.35; }
a:focus-visible { outline:2px solid currentColor; outline-offset:5px; }
.sr-only,.skip-link:not(:focus) { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.skip-link:focus { position:fixed; top:12px; left:12px; z-index:10; padding:12px; background:#ddcdb1; }
@media(max-width:767px) { .book-description { padding:64px 24px; } .footer-inner { padding:40px 24px; flex-direction:column; align-items:flex-start; } .footer-details { align-items:flex-start; } }
@media(max-width:600px) { .opening { height:100vh; height:100dvh; } .platforms a { min-height:36px; letter-spacing:.08em; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } * { transition:none!important; } }

/* Album credits styled as a compact festival lineup. */
.project-credit { width:min(100% - 40px,680px); margin:0 auto 64px; padding:32px 12px 36px; text-align:center; border-top:1px solid currentColor; border-bottom:1px solid currentColor; }
.project-credit h2 { margin:0; font-weight:400; }
.album-title { display:block; font-family:'Cormorant SC',Georgia,serif; font-size:clamp(28px,5vw,40px); line-height:1; letter-spacing:.14em; text-transform:uppercase; }
.album-subtitle { display:block; margin-top:12px; font-size:10px; line-height:1.5; font-weight:700; letter-spacing:.28em; text-transform:uppercase; }
.lineup-ornament { display:block; margin:20px auto; font-size:18px; line-height:1; }
.project-contributors { list-style:none; margin:0; padding:0; display:flex; flex-wrap:nowrap; justify-content:center; align-items:center; gap:clamp(10px,2.5vw,24px); }
.project-contributors li { flex:none; white-space:nowrap; font-family:'Cinzel Decorative',Georgia,serif; font-weight:700; text-transform:uppercase; line-height:1.4; }
.lineup-primary { font-size:clamp(11px,3.4vw,26px); }
.lineup-secondary { margin-top:18px; font-size:clamp(10px,2.6vw,20px); }
@media(max-width:400px) { .project-credit { width:calc(100% - 32px); padding-inline:8px; } }

.lineup-more { margin:24px 0 0; font-family:Georgia,serif; font-style:italic; font-size:clamp(14px,2.8vw,18px); line-height:1.5; text-align:center; }

/* Borderless typographic song posters. */
.poet-credit { margin:0 0 12px; text-align:center; font-family:Georgia,serif; font-style:italic; font-size:clamp(12px,1.5vw,16px); line-height:1.5; }
.book-description .review-credit { margin-top:14px; text-align:center; font-style:italic; }
.release-gallery { width:min(100% - 40px,1100px); margin:0 auto 88px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(16px,3vw,40px); }
.release-poster { min-width:0; container-type:inline-size; padding:28px 0; color:#29251f; }
.release-content { display:flex; flex-direction:column; align-items:center; text-align:center; }
.release-poster h3 { width:100%; height:240px; margin:28px 0 0; display:flex; flex-direction:column; justify-content:center; font-family:'Cinzel Decorative',Georgia,serif; font-weight:700; font-size:clamp(17px,9cqw,34px); line-height:1.5; }
.release-intertwined { color:#382126; }
.release-resurrection { color:#80694e; }
.release-intertwined h3 { font-family:'Ballet',cursive; font-size:clamp(34px,19cqw,68px); font-weight:400; font-optical-sizing:auto; letter-spacing:normal; }
.release-resurrection h3 { font-family:'Sankofa Display',sans-serif; font-size:clamp(24px,11cqw,40px); font-weight:400; }
.rise-one { align-self:flex-start; font-size:.72em; letter-spacing:.12em; }
.rise-two { align-self:center; transform:translateY(-7px); }
.rise-three { align-self:flex-end; transform:translateY(-14px); font-size:1.25em; }
.release-ice { color:#365e60; }
.release-ice h3 { font-family:'Manufacturing Consent',serif; font-size:clamp(26px,12cqw,44px); font-weight:400; text-transform:none; letter-spacing:normal; line-height:1.25; }
.ice-middle { font-size:.9em; }
.ice-last { font-size:1.35em; }
.release-flourish { flex:none; width:36px; height:1px; background:currentColor; opacity:.45; margin:12px 0 20px; }
.release-status { min-height:44px; display:flex; align-items:center; font-size:10px; letter-spacing:.13em; text-transform:uppercase; }
.release-play { display:grid; place-items:center; width:44px; height:44px; padding:0; border:1px solid currentColor; border-radius:50%; background:transparent; color:inherit; cursor:pointer; }
.release-play svg { width:45%; height:auto; fill:currentColor; }
.release-play:hover { background:#c9b797; }
.release-play:focus-visible { outline:2px solid currentColor; outline-offset:4px; }
.release-artist { margin-top:16px; font-family:Georgia,serif; font-style:italic; font-size:clamp(11px,4cqw,14px); line-height:1.4; }
.release-vocalist { margin-top:8px; font-family:Georgia,serif; font-size:11px; opacity:.75; }
.audio-status { margin-top:8px; font-size:11px; line-height:1.4; }
.audio-status[hidden] { display:none; }
@media(max-width:600px) { .release-gallery { grid-template-columns:1fr; max-width:360px; gap:36px; } .release-poster { padding:12px 12px 28px; } .release-poster h3 { height:210px; } }

/* Translucent lyrics overlay; native dialog supplies modal focus handling. */
.lyrics-button { margin-top:16px; min-height:44px; padding:8px 24px; border:1px solid currentColor; border-radius:2px; color:inherit; background:transparent; font:inherit; font-size:12px; letter-spacing:.08em; cursor:pointer; }
.lyrics-button:hover { background:#80694e14; }
.lyrics-button:focus-visible,.lyrics-close:focus-visible { outline:2px solid currentColor; outline-offset:4px; }
.lyrics-dialog { position:fixed; width:min(600px,calc(100% - 32px)); max-height:calc(100vh - 48px); max-height:calc(100dvh - 48px); margin:auto; padding:64px clamp(20px,5vw,48px) 40px; overflow:auto; border:1px solid #fff8; border-radius:4px; background:rgb(221 205 177 / 82%); color:#382e23; backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); box-shadow:0 18px 70px #201c1930; }
.lyrics-dialog::backdrop { background:rgb(30 25 22 / 25%); }
.lyrics-close { position:absolute; top:8px; right:8px; width:44px; height:44px; border:0; background:transparent; color:inherit; font:32px/1 Georgia,serif; cursor:pointer; }
.lyrics-dialog h2 { margin:0 0 28px; font-family:'Sankofa Display',sans-serif; font-size:clamp(26px,5vw,36px); font-weight:400; line-height:1.2; }
.lyrics-poem { font-family:Georgia,serif; font-size:clamp(15px,2.6vw,18px); line-height:1.8; }
.lyrics-poem p + p { margin-top:1.5em; }
html.lyrics-open { overflow:hidden; }

#intertwined-lyrics h2 { font-family:'Ballet',cursive; font-size:clamp(38px,8vw,56px); color:#382126; }

#ice-lyrics h2 { font-family:'Manufacturing Consent',serif; color:#365e60; }

.release-evolution { color:#594c66; }
.release-evolution h3 { font-family:'Kingstone',serif; font-size:clamp(24px,12cqw,44px); font-weight:400; line-height:1.3; }
.release-falling { color:#6e594c; }
.release-falling h3 { font-family:'Bemirs',sans-serif; font-size:clamp(22px,10.5cqw,38px); font-weight:400; line-height:1.3; }
.release-mole { color:#555f46; }
.release-mole h3 { font-family:'Basheq Vintage',serif; font-size:clamp(36px,17cqw,62px); font-weight:400; line-height:1.3; }
.lyrics-button:disabled { opacity:.45; cursor:default; background:transparent; }

#evolution-lyrics h2 { font-family:'Kingstone',serif; color:#594c66; }

#falling-lyrics h2 { font-family:'Bemirs',sans-serif; color:#6e594c; }

#mole-lyrics h2 { font-family:'Basheq Vintage',serif; color:#555f46; }

.release-galaxy { color:#51576c; }
.release-galaxy h3 { font-family:'Cerova',serif; font-size:clamp(24px,10.5cqw,38px); font-weight:400; line-height:1.35; }
#galaxy-lyrics h2 { font-family:'Cerova',serif; color:#51576c; }

.release-canvas { color:#765a62; }
.release-canvas h3 { font-family:'Park Lane',serif; font-size:clamp(30px,13cqw,48px); font-weight:400; line-height:1.3; }
#canvas-lyrics h2 { font-family:'Park Lane',serif; color:#765a62; }
@media(min-width:601px) {
  .release-gallery { grid-template-columns:repeat(6,minmax(0,1fr)); }
  .release-poster { grid-column:span 2; }
  .release-galaxy { grid-column:2 / span 2; }
  .release-canvas { grid-column:4 / span 2; }
}

.audio-timeline { width:min(100%,240px); margin-top:12px; }
.audio-seek { display:block; width:100%; height:32px; margin:0; accent-color:currentColor; color:inherit; cursor:pointer; }
.audio-seek:disabled { opacity:.45; cursor:default; }
.audio-seek:focus-visible { outline:2px solid currentColor; outline-offset:3px; }
.audio-times { display:flex; justify-content:space-between; font-size:10px; font-variant-numeric:tabular-nums; line-height:1.4; opacity:.8; }
