:root { color-scheme:dark; --forest:#14251d; --cream:#f0e4cc; --muted:#c3bda9; --copper:#c58c60; --line:#c58c6045; }
* { box-sizing:border-box; }
body { margin:0; background:var(--forest); color:var(--cream); font-family:Arial,Helvetica,sans-serif; -webkit-font-smoothing:antialiased; }
body::before { content:""; position:fixed; inset:0; pointer-events:none; background:radial-gradient(ellipse at 15% 35%,#35523a40,transparent 65%); z-index:-1; }
a { color:inherit; -webkit-tap-highlight-color:transparent; }
a:focus-visible { outline:3px solid var(--copper); outline-offset:5px; }
.song-shell { width:min(100% - 6rem,1100px); margin:auto; }
header { min-height:76px; display:flex; justify-content:space-between; align-items:center; gap:1rem; border-bottom:1px solid var(--line); }
.wordmark { display:inline-flex; align-items:center; min-height:44px; text-decoration:none; font-size:.8125rem; letter-spacing:.1em; font-weight:600; }
.header-note { color:var(--copper); font-size:.6875rem; font-weight:600; text-transform:uppercase; letter-spacing:.14em; }
.song-release { display:grid; grid-template-columns:minmax(0,1.06fr) minmax(0,1fr); gap:clamp(2rem,5vw,4rem); align-items:center; padding:3rem 0; }
.song-art { margin:0; }
.song-art img { display:block; width:100%; height:auto; aspect-ratio:1; box-shadow:0 18px 65px #0004; }
.song-copy { min-width:0; }
h1 { font-family:Georgia,'Times New Roman',serif; font-size:clamp(3rem,5.1vw,4.15rem); line-height:1.05; letter-spacing:-.045em; font-weight:400; margin:0 0 1.5rem; }
h1 em { color:var(--copper); }
.listen-label { color:var(--muted); font-size:.6875rem; text-transform:uppercase; letter-spacing:.12em; margin:0 0 .75rem; }
.listen-links { display:grid; gap:.625rem; }
.listen-links a,.lyric-video { display:flex; align-items:center; justify-content:space-between; gap:1rem; min-height:54px; padding:.85rem 1rem; border:1px solid #c3bda970; border-radius:3px; text-decoration:none; font-size:.9375rem; font-weight:600; line-height:1.4; transition:background .15s; }
.listen-links a span:last-child,.lyric-video > span:last-child { font-size:1.15rem; font-weight:400; line-height:1; }
.listen-links a:first-child { background:#d5e0c5; color:var(--forest); border-color:#d5e0c5; }
.listen-links a:hover { background:#ffffff12; }
.listen-links a:first-child:hover { background:#e5eddc; }
.lyric-video { margin-top:.625rem; border-color:var(--copper); color:var(--cream); text-align:left; justify-content:flex-start; gap:.75rem; }
.lyric-video > span:first-child { color:var(--copper); font-size:.75rem; }
.lyric-video > span:last-child { margin-left:auto; }
.lyric-video:hover { background:#c58c601a; }
.song-story { border-top:1px solid var(--line); padding:3rem 0; }
.song-story h2,.song-story-copy { width:min(100%,700px); margin-inline:auto; }
.song-story h2 { width:min(100%,700px); font:400 clamp(1.75rem,3vw,2.25rem)/1.2 Georgia,serif; letter-spacing:-.025em; color:var(--cream); margin-top:0; margin-bottom:1.4rem; }
.song-story-copy { max-width:700px; }
.song-story p { color:var(--muted); font-size:1rem; line-height:1.85; margin:0 0 1.2rem; }
.song-story p:last-child { margin-bottom:0; color:var(--cream); }
footer { display:flex; align-items:center; justify-content:space-between; gap:1rem; border-top:1px solid var(--line); padding:1rem 0; font-size:.75rem; color:var(--muted); }
footer a { display:inline-flex; align-items:center; gap:.7rem; min-height:44px; text-underline-offset:4px; }
@media(max-width:760px) {
 .song-shell { width:calc(100% - 3rem); }
 header { min-height:60px; }
 .wordmark { font-size:.75rem; }
 .header-note { font-size:.625rem; }
 .song-release { grid-template-columns:1fr; gap:1.5rem; padding:1.75rem 0 2rem; }
 .song-art { width:min(64vw,240px); margin:auto; }
 .song-copy { text-align:center; }
 h1 { font-size:clamp(1.95rem,8.5vw,2.5rem); line-height:1.12; margin-bottom:1.25rem; }
 h1 br { display:none; }
 .listen-links { text-align:left; }
 .listen-label { margin-bottom:.65rem; }
 .song-story { padding:2rem 0; }
 .song-story h2 { font-size:1.75rem; margin-bottom:1.1rem; }
 .song-story p { font-size:.9375rem; line-height:1.8; }
 footer { font-size:.6875rem; }
}
@media(prefers-reduced-motion:reduce) { * { transition:none!important; } }
