/* Two music pages only. No shared theme, directory or player overrides. */
:is(.page-canciones,.page-nuestra-historia) main { --edition-paper:#e5dace; --edition-warm:#eac397; --edition-ink:#19161c; }
:is(.page-canciones,.page-nuestra-historia) main [id] { scroll-margin-top:190px; }
.page-canciones .page-heading h1 { font-size:clamp(2.5rem,4.6vw,4.8rem); overflow-wrap:anywhere; }
.page-canciones .page-heading .actions { align-items:flex-start; }
.page-canciones .page-heading .text-link { font-size:.73rem; }
.page-canciones .catalog-grid { display:block; }
.season-jumps { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin-bottom:32px; }
.season-jump.listening-cover { display:flex; align-items:center; gap:22px; flex:auto; margin:0; padding:25px; border-block:1px solid var(--line); background:var(--panel); }
.season-jump strong { color:var(--gold); font:italic 3rem var(--serif,Georgia,serif); }
.season-jump.listening-cover span { margin:0; color:var(--text); font-size:.8rem; letter-spacing:.06em; }
.season-jump small { display:block; color:var(--muted); font-size:.8rem; letter-spacing:0; margin-top:6px; }
.season-jump:hover { border-color:var(--gold); }
.season-volume { margin-top:52px; }
.season-volume + .season-volume { margin-top:100px; padding-top:50px; border-top:1px solid var(--gold); }
.season-volume:not(:has(article:not([hidden]))) { display:none; }
.season-heading { position:relative; padding:clamp(28px,5vw,64px); margin-bottom:30px; border-radius:6px; }
.season-volume-1 .season-heading { background:var(--edition-paper); color:#28232a; border-left:7px solid #6e535d; }
.season-heading h2 { max-width:13ch; font:normal clamp(2.5rem,5.6vw,5rem)/1.02 var(--serif,Georgia,serif); letter-spacing:-.035em; margin:14px 0 22px; }
.season-heading > p:not(.eyebrow) { max-width:62ch; }
.season-heading .eyebrow { color:inherit; }
.season-heading .season-subtitle { font-weight:700; margin-bottom:18px; }
.season-heading .text-link { display:inline-block; margin-top:24px; }
.season-volume-1 .season-heading .text-link { color:#46303d; }
.season-volume-2 .season-heading { border:1px solid #785547; border-top:5px solid var(--gold); background:radial-gradient(ellipse at 100% 0,#b3683233,transparent 65%),#241b23; }
.season-volume-2 .season-heading h2 { color:var(--edition-warm); max-width:17ch; }
.season-song-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; align-items:start; }
.page-canciones .song-card { overflow:visible; border-radius:6px; }
.page-canciones .song-art { position:relative; border-radius:5px 5px 0 0; }
.page-canciones .song-art .song-thumbnail { object-fit:contain; transform:none; }
.song-global { position:absolute; inset:auto auto 0 0; padding:6px 14px; background:#161219; color:#f6f1eb; font:italic 1.1rem var(--serif,Georgia,serif); }
.song-finale .song-global { position:static; display:block; text-align:right; }
.page-canciones .song-body { gap:0; padding:clamp(20px,3vw,34px); }
.page-canciones .song-kicker { font-size:.7rem; letter-spacing:.1em; }
.page-canciones .song-genre { color:var(--gold); font-size:.8rem; margin-bottom:20px; }
.song-hook { font:italic 1.3rem/1.35 var(--serif,Georgia,serif); color:var(--edition-paper); margin-bottom:12px; }
.page-canciones .song-description { color:var(--muted); font-size:.94rem; }
.song-availability { display:flex; flex-direction:column; gap:5px; margin-top:22px; font-size:.8rem; color:var(--muted); }
.upcoming-label { color:var(--gold); letter-spacing:.08em; font-weight:700; }
.page-canciones .play-here { width:100%; margin-block:18px 10px; }
.song-youtube { display:inline-block; align-self:flex-start; font-size:.75rem; margin:12px 0 22px; }
.song-reading { border-top:1px solid var(--line); }
.song-reading summary { min-height:62px; padding:18px 4px; cursor:pointer; color:var(--text); font-size:.77rem; font-weight:700; letter-spacing:.06em; }
.song-reading summary::marker { color:var(--gold); }
.reading-status { display:block; margin:4px 0 0 16px; color:var(--muted); font-size:.78rem; font-weight:400; letter-spacing:0; }
.song-reading summary:hover { color:var(--gold); }
.song-reading summary:focus-visible { outline:3px solid var(--pink); outline-offset:3px; }
.song-reading[open] summary { color:var(--gold); }
.song-reading-content { padding:10px 4px 28px; overflow-wrap:anywhere; scroll-margin-top:28px; }
.song-reading-content > * + * { margin-top:20px; }
.song-reading-content h4 { font:normal 1.5rem/1.25 var(--serif,Georgia,serif); color:var(--text); margin:0 0 20px; }
.song-reading-content h5 { font:700 .8rem/1.4 Arial,Helvetica,sans-serif; letter-spacing:.07em; text-transform:uppercase; color:var(--gold); margin-bottom:0; }
.song-reading-content p { font-size:1rem; line-height:1.8; }
.song-reading-content .lyrics-text { white-space:pre-wrap; font-size:1.04rem; line-height:1.9; }
.song-reading-content .lyric-note,.song-reading-content .lyric-credit,.song-reading-content .editorial-origin { color:var(--muted); font-size:.82rem; line-height:1.6; }
.song-reading-content .song-message { padding-left:18px; border-left:2px solid var(--gold); color:var(--edition-warm); font:italic 1.35rem/1.45 var(--serif,Georgia,serif); }
.song-support,.reading-permalink { font-size:.8rem; }
.reading-permalink { display:block; width:fit-content; min-height:36px; margin-top:24px; color:var(--muted); }
.song-navigation { display:flex; flex-wrap:wrap; gap:8px 18px; border-top:1px solid var(--line); padding-top:18px; }
.song-navigation a,.song-step.listening-cover { display:inline-flex; align-items:center; flex:initial; min-height:40px; margin:0; color:var(--muted); font-size:.78rem; text-decoration:underline; }
.song-navigation a:last-child { margin-left:auto; }
.song-finale { grid-column:1/-1; border-color:#8d6b4e; }
.song-finale .song-body { max-width:78ch; width:100%; margin:auto; }
.song-finale .song-art { background:#191313; }
.song-finale .song-art img { max-height:640px; }
.season-farewell { padding-block:100px 70px; text-align:center; }
.season-farewell h2 { font:normal clamp(2.2rem,4.5vw,4rem)/1.12 var(--serif,Georgia,serif); margin:18px auto 40px; max-width:24ch; }
.season-farewell h2 em,.story-layout em { color:var(--gold); font-weight:400; }
.season-farewell figure { margin:0; }
.season-farewell .finale-cover { width:100%; height:auto; object-fit:contain; border-radius:6px; }
.season-farewell figcaption,.story-layout figcaption { color:var(--muted); font-size:.8rem; margin-top:14px; }
.farewell-copy { max-width:64ch; margin:38px auto 0; }
.farewell-copy > * + * { margin-top:24px; }
.external-note { color:var(--muted); font-size:.8rem; line-height:1.7; }
.farewell-copy .text-link { display:inline-block; font-size:.75rem; }
.story-layout { padding-top:70px; padding-bottom:70px; }
.story-opening { max-width:1050px; margin:0 auto 100px; }
.story-opening h1 { font:normal clamp(3rem,6.3vw,6rem)/1.04 var(--serif,Georgia,serif); letter-spacing:-.035em; margin:24px 0 54px; }
.story-opening h2 { max-width:26ch; font:normal clamp(1.65rem,3.1vw,2.7rem)/1.3 var(--serif,Georgia,serif); }
.story-opening .intro { max-width:65ch; margin:26px 0; }
.story-origin-image { margin:50px 0 0; }
.story-origin-image img { width:100%; border-radius:6px; }
.story-chapter { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,2fr); gap:50px; padding-block:70px; border-top:1px solid var(--line); }
.chapter-margin .eyebrow { font-size:.7rem; }
.chapter-margin > span { display:block; margin-top:28px; color:var(--muted); font:italic 1.8rem/1.3 var(--serif,Georgia,serif); }
.story-prose { max-width:65ch; min-width:0; }
.story-prose h2 { font:normal clamp(2rem,3.4vw,3rem)/1.12 var(--serif,Georgia,serif); margin-bottom:30px; }
.story-prose p { margin-bottom:24px; font-size:1.05rem; line-height:1.9; }
.story-prose blockquote { border-left:2px solid var(--gold); padding-left:24px; margin:35px 0; }
.story-prose blockquote p { color:var(--edition-warm); font:italic 1.7rem/1.5 var(--serif,Georgia,serif); }
.story-pivot { font:italic 1.65rem/1.45 var(--serif,Georgia,serif); color:var(--gold); }
.story-season { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:20px 60px; padding:clamp(28px,5vw,64px); margin-block:30px; border-radius:6px; }
.story-season > .eyebrow { grid-column:1/-1; color:inherit; }
.story-season h2,.story-support h2,.story-finale h2 { font:normal clamp(2.5rem,4.5vw,4.3rem)/1.05 var(--serif,Georgia,serif); }
.story-season-copy p { margin-bottom:20px; }
.story-season-one { background:var(--edition-paper); color:#28232a; border-left:7px solid #6e535d; }
.story-season-one em,.story-season-one a { color:#46303d; }
.story-season-two { background:radial-gradient(ellipse at 100% 0,#b3683233,transparent 70%),#241b23; border:1px solid #785547; border-top:5px solid var(--gold); }
.story-support { padding:70px 0; border-block:1px solid var(--line); }
.story-support h2 { margin:22px 0 40px; }
.story-finale { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.2fr); gap:45px; align-items:center; padding-block:90px; }
.story-finale h2 { margin:20px 0 28px; }
.story-finale p + p { margin-top:20px; }
.story-finale figure { margin:0; }
.story-finale figure img { width:100%; height:auto; object-fit:contain; border-radius:6px; }
.story-finale .finale-status { color:var(--muted); font-size:.8rem; }
.story-finale .button { margin-top:26px; }
.story-finale .external-note { margin-top:12px; }
.story-goodbye { padding:70px 0 30px; border-top:1px solid var(--gold); }
.story-goodbye h2 { font:normal clamp(2.5rem,5vw,4.5rem)/1.12 var(--serif,Georgia,serif); margin:24px 0 40px; }
.story-prose .story-thanks { color:var(--edition-warm); font:italic 1.8rem/1.5 var(--serif,Georgia,serif); margin-block:40px; }
@media (max-width:760px) {
  :is(.page-canciones,.page-nuestra-historia) main [id] { scroll-margin-top:230px; }
  .season-jumps,.season-song-grid,.story-chapter,.story-season,.story-finale { grid-template-columns:minmax(0,1fr); }
  .season-jumps { gap:12px; }
  .season-jump.listening-cover { padding:20px; }
  .season-volume + .season-volume { margin-top:70px; padding-top:30px; }
  .season-heading h2 { font-size:clamp(2.4rem,9vw,4rem); }
  .season-heading { padding:28px 22px; }
  .story-layout { padding-top:42px; }
  .story-opening { margin-bottom:60px; }
  .story-opening h1 { margin-bottom:36px; }
  .story-chapter { padding-block:45px; gap:24px; }
  .chapter-margin > span { display:none; }
  .story-season { gap:25px; }
  .story-finale { padding-block:55px; gap:30px; }
  .story-support { padding-block:55px; }
  .season-farewell { padding-block:70px 40px; }
}
@media (max-width:340px) {
  .page-canciones .page-heading { padding-inline:16px; }
  .page-canciones .page-heading h1 { font-size:2.25rem; }
  .page-canciones .page-heading .button,.story-finale .button { white-space:normal; overflow-wrap:anywhere; font-size:.7rem; }
  .season-jump.listening-cover { padding-inline:15px; gap:16px; }
  .page-canciones .song-body { padding:18px; }
  .season-heading { padding-inline:18px; }
  .story-season { padding:25px 18px; }
  .story-opening h1 { font-size:2.65rem; }
}
@media (prefers-reduced-motion:reduce) {
  .page-canciones main *, .page-nuestra-historia main * { scroll-behavior:auto; }
}
