.chapter-page { --chapter-dark:#14232b; }
.chapter-page .primary-nav { gap:clamp(.8rem,1.8vw,2rem); }
.chapter-page .site-header { border-bottom:0; }
.chapter-hero { position:relative; background:var(--chapter-dark); color:white; max-width:1600px; margin:auto; min-height:660px; height:min(800px,76vw); overflow:hidden; }
.chapter-hero-picture,.chapter-hero-picture img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 45%; }
.chapter-hero-shade { position:absolute; inset:0; background:linear-gradient(180deg,rgba(8,20,27,.55),transparent 33%,rgba(6,17,25,.15) 42%,rgba(7,18,26,.92) 100%); }
.chapter-hero-top { position:absolute; top:2rem; left:var(--gutter); right:var(--gutter); display:flex; justify-content:space-between; gap:1rem; font-size:.75rem; letter-spacing:.12em; }
.chapter-back { display:flex; align-items:center; gap:1rem; font-size:.875rem; letter-spacing:.05em; min-height:44px; }
.chapter-hero-top>span { padding-top:.75rem; }
.chapter-hero-copy { position:absolute; left:var(--gutter); right:var(--gutter); bottom:4rem; }
.chapter-kicker { font-size:.75rem; font-weight:600; letter-spacing:.13em; line-height:1.6; }
.chapter-hero-copy>.chapter-kicker { color:#d1d9dc; margin-bottom:1rem; }
.chapter-hero h1 { font-family:var(--font-display); font-size:clamp(3.75rem,8.2vw,8.2rem); line-height:.98; letter-spacing:-.02em; font-weight:700; max-width:950px; }
.chapter-hero h1>span { color:#ff665e; }
.chapter-hero-bottom { display:flex; justify-content:space-between; align-items:flex-end; gap:2rem; margin-top:1.5rem; }
.chapter-hero-bottom>p { font-size:1.35rem; line-height:1.7; letter-spacing:.035em; }
.chapter-hero-bottom>p>span { display:block; font-size:.875rem; color:#d9e0e1; margin-top:.4rem; }
.chapter-begin { display:flex; gap:2rem; align-items:center; min-height:48px; border-bottom:1px solid #acb6b880; font-size:.875rem; white-space:nowrap; }
.chapter-begin>span { font-size:1.8rem; }
.art-note { position:absolute; bottom:1.15rem; right:var(--gutter); color:#bec9ce; font-size:.75rem; letter-spacing:.04em; }
.chapter-timeline { position:sticky; z-index:9; top:0; background:var(--paper); box-shadow:0 1px 0 var(--line); }
.chapter-timeline-inner { display:flex; align-items:center; justify-content:space-between; max-width:1600px; margin:auto; padding:0 var(--gutter); gap:1.5rem; min-height:86px; }
.chapter-timeline-inner { overflow-x:auto; overscroll-behavior-x:contain; scrollbar-width:thin; }
.chapter-timeline-inner>a { flex-shrink:0; white-space:nowrap; }
.timeline-label { font-size:.75rem; color:var(--muted); letter-spacing:.1em; }
.chapter-timeline-inner>a { min-height:64px; display:flex; align-items:center; gap:.8rem; font-size:.875rem; }
.chapter-timeline-inner b { font-family:var(--font-display); font-size:1.45rem; }
.chapter-timeline-inner a[aria-current] { color:var(--red); }
.chapter-timeline-inner .timeline-film { font-size:.875rem; }
.reading-progress { display:block; width:100%; height:3px; border:0; appearance:none; background:transparent; color:var(--red); }
.reading-progress::-webkit-progress-bar { background:transparent; }
.reading-progress::-webkit-progress-value { background:var(--red); }
.reading-progress::-moz-progress-bar { background:var(--red); }
.chapter-scene { scroll-margin-top:6rem; }
.scene-margin { display:flex; align-items:center; gap:1.2rem; margin-bottom:2rem; }
.scene-number { font-family:var(--font-display); font-size:1.7rem; color:var(--red); line-height:1; }
.scene-margin .chapter-kicker { color:var(--muted); }
.scene-place { margin-left:auto; font-size:.75rem; color:var(--muted); letter-spacing:.08em; }
.scene-grid { display:grid; grid-template-columns:1fr 1fr; gap:6rem; }
.scene-grid>* { min-width:0; }
.chapter-scene h2 { font-size:clamp(1.9rem,3.2vw,3.2rem); line-height:1.55; letter-spacing:-.035em; }
.scene-prose { max-width:640px; }
.scene-prose p { font-size:1rem; line-height:2; color:#515950; }
.scene-prose p+p { margin-top:1.2rem; }
.scene-art { margin:3rem 0 0; }
.scene-art img { display:block; width:100%; height:auto; background:#24333b; }
.scene-art figcaption { display:flex; justify-content:space-between; align-items:flex-start; gap:1rem 3rem; padding:1rem 0; border-bottom:1px solid var(--line); font-size:.8125rem; line-height:1.8; color:#515950; }
.scene-art figcaption>div { max-width:48rem; }
.scene-art figcaption strong { color:var(--ink); font-size:.9375rem; }
.scene-art figcaption p { margin-top:.3rem; }
.scene-art figcaption>span { flex-shrink:0; }
.scene-art figcaption a { display:inline-block; padding:.4rem 0; text-decoration:underline; text-underline-offset:4px; }
.atletico-homecoming .scene-art figcaption { color:#d3dbe5; border-color:#67768d; }
.atletico-homecoming .scene-art figcaption strong { color:white; }
@media(max-width:760px) {
  .scene-art { margin-top:2rem; }
  .scene-art figcaption { flex-direction:column; gap:.5rem; }
}
.source-inline { display:inline-flex; align-items:center; min-height:44px; font-size:.75rem; margin-top:1rem; color:#626c62; text-decoration:underline; text-underline-offset:4px; }
.arrival-foot { position:relative; margin-top:3.4rem; padding:1.5rem 0; border-block:1px solid var(--line); display:flex; gap:2rem; align-items:center; }
.arrival-foot>span:first-child { font-size:.75rem; letter-spacing:.12em; color:var(--muted); }
.arrival-foot>p { font-size:1rem; }
.arrival-nine { margin-left:auto; font-family:var(--font-display); font-size:4rem; line-height:1; color:var(--red); }
.scene-understanding { padding-top:0; display:grid; grid-template-columns:.8fr 1.2fr; gap:5rem; align-items:center; }
.archive-photo { position:relative; margin:0; background:#c5c7bd; }
.archive-photo>img { width:100%; max-height:650px; aspect-ratio:4/5; object-fit:cover; object-position:center 18%; }
.archive-photo>figcaption { padding:.9rem 1rem; display:flex; flex-direction:column; gap:.15rem; background:var(--soft); color:var(--muted); font-size:.75rem; }
.archive-photo a { text-decoration:underline; text-underline-offset:3px; }
.understanding-copy { min-width:0; }
.understanding-copy h2 { margin-bottom:1.4rem; }
.season-stats { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--line); margin-top:1.8rem; padding-top:1.4rem; gap:1.5rem; }
.season-stats>div { display:flex; align-items:center; gap:1rem; }
.season-stats>div+div { border-left:1px solid var(--line); padding-left:1.5rem; }
.season-stats dt { font-family:var(--font-display); font-size:4rem; line-height:1; }
.season-stats dd { font-size:.875rem; line-height:1.7; }
.season-stats small { font-size:.75rem; color:var(--muted); }
.scene-match { background:#e9ece5; border-top:1px solid var(--line); max-width:1600px; margin:auto; }
.match-heading { padding-bottom:2.8rem; }
.match-heading .section-heading { margin:0; }
.match-score { text-align:center; padding:0 2rem; flex-shrink:0; }
.match-score>span { display:block; font-size:.75rem; letter-spacing:.11em; }
.match-score>strong { font-family:var(--font-display); font-size:5.25rem; line-height:1.15; font-weight:700; }
.match-score i { font-style:normal; font-weight:400; color:#989f93; padding-inline:.1em; }
.match-score em { font-style:normal; color:var(--red); }
.match-art img { width:100%; aspect-ratio:16/9; object-fit:cover; }
.match-art figcaption { display:flex; justify-content:space-between; gap:1rem; padding:1rem var(--gutter); background:var(--chapter-dark); color:#c8d2d7; font-size:.75rem; letter-spacing:.06em; }
.match-story { display:grid; grid-template-columns:.6fr 1.4fr; gap:5rem; padding-block:3.5rem 4.5rem; }
.match-minute { display:flex; flex-direction:column; align-items:flex-start; }
.match-minute strong { font-family:var(--font-display); font-size:7rem; line-height:1; color:var(--red); }
.match-minute strong>span { font-size:.75em; }
.match-minute>span { color:#626c62; font-size:.875rem; margin-top:.6rem; }
.chapter-film { background:var(--chapter-dark); color:white; scroll-margin-top:5rem; }
.film-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:2rem; margin-bottom:2rem; }
.film-heading .chapter-kicker { color:#adc0c8; margin-bottom:.75rem; }
.film-heading h2 { font-size:clamp(1.9rem,3.2vw,3rem); }
.film-heading>p { font-size:.875rem; text-align:right; }
.film-heading>p>span { color:#bcc8ce; }
.video-shell { aspect-ratio:16/9; position:relative; background:#080f12; }
.video-stage,.video-poster { position:absolute; inset:0; }
.video-stage iframe,.video-stage>div { width:100%; height:100%; border:0; }
.video-poster>img { width:100%; height:100%; object-fit:cover; object-position:center 45%; }
.video-poster-shade { position:absolute; inset:0; background:linear-gradient(180deg,#0717221a,#071722b8); }
.video-play { position:absolute; left:0; top:0; width:100%; height:100%; display:flex; gap:1.4rem; justify-content:center; align-items:center; }
.play-symbol { display:flex; align-items:center; justify-content:center; padding-left:.2rem; width:76px; height:76px; background:var(--red); color:white; border-radius:50%; font-size:1.6rem; box-shadow:0 0 0 9px #fff2; transition:transform .2s; }
.video-play:hover .play-symbol { transform:scale(1.08); }
.video-play>span:last-child { font-size:1.15rem; }
.video-play small { display:block; font-size:.75rem; letter-spacing:.12em; color:#d4dfe2; margin-top:.5rem; }
.video-shell.is-loading .video-play { cursor:progress; opacity:.6; }
.video-shell.is-ready .video-poster { display:none; }
.video-shell.has-error .video-poster-shade { background:#071722ca; }
.video-caption { display:flex; gap:2rem; justify-content:space-between; align-items:flex-start; margin-top:1.1rem; font-size:.875rem; }
.video-status { color:#c1d0d6; }
.video-caption>a { white-space:nowrap; text-decoration:underline; text-underline-offset:5px; }
.film-source { font-size:.75rem; color:#a0b1b9; margin-top:1rem; line-height:1.9; }
.film-source a { text-decoration:underline; text-underline-offset:3px; }
.chapter-totals { display:flex; gap:3rem; align-items:center; justify-content:space-between; margin-top:3rem; padding-top:2rem; border-top:1px solid var(--line); }
.chapter-totals>span { font-size:.75rem; letter-spacing:.1em; color:var(--muted); }
.chapter-totals>span>b { font-weight:400; font-size:.875rem; }
.chapter-totals>div { display:flex; flex-direction:column; }
.chapter-totals strong { font-family:var(--font-display); font-size:4.75rem; line-height:1.1; }
.chapter-totals>div>span { font-size:.875rem; color:var(--muted); margin-top:.3rem; }
.chapter-totals>p { font-size:1rem; line-height:1.9; }
.totals-note { font-size:.75rem; color:var(--muted); margin-top:1.8rem; }
.chapter-ending { max-width:1600px; margin:auto; background:var(--red); color:white; padding:4.5rem var(--gutter); text-align:center; }
.chapter-ending>.chapter-kicker { font-weight:400; opacity:.85; }
.chapter-ending h2 { font-size:clamp(1.9rem,3.5vw,3.3rem); line-height:1.65; margin:1.8rem 0; }
.chapter-ending .button { color:var(--ink); background:var(--paper); }
.chapter-ending .button:hover { background:white; transform:translateY(-2px); }
.chapter-ending>span { display:block; font-family:var(--font-display); font-size:1.5rem; letter-spacing:.04em; margin-top:2.2rem; opacity:.8; }
.footer-return { font-size:.875rem; }

@media (max-width:1150px) {
  .chapter-timeline-inner { gap:1rem; }
  .timeline-label { display:none; }
  .scene-grid { gap:3rem; }
  .scene-understanding { gap:3rem; }
  .season-stats>div { flex-direction:column; align-items:flex-start; gap:.6rem; }
  .match-story { gap:3rem; }
  .chapter-totals { gap:2rem; }
}
@media (max-width:760px) {
  .chapter-hero { min-height:590px; height:calc(100svh - 80px); max-height:780px; }
  .chapter-hero-picture img { object-position:52% 35%; }
  .chapter-hero-shade { background:linear-gradient(180deg,#07131a70,transparent 25%,#07131a15 38%,#07131aea 100%); }
  .chapter-hero-top { top:1rem; align-items:flex-start; }
  .chapter-hero-top>span { max-width:115px; font-size:.75rem; text-align:right; letter-spacing:.07em; padding-top:.75rem; }
  .chapter-back { font-size:.875rem; gap:.55rem; }
  .chapter-hero-copy { bottom:3.2rem; }
  .chapter-hero h1 { font-size:clamp(2.65rem,10.8vw,5.7rem); line-height:1.03; overflow-wrap:anywhere; }
  .chapter-hero-copy>.chapter-kicker { font-size:.75rem; letter-spacing:.07em; margin-bottom:.9rem; }
  .chapter-hero-bottom { display:block; margin-top:1.1rem; }
  .chapter-hero-bottom>p { font-size:1.25rem; }
  .chapter-hero-bottom>p>span { font-size:.875rem; max-width:300px; }
  .chapter-begin { width:fit-content; margin-top:1rem; gap:2rem; min-height:44px; }
  .art-note { bottom:.8rem; left:var(--gutter); right:auto; font-size:.75rem; letter-spacing:0; }
  .chapter-timeline-inner { padding-inline:1rem; min-height:72px; gap:.5rem; }
  .chapter-timeline-inner>a { flex-direction:column; justify-content:center; gap:0; min-height:64px; min-width:55px; font-size:.875rem; }
  .chapter-timeline-inner b { font-size:1.35rem; }
  .chapter-timeline-inner .timeline-film { display:none; }
  .chapter-scene { scroll-margin-top:5.4rem; }
  .scene-margin { gap:.9rem; margin-bottom:1.5rem; flex-wrap:wrap; }
  .scene-place { margin-left:0; width:100%; letter-spacing:.05em; }
  .scene-grid { grid-template-columns:1fr; gap:1.4rem; }
  .chapter-scene h2 { font-size:1.9rem; line-height:1.65; }
  .scene-prose p { font-size:1rem; line-height:2; }
  .arrival-foot { margin-top:1.8rem; gap:.8rem; flex-wrap:wrap; }
  .arrival-foot>span:first-child { width:calc(100% - 5rem); font-size:.75rem; letter-spacing:.05em; }
  .arrival-foot>p { order:3; width:100%; font-size:1rem; }
  .arrival-nine { font-size:3.5rem; grid-row:span 2; }
  .scene-understanding { grid-template-columns:1fr; gap:2rem; }
  .archive-photo>img { max-height:480px; aspect-ratio:4/3; object-position:center 18%; }
  .understanding-copy h2 { margin-bottom:1rem; }
  .season-stats { margin-top:1.5rem; gap:1rem; }
  .season-stats>div { flex-direction:row; align-items:center; gap:.7rem; }
  .season-stats>div+div { padding-left:1rem; }
  .season-stats dt { font-size:3.5rem; }
  .season-stats dd { font-size:.875rem; }
  .season-stats small { font-size:.75rem; }
  .match-heading { padding-bottom:1.8rem; }
  .match-heading .section-heading { display:flex; align-items:flex-start; flex-direction:column; gap:1.5rem; }
  .match-score { display:flex; flex-wrap:wrap; width:100%; justify-content:space-between; align-items:center; gap:.75rem; padding:1rem 0 0; border-top:1px solid #bfc6b9; }
  .match-score>span { max-width:80px; font-size:.75rem; letter-spacing:.02em; text-align:left; }
  .match-score>span:last-child { text-align:right; }
  .match-score>strong { font-size:3.8rem; }
  .match-art img { aspect-ratio:4/3; object-fit:cover; object-position:center; }
  .match-art figcaption { flex-direction:column; gap:.25rem; font-size:.75rem; letter-spacing:.035em; }
  .match-story { grid-template-columns:1fr; gap:1.3rem; padding-block:2rem 3rem; }
  .match-minute { flex-direction:row; align-items:center; gap:1.3rem; }
  .match-minute strong { font-size:4.5rem; }
  .match-minute>span { font-size:.875rem; margin:0; }
  .film-heading { flex-direction:column; align-items:flex-start; gap:1rem; }
  .film-heading>p { text-align:left; font-size:.875rem; }
  .film-heading h2 { font-size:1.9rem; }
  .play-symbol { width:52px; height:52px; font-size:1.2rem; box-shadow:0 0 0 5px #fff2; }
  .video-play { gap:1rem; }
  .video-play>span:last-child { font-size:1rem; }
  .video-play small { font-size:.75rem; letter-spacing:.05em; margin-top:.2rem; }
  .video-caption { flex-direction:column; gap:.6rem; font-size:.875rem; }
  .film-source { font-size:.75rem; }
  .chapter-totals { display:grid; grid-template-columns:1fr 1fr; gap:1.4rem; padding-top:1.5rem; margin-top:2rem; }
  .chapter-totals>span { grid-column:1/-1; }
  .chapter-totals strong { font-size:4rem; }
  .chapter-totals>p { grid-column:1/-1; }
  .totals-note { margin-top:1rem; }
  .chapter-ending { padding-block:3rem; }
  .chapter-ending>.chapter-kicker { font-size:.75rem; letter-spacing:.06em; }
  .chapter-ending h2 { font-size:2rem; }
  .footer-return { font-size:.875rem; }
}
@media (max-width:360px) {
  .chapter-hero h1 { font-size:10.8vw; }
  .chapter-hero { min-height:610px; }
  .season-stats>div { flex-direction:column; align-items:flex-start; }
  .match-score>strong { font-size:3.2rem; }
  .match-score>span { max-width:68px; }
  .video-play { gap:.7rem; }
  .video-play small { font-size:.75rem; letter-spacing:0; }
}

/* Content flow also accommodates 200% text enlargement. */
.chapter-hero { display:flex; flex-direction:column; justify-content:space-between; height:auto; min-height:720px; }
.chapter-hero-top { position:relative; inset:auto; padding:2rem var(--gutter) 0; }
.chapter-hero-copy { position:relative; inset:auto; margin-top:clamp(9rem,14vw,14rem); padding:0 var(--gutter) 4rem; }
.season-stats { grid-template-columns:repeat(auto-fit,minmax(min(100%,8rem),1fr)); }
.season-stats>div { min-width:0; flex-wrap:wrap; }
.season-stats dd { min-width:0; max-width:100%; overflow-wrap:anywhere; }
.chapter-page .header-note { max-width:100%; }
@media (max-width:760px) {
  .chapter-hero { min-height:610px; max-height:none; }
  .chapter-hero-top { padding-top:1rem; }
  .chapter-hero-copy { margin-top:clamp(9rem,55vw,14rem); padding-bottom:3.2rem; }
  .season-stats>div+div { padding-left:0; border-left:0; }
}

.atletico-page { --chapter-dark:#142039; }
.atletico-page .chapter-hero-picture img { object-position:65% center; }
.atletico-page .chapter-hero-shade { background:linear-gradient(90deg,#081329c9,#0b193950 60%,#10172825),linear-gradient(0deg,#081329eb,transparent 65%); }
.atletico-growing { background:#e9ecf0; }
.chapter-bridge { display:flex; align-items:center; gap:2rem; flex-wrap:wrap; margin-top:2.5rem; padding:1.6rem 0; border-block:1px solid #c4cbd4; }
.chapter-bridge>span { font-size:.875rem; }
.chapter-bridge>strong { font-size:1.125rem; }
.chapter-bridge>span:last-child { margin-left:auto; font-size:1.8rem; }
.atletico-homecoming { background:var(--chapter-dark); color:#fff; }
.atletico-homecoming .scene-prose p,.atletico-homecoming .source-inline,.atletico-homecoming .scene-place,.atletico-homecoming .chapter-kicker { color:#d3dbe5; }
.atletico-homecoming h2 span { color:#ff736e; }
.homecoming-number { display:flex; flex-wrap:wrap; align-items:center; gap:2rem; border-top:1px solid #67768d; padding-top:2rem; margin-top:2.5rem; }
.homecoming-number strong { font-family:var(--font-display); font-size:clamp(3rem,12vw,9rem); line-height:1; }
.homecoming-number>span { font-size:1rem; }
.homecoming-number small { font-size:.75rem; color:#b9c4d5; }
@media(max-width:760px) {
  .chapter-bridge { gap:.5rem 1rem; }
  .chapter-bridge>span:first-child { width:100%; }
  .chapter-bridge>strong { flex:1; }
  .atletico-page .chapter-timeline-inner { gap:.25rem; }
  .atletico-page .chapter-timeline-inner>a { min-width:0; }
  .homecoming-number { gap:1rem; }
  .chapter-totals { grid-template-columns:repeat(auto-fit,minmax(min(100%,8rem),1fr)); }
  .chapter-totals>* { min-width:0; }
}
@media(max-width:760px) {
  .atletico-page .chapter-hero-picture img { object-position:80% center; }
}
.chapter-page .chapter-hero-picture img { object-position:70% top; }
.legacy-chapter-links { padding-block:1.5rem; font-size:.875rem; border-top:1px solid var(--line); }
.legacy-chapter-links p { scroll-margin-top:6rem; }
.legacy-chapter-links p+p { margin-top:.75rem; }
.chapter-page .chapter-scene:nth-of-type(even) { background:#eeefe9; }
.chapter-page .chapter-timeline-inner>a { min-width:max-content; padding-inline:.5rem; }
@media(max-width:760px) {
  .chapter-page .chapter-hero-picture img { object-position:80% top; }
  .chapter-page .chapter-timeline-inner { justify-content:flex-start; gap:.8rem; }
  .chapter-page .chapter-timeline-inner>a { min-width:5rem; }
}

/* Blue chapter accents keep the site's red wordmark unchanged. */
.chelsea-page { --chapter-dark:#0c2041; --chapter-accent:#174eb3; }
.chelsea-page main .red-text,.chelsea-page .scene-number,.chelsea-page .chapter-timeline a[aria-current] { color:var(--chapter-accent); }
.chelsea-page .chapter-hero h1>span { color:#8fc0ff; }
.chelsea-page .chapter-hero-shade { background:linear-gradient(90deg,#07172db8,#07172d25 70%),linear-gradient(0deg,#07172dee,transparent 70%); }
.chelsea-page .chapter-scene:nth-of-type(even) { background:#eaf0f6; }
.chelsea-page .reading-progress { color:var(--chapter-accent); }
.chelsea-page .reading-progress::-webkit-progress-value { background:var(--chapter-accent); }
.chelsea-page .reading-progress::-moz-progress-bar { background:var(--chapter-accent); }
.chelsea-page .chapter-ending,.chelsea-page .play-symbol { background:var(--chapter-accent); }
.chelsea-record h2 { font-size:clamp(1.9rem,3.2vw,3.2rem); }

/* Tosu's cyan and pink close the journey without changing the shared brand. */
.tosu-page { --chapter-dark:#073847; --chapter-accent:#086880; }
.tosu-page main .red-text,.tosu-page .scene-number,.tosu-page .chapter-timeline a[aria-current] { color:var(--chapter-accent); }
.tosu-page .chapter-hero h1>span { display:block; color:#a9e7ef; }
.tosu-page .chapter-hero-shade { background:linear-gradient(90deg,#042b3b9c,#052b3914 72%),linear-gradient(0deg,#042b3be8,transparent 75%); }
.tosu-page .chapter-scene:nth-of-type(even) { background:#e8f2f2; }
.tosu-page .scene-art { border-bottom:3px solid #dd77a3; }
.tosu-page .reading-progress { color:var(--chapter-accent); }
.tosu-page .reading-progress::-webkit-progress-value { background:var(--chapter-accent); }
.tosu-page .reading-progress::-moz-progress-bar { background:var(--chapter-accent); }
.tosu-page .chapter-ending,.tosu-page .play-symbol { background:var(--chapter-accent); }
.tosu-page .chapter-ending .ending-return { display:block; margin:1.4rem auto 0; width:fit-content; text-decoration:underline; text-underline-offset:.3em; }
.tosu-record h2 { font-size:clamp(1.9rem,3.2vw,3.2rem); }
.tosu-page .chapter-hero h1 { font-size:clamp(4rem,7.6vw,8rem); }

/* A short red-and-black interlude between London and the return to Madrid. */
.milan-page { --chapter-dark:#20191b; --chapter-accent:#a82032; }
.milan-page main .red-text,.milan-page .scene-number,.milan-page .chapter-timeline a[aria-current] { color:var(--chapter-accent); }
.milan-page .chapter-hero h1>span { color:#ffa7a6; }
.milan-page .chapter-hero-shade { background:linear-gradient(90deg,#151014b3,#15101414 72%),linear-gradient(0deg,#151014ed,transparent 72%); }
.milan-page .chapter-scene:nth-of-type(even) { background:#f4eae7; }
.milan-page .reading-progress { color:var(--chapter-accent); }
.milan-page .reading-progress::-webkit-progress-value { background:var(--chapter-accent); }
.milan-page .reading-progress::-moz-progress-bar { background:var(--chapter-accent); }
.milan-page .chapter-ending { background:var(--chapter-accent); }
.milan-record h2 { font-size:clamp(1.9rem,3.2vw,3.2rem); }
.milan-dates { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2rem; margin:2.5rem 0; padding:2rem 0; border-block:1px solid var(--line); }
.milan-dates dt { font-family:var(--font-display); font-size:clamp(1.6rem,3vw,2.8rem); color:var(--chapter-accent); }
.milan-dates dd { margin:.65rem 0 0; line-height:1.65; }
.legacy-note { padding-block:1.5rem; border-block:1px solid var(--line); }
@media(max-width:760px) { .milan-dates { grid-template-columns:1fr; gap:1.5rem; } }
