/* V19 SESSION LOG: text and collage occupy independent layout regions. */
#making { padding-block: clamp(3.5rem,6.5vw,6rem); }
#making .making-layout {
  display: grid;
  grid-template-columns: minmax(0,1.25fr) minmax(0,1fr);
  align-items: start;
  gap: clamp(3.5rem,4.5vw,5rem);
}
#making .making-copy { min-width: 0; transform: none; }
#making .making-copy h2 {
  margin: .6rem 0 1.4rem;
  font: 750 clamp(1.85rem,2.7vw,2.5rem)/1.4 var(--body-sans);
  letter-spacing: -.025em;
  text-transform: none;
  transform: none;
  text-wrap: balance;
}
#making .making-copy > p:not(.section-code) { margin: 0 0 1.2rem; color: #e8e2d8; font: 400 1rem/1.95 var(--body-sans); }
#making .release-log { margin: 1.8rem 0 0; padding: 0; list-style: none; border-top: 1px solid #625c52; }
#making .release-log li { display: grid; grid-template-columns: 112px minmax(0,1fr); gap: 1rem; padding: 1rem 0; border-bottom: 1px solid #625c52; }
#making .release-log time { color: #ff8a8f; font: 700 .8rem/1.85 var(--mono); font-variant-numeric: tabular-nums; }
#making .release-log span { color: #e8e2d8; font: 400 .95rem/1.85 var(--body-sans); }
#making .making-assets {
  display: grid;
  grid-template-columns: repeat(12,minmax(0,1fr));
  align-items: start;
  align-self: start;
  padding: 22px;
  margin-top: .5rem;
  min-width: 0;
}
#making .making-assets figure { position: relative; margin: 0; min-width: 0; padding: 8px; border: 8px solid #d8d8d1; background: #d8d8d1; box-shadow: 12px 16px 0 rgba(0,0,0,.35); }
#making .photo-polaroid { grid-column: 2/13; grid-row: 1; transform: rotate(2deg); z-index: 2; }
#making .detroit-photo { grid-column: 1/12; grid-row: 2; margin-top: -2.5rem; transform: rotate(-3deg); z-index: 1; }
#making .making-assets img { display: block; width: 100%; height: auto; aspect-ratio: auto; object-fit: contain; filter: saturate(.96) contrast(1.015); }
#making .making-assets figcaption { position: static; padding-top: .65rem; color: #4e4238; font: 700 .65rem/1.65 var(--mono); letter-spacing: .04em; overflow-wrap: anywhere; }
@media(max-width:1100px) {
  #making .making-layout { grid-template-columns: minmax(0,1fr); max-width: 860px; gap: 2.5rem; }
  #making .making-assets { width: 100%; max-width: 680px; margin: 0 auto; }
}
@media(max-width:600px) {
  #making { padding-block: 2.8rem; }
  #making .making-copy h2 { font-size: 1.85rem; }
  #making .making-assets { padding: 18px; }
  #making .release-log li { grid-template-columns: minmax(0,1fr); gap: .35rem; }
}

/* V17 editorial components. Their obsolete selectors have been removed from all four stylesheets. */
.overview-editorial, .return-editorial {
  position: relative;
  padding-block: clamp(3rem, 5vw, 5rem);
  font-family: var(--body-sans);
}
.overview-editorial { background: #f4f0e8; color: #22201d; }
#overview > .section-inner { max-width: 860px; }
.editorial-kicker {
  margin: 0 0 1.6rem;
  padding-left: .75rem;
  border-left: 3px solid #b62027;
  font: 700 .75rem/1.5 var(--mono);
  letter-spacing: .06em;
}
.overview-opening h2 {
  margin: 0 0 1.8rem;
  font: 800 clamp(1.9rem, 3vw, 2.8rem)/1.4 var(--body-sans);
  letter-spacing: -.035em;
  text-wrap: pretty;
}
.overview-prose { max-width: 860px; }
.overview-prose p { max-width: none; margin: 0; font-size: 1rem; line-height: 1.95; }
.overview-prose p + p { margin-top: 1.25rem; }
.overview-record { margin-top: 2.2rem; border-top: 2px solid #22201d; }
.record-primary { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin: 0; }
.record-primary > div { min-width: 0; padding: 1.1rem 1.3rem 1.1rem 0; border-bottom: 1px solid #c4baac; }
.record-primary dt, .record-details dt { color: #60584e; font-size: .8rem; line-height: 1.7; }
.record-primary dd { margin: .35rem 0 0; font-size: 1rem; font-weight: 700; line-height: 1.7; }
.record-details > summary, .reading-topics > summary {
  width: fit-content; min-height: 44px; padding-block: .7rem; font-size: .9rem; line-height: 1.65; cursor: pointer;
}
.record-details dl { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem 2rem; margin: .4rem 0 1.4rem; }
.record-details dd { margin: .3rem 0 0; font-size: 1rem; line-height: 1.85; }
.overview-contents { margin-top: 1.2rem; padding-top: 1.25rem; border-top: 1px solid #c4baac; }
.overview-contents h3 { margin: 0 0 .65rem; font: 700 1rem/1.5 var(--body-sans); }
.overview-contents ol {
  display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0 2rem;
  counter-reset: reading; padding: 0; margin: 0; list-style: none;
}
.overview-contents li { counter-increment: reading; }
.overview-contents li a { display: flex; align-items: center; gap: .8rem; min-height: 44px; padding-block: .5rem; color: #22201d; font-size: .95rem; text-decoration: none; }
.overview-contents li a::before { content: counter(reading, decimal-leading-zero); color: #951e26; font: 700 .75rem/1 var(--mono); }
.overview-contents li a:hover { text-decoration: underline; text-underline-offset: .25em; }
.reading-topics { margin-top: .65rem; }
.reading-topics .reading-subnav { margin: .1rem 0 0; }
.overview-editorial a:visited { color: #22201d; }
.overview-editorial :is(a, summary):focus-visible { outline: 3px solid #951e26; outline-offset: 3px; }

.return-editorial { background: #111110; color: #f4f0e8; }
.return-opening { display: grid; grid-template-columns: minmax(0,1fr) 200px; gap: 2rem; align-items: center; margin-bottom: 2.2rem; }
.return-copy { min-width: 0; }
.return-copy h2 { margin: 0 0 1.1rem; max-width: 23em; font: 750 clamp(1.85rem,3vw,2.9rem)/1.45 var(--body-sans); letter-spacing: -.03em; text-wrap: pretty; }
.return-copy > p:last-child { margin: 0; font-size: 1rem; line-height: 1.9; }
.return-two { color: #d33239; font: 900 240px/.85 Impact, sans-serif; text-align: right; }
.return-themes { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 3rem; }
.return-theme { display: grid; grid-template-columns: 28px minmax(0,1fr); gap: 1rem; padding: 1.5rem 0; border-top: 1px solid #5e5951; }
.return-index { padding-top: .35rem; color: #ee777e; font: 700 .8rem/1.5 var(--mono); }
.return-theme h3 { margin: 0 0 .9rem; font: 750 clamp(1.1rem,1.7vw,1.4rem)/1.5 var(--body-sans); letter-spacing: -.02em; }
.return-theme p { margin: 0; color: #ded8ce; font-size: 1rem; line-height: 1.95; }

#connection .original-file-link,
#connection .original-file-link:visited {
  display: grid; gap: .55rem; margin-top: 1.8rem; padding: 1.3rem;
  border: 1px solid #b8b1a4; border-left: 5px solid #951e26;
  background: #f4f0e8; color: #22201d; text-decoration: none;
}
#connection .original-file-link > span { color: #951e26; font: 800 .72rem/1.4 var(--mono); letter-spacing: .12em; }
#connection .original-file-link strong { color: #22201d; font: 800 clamp(1.1rem,2vw,1.65rem)/1.35 var(--body-sans); overflow-wrap: anywhere; }
#connection .original-file-link small, #connection .original-file-link small span { color: #22201d; font-size: .85rem; line-height: 1.7; }
#connection .original-file-link:hover { background: #fffdf7; }
#connection .original-file-link:focus-visible { outline: 3px solid #ee777e; outline-offset: 5px; }

#summary { position: relative; background: #f4f0e8; color: #22201d; }
#summary .summary-box { margin: 0 auto; padding: 0; width: min(calc(100% - 48px),860px); }
#summary .summary-prose p { margin: 0; color: #22201d; font: 400 1rem/1.95 var(--body-sans); }
#summary .summary-prose p + p { margin-top: 1.25rem; }
#summary h2 { color: #22201d; }

.resource-section { position: relative; padding-block: 2.5rem; color: #22201d; background: #f4f0e8; font-family: var(--body-sans); }
.references { border-top: 1px solid #b2a799; border-bottom: 1px solid #b2a799; }
.references > summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-block: 1.25rem; min-height: 64px; list-style: none; cursor: pointer; }
.references > summary::-webkit-details-marker { display: none; }
.references > summary::marker { content: ''; }
.references h2 { margin: 0; color: #22201d; font: 700 1.2rem/1.5 var(--body-sans); letter-spacing: 0; }
.reference-toggle { position: relative; flex: 0 0 20px; height: 20px; color: #951e26; }
.reference-toggle::before, .reference-toggle::after { content: ''; position: absolute; top: 9px; left: 2px; width: 16px; height: 2px; background: currentColor; }
.reference-toggle::after { transform: rotate(90deg); }
.references[open] .reference-toggle::after { display: none; }
.references > summary:focus-visible { outline: 3px solid #951e26; outline-offset: 4px; }
.reference-body { padding-bottom: 1.2rem; max-width: 90ch; }
.reference-body ol { margin: 0; padding-left: 1.4rem; }
.reference-body li { padding: .4rem 0; font-size: .95rem; line-height: 1.85; overflow-wrap: anywhere; }
.reference-body a, .reference-body a:visited { color: #22201d; text-underline-offset: .2em; }
.reference-body a:focus-visible { outline: 3px solid #951e26; outline-offset: 3px; }
.reference-body p { margin: 1rem 0 0; font-size: .9rem; line-height: 1.9; }

@media(max-width:900px) {
  .return-opening { grid-template-columns: minmax(0,1fr) 130px; gap: 1.5rem; }
  .return-two { font-size: 180px; }
  .return-themes { column-gap: 2rem; }
  .return-theme { gap: .65rem; }
}
@media(max-width:600px) {
  .overview-editorial, .return-editorial { padding-block: 2.8rem; }
  .overview-opening h2 { font-size: 1.85rem; line-height: 1.45; letter-spacing: -.025em; margin-bottom: 1.2rem; }
  .overview-record { margin-top: 1.5rem; }
  .record-primary { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .record-primary > div { padding: .9rem .65rem .9rem 0; }
  .record-primary dd { font-size: .95rem; }
  .record-details dl { grid-template-columns: minmax(0,1fr); }
  .overview-contents ol { grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: .75rem; }
  .overview-contents li a { font-size: .9rem; gap: .5rem; }
  .return-opening { display: block; position: relative; margin-bottom: 1.8rem; }
  .return-copy .editorial-kicker { padding-right: 60px; margin-bottom: 2.3rem; }
  .return-copy h2 { font-size: 1.85rem; }
  .return-two { position: absolute; top: -.7rem; right: 0; font-size: 80px; }
  .return-themes { grid-template-columns: minmax(0,1fr); }
  .return-theme { padding-block: 1.25rem; }
  #connection .original-file-link { padding: 1rem; }
  .resource-section { padding-block: 1.8rem; }
}

/* V16: information styles are opt-in. No rule targets the four visual stages. */
.readable-C[data-readability="C"] {
  padding: clamp(3rem, 5.8vw, 5rem) 0;
  color: #22201d;
  background: #f4f0e8;
}
.readable-C[data-readability="C"]::before,
.readable-C[data-readability="C"]::after { display: none; }
.readable-C[data-readability="C"] h2 {
  margin: .5rem 0 1.2rem;
  max-width: 28em;
  font: 750 clamp(1.65rem, 3vw, 2.8rem)/1.4 "Helvetica Neue", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
  letter-spacing: -.015em;
  text-transform: none;
  transform: none;
  color: #22201d;
}
.readable-C[data-readability="C"] h3 { font-size: 1.12rem; line-height: 1.5; letter-spacing: 0; }
.readable-C[data-readability="C"] p,
.readable-C[data-readability="C"] dd { font-size: 1rem; line-height: 1.95; }
.readable-C[data-readability="C"] .section-heading { margin-bottom: 1.8rem; transform: none; }
.readable-C[data-readability="C"] .section-code,
.readable-B[data-readability="B"] .section-code {
  min-height: auto; padding: 0 0 0 .8rem; border: 0; border-left: 3px solid #b62027;
  background: none; transform: none; font-size: .75rem; line-height: 1.5; letter-spacing: .06em; color: inherit;
}
.readable-C[data-readability="C"] .section-code::before,
.readable-B[data-readability="B"] .section-code::before { display: none; }
.readable-C[data-readability="C"] .reveal { opacity: 1; transform: none; transition: none; }
.readable-C[data-readability="C"] a { text-underline-offset: .23em; }












.reading-subnav { margin: 1.3rem 0 2rem; display: flex; flex-wrap: wrap; gap: .4rem 1.3rem; }
.reading-subnav a { display: inline-flex; align-items: center; min-height: 44px; font-weight: 700; font-size: .9rem; }









.readable-B[data-readability="B"] { padding-block: clamp(3.5rem, 6.5vw, 6rem); }
.readable-B[data-readability="B"] h2 { font-size: clamp(1.9rem,3.9vw,3.65rem); line-height: 1.35; letter-spacing: -.025em; }
.readable-B[data-readability="B"] h3 { line-height: 1.4; }
.readable-B[data-readability="B"] p { line-height: 1.9; }
.readable-B[data-readability="B"] .section-lead { font-size: 1.05rem; line-height: 1.85; }




.hair-return-archive.readable-B { padding-top: 1.5rem; padding-bottom: 4rem; }
.hair-return-archive.readable-B .hair-return-card { box-shadow: none; }
.hair-return-archive.readable-B .hair-return-copy { column-gap: 2rem; }
.hair-return-archive.readable-B .hair-return-copy p { font-size: 1rem; line-height: 1.95; }
.hair-return-archive.readable-B .hair-return-stamp { display: none; }
.hair-return-archive.readable-B .hair-return-header h3 { font-size: clamp(1.5rem,2.7vw,2.4rem); line-height: 1.45; }
#featured .section-heading { max-width: 950px; margin-bottom: 2rem; }
#featured .track-card { min-height: 0; transform: none; box-shadow: none; }
#featured .track-card h3 { font-size: clamp(1.6rem,2.5vw,2.4rem); line-height: 1.25; }
#featured .track-card p:not(.track-role):not(.signature-label) { font-size: 1rem; line-height: 1.85; }
#featured .track-role { font-size: .76rem; }
#featured .track-card::after { opacity: .2; }
#bad-guy .story-layout { grid-template-columns: minmax(0,.55fr) minmax(0,1.45fr); gap: 3rem; }
#bad-guy .story-number { font-size: clamp(2.6rem,5.2vw,5.5rem); line-height: 1.2; align-self: start; }
#bad-guy .story-copy > p, #headlights .story-copy > p { font-size: 1rem; max-width: 72ch; }
#headlights .memory-photo { box-shadow: 8px 10px 0 rgba(0,0,0,.12); }
#contributors .people-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.2rem 1.8rem; }
#contributors .person-card { grid-column: auto; min-height: 0; padding: 1.35rem; transform: none; box-shadow: none; border-top: 3px solid #b62027; }
#contributors .person-card h3 { margin: .2rem 0 .6rem; font-size: 1.5rem; line-height: 1.3; text-transform: none; }
#contributors .person-card p { font-size: 1rem; }
#contributors .person-role { font-size: .8rem; line-height: 1.65; margin-bottom: .7rem; }
#contributors .person-note { margin-top: 1.8rem; font-size: .95rem; }
#connection .connection-layout { grid-template-columns: minmax(0,1.2fr) minmax(0,.8fr); gap: 3rem; }
#connection .connection-photo { transform: rotate(1deg); align-self: start; margin-top: 2rem; box-shadow: 10px 12px 0 rgba(255,255,255,.04); }
#connection .connection-list > div { padding-block: 1rem; }
#connection .connection-list dd { font-size: 1rem; line-height: 1.9; }


#track-guide .track-guide-file { border: 1px solid #c5bbae; border-top: 3px solid #b62027; background: #fffdf7; }
#track-guide .track-note-body p { font-size: 1rem; line-height: 1.95; }
#track-guide .track-note > summary strong { font-size: 1rem; }
#track-guide .track-note > summary { padding-block: 1rem; }
#track-guide .track-note-actions a { font-size: .86rem; }
#track-guide .guide-source-note { font-size: .88rem; line-height: 1.85; border-top: 1px solid #c5bbae; }
#track-guide .guide-intro { max-width: 72ch; }
#reception .result-grid { grid-template-columns: repeat(4,minmax(0,1fr)); box-shadow: none; gap: 1.2rem; }
#reception .result-card { min-height: 0; transform: none; padding: 1.2rem; border: 1px solid #c5bbae; background: #ebe6dc; color: #22201d; box-shadow: none; }
#reception .result-card > strong { font-size: clamp(2.5rem,4vw,4rem); line-height: 1.2; }
#reception .result-card > span { font-size: .75rem; line-height: 1.65; color: #4d453d; }
#reception .result-card p { font-size: .94rem; }
#reception .reception-copy { gap: 2rem; margin-top: 2rem; }
#reception .reception-copy article { transform: none; }
#faq .faq-list { width: 100%; max-width: 950px; margin: 1.5rem 0 0; border-top: 1px solid #b7aa9c; }
#faq .faq-list details { border-color: #c9c0b3; }
#faq .faq-list summary { font-size: 1rem; line-height: 1.75; min-height: 56px; padding-block: 1.1rem; color: #22201d; }
#faq .faq-list details > p { max-width: 72ch; padding-bottom: 1rem; color: #37312b; }












/* Japanese edition / sales: two independent sections, no horizontal table scrolling. */
.edition-header { display: flex; align-items: center; gap: 1.2rem; margin: 1.5rem 0 2rem; }
.edition-date { margin: 0; font: 800 clamp(1.8rem,4vw,3rem)/1.2 var(--mono); font-variant-numeric: tabular-nums; color: #8d1a21; }
#japan .edition-date { font-size: clamp(1.8rem,4vw,3rem); line-height: 1.3; }
.edition-header p:last-child { margin: 0; }
.data-table { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: 1rem; line-height: 1.85; color: #22201d; }
.data-table caption { text-align: left; font-weight: 800; font-size: 1.1rem; padding-bottom: 1rem; }
.data-table th, .data-table td { padding: .95rem 1.1rem; border-bottom: 1px solid #c9c0b3; vertical-align: top; text-align: left; overflow-wrap: anywhere; }
.data-table thead th { background: #24221e; color: #fff; font-weight: 700; }
.edition-table th:first-child { width: 22%; }
.data-table tbody th { background: #e9e2d7; font-size: .9rem; font-weight: 700; }
.data-table tbody td { background: #fffdf7; }
.data-table small { display: block; font-size: .86rem; line-height: 1.8; margin-top: .2rem; color: #584e44; }
.data-table a { color: #8d1a21; }
.data-table strong { font-variant-numeric: tabular-nums; }
.edition-notes { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 2rem; margin-top: 2rem; }
.edition-notes article { border-top: 2px solid #b62027; padding-top: 1rem; }
.edition-notes h3 { margin: 0 0 .75rem; }
.edition-notes p { margin: 0; }
.source-note { max-width: 90ch; margin: 1.5rem 0 0; font-size: .9rem !important; line-height: 1.9; color: #584e44; }
.source-note a { color: inherit; }
.sales-section.readable-C { background: #eae4d9; border-top: 1px solid #c9c0b3; }
.sales-highlight { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.5rem; margin: 1.5rem 0 2rem; max-width: 720px; }
.sales-highlight > div { padding: 1.1rem 1.4rem; border-left: 3px solid #b62027; background: #fffdf7; }
.sales-highlight dt { font-size: .95rem; font-weight: 700; }
.sales-highlight dd { margin: .3rem 0 0; }
.sales-highlight dd strong { font-size: 2.6rem; line-height: 1.3; font-variant-numeric: tabular-nums; }
.sales-highlight dd span { margin-left: .25rem; font-size: 1rem; }
.sales-table th:first-child { width: 52%; }
.sales-table th:not(:first-child), .sales-table td { text-align: center; }
.sales-table td strong { font-size: 1.35rem; }
/* V18: row colors belong only to the domestic chart comparison. */
#japan-sales .sales-table tbody tr:nth-child(1) > :is(th,td) { background: #fffdf7; }
#japan-sales .sales-table tbody tr:nth-child(2) > :is(th,td) { background: #f3eee6; }
#japan-sales .sales-table .current-album > :is(th,td) { background: #f8e8e5; }
#japan-sales .sales-table .current-album > th { box-shadow: inset 3px 0 #a9252e; }






/* NAME DROPS: small archival photographs + an editorial list, not a wall of cards. */
.namedrops-section { background: #eae4d9; color: #22201d; }
.namedrops-section h2 { margin: .6rem 0 1rem; }
.namedrops-intro { max-width: 78ch; font-size: 1rem; }
.namedrop-profiles { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 2.2rem 2.5rem; margin: 2rem 0 2.5rem; }
.namedrop-profile { display: grid; grid-template-columns: 132px minmax(0,1fr); gap: 1.2rem; padding-top: 1.2rem; border-top: 2px solid #b62027; }
.namedrop-profile figure { margin: 0; }
.namedrop-profile img { width: 132px; height: 165px; object-fit: contain; background: #191919; }
.namedrop-profile figcaption { padding-top: .5rem; font-size: .72rem; line-height: 1.7; color: #4e4338; overflow-wrap: anywhere; }
.namedrop-profile figcaption a { color: inherit; }
.namedrop-profile h3 { margin: 0 0 .25rem; font-size: 1.4rem; line-height: 1.35; }
.namedrop-role { margin: 0 0 .5rem; font-size: .85rem; color: #584e44; }
.namedrop-profile .namedrop-role, .namedrop-profile .namedrop-reference { font-size: .84rem; line-height: 1.8; }
.namedrop-profile .namedrop-reference { margin: .4rem 0 0; }
.namedrop-profile .namedrop-context { margin: .3rem 0; font-size: .88rem; line-height: 1.7; }
.namedrop-profile .namedrop-copy { margin: .6rem 0; font-size: 1rem; line-height: 1.9; }
.namedrop-song { display: inline-flex; min-height: 44px; align-items: center; font-size: .86rem; font-weight: 800; color: #8d1a21; }
.namedrops-section h3.list-title { font-size: 1.15rem; margin: 0 0 1rem; }
.namedrop-list { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 2.5rem; }
.namedrop-list li { padding: 1rem 0; border-top: 1px solid #c0b4a5; display: grid; grid-template-columns: minmax(0,.75fr) minmax(0,1.25fr); gap: 1rem; }
.namedrop-list h4 { margin: 0; font-size: 1rem; line-height: 1.55; }
.namedrop-list .namedrop-role { margin-top: .25rem; line-height: 1.75; }
.namedrop-list p:last-child { margin: 0; font-size: .95rem; line-height: 1.85; }
.namedrop-list .namedrop-song { min-height: 44px; }
.namedrop-context { color: #8d1a21; font-weight: 700; }
.namedrop-sources { margin-top: 2rem; border-top: 1px solid #c0b4a5; padding-top: 1rem; }
.namedrop-sources summary { font-size: .95rem; font-weight: 700; cursor: pointer; min-height: 44px; }
.namedrop-sources li, .namedrop-sources p { font-size: .9rem; line-height: 1.85; }
.namedrop-sources ul { padding-left: 1.2rem; }

@media(max-width:1100px) {
  #contributors .people-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  #reception .result-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .namedrop-profile { grid-template-columns: 104px minmax(0,1fr); gap: 1rem; }
  .namedrop-profile img { width: 104px; height: 140px; }
}
@media(max-width:900px) {
   #bad-guy .story-layout, #connection .connection-layout{ grid-template-columns: minmax(0,1fr); gap: 2rem; }
  #bad-guy .story-number { line-height: 1; font-size: 2.8rem; }
  #bad-guy .story-number br { display: none; }
  #connection .connection-photo { margin-top: 0; }
  .namedrop-profiles, .namedrop-list { grid-template-columns: minmax(0,1fr); }
  .namedrop-profile { grid-template-columns: 132px minmax(0,1fr); }
  .namedrop-profile img { width: 132px; height: 165px; }
}
@media(max-width:600px) {
  .readable-C[data-readability="C"], .readable-B[data-readability="B"] { padding-block: 2.8rem; }
  .readable-C[data-readability="C"] h2 { font-size: 1.65rem; line-height: 1.45; }
  .readable-B[data-readability="B"] h2 { font-size: 1.85rem; line-height: 1.4; }
  
  
   #contributors .people-grid, .edition-notes{ grid-template-columns: minmax(0,1fr); gap: 1.25rem; }
  #contributors .person-card { padding: 1.1rem; }
  #reception .result-grid { gap: .8rem; }
  #reception .result-card { padding: .9rem; }
  #reception .result-card p { font-size: .9rem; }
  #track-guide .track-guide-file > summary, #track-guide .guide-disc-title { font-size: 1rem; }
  #track-guide .track-guide-grid { padding-inline: 1rem; }
  .edition-header { display: block; }
  .edition-date { margin-bottom: .6rem; }
  .data-table { font-size: .95rem; }
  .data-table th, .data-table td { padding: .7rem .5rem; }
  .edition-table th:first-child { width: 23%; }
  .edition-table, .edition-table thead, .edition-table tbody { display: block; }
  .edition-table caption { display: block; width: 100%; }
  .edition-table tr { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .edition-table thead th:first-child { display: none; }
  .edition-table tbody th:first-child { grid-column: 1/-1; width: auto; }
  .edition-table thead th, .edition-table tbody td { width: auto; }
  .edition-table tbody th { font-size: .83rem; }
  .data-table small { font-size: .8rem; }
  .sales-highlight { gap: .8rem; }
  .sales-highlight > div { padding: .9rem; }
  .sales-highlight dd strong { font-size: 2.1rem; }
  .sales-highlight dt { font-size: .85rem; }
  .sales-table th:first-child { width: 54%; }
  .sales-table td strong { font-size: 1.2rem; }
  .namedrop-profile { grid-template-columns: 100px minmax(0,1fr); gap: 1rem; }
  .namedrop-profile img { width: 100px; height: 132px; }
  .namedrop-profile { row-gap: .4rem; }
  .namedrop-profile > div, .namedrop-profile > figure { display: contents; }
  .namedrop-profile img { grid-column: 1; grid-row: 1/4; }
  .namedrop-profile h3 { grid-column: 2; grid-row: 1; align-self: end; }
  .namedrop-profile .namedrop-role { grid-column: 2; grid-row: 2; }
  .namedrop-profile .namedrop-context { grid-column: 2; grid-row: 3; }
  .namedrop-profile figcaption { grid-column: 1/-1; grid-row: 4; font-size: .8rem; }
  .namedrop-profile figcaption br { display: none; }
  .namedrop-profile .namedrop-copy { grid-column: 1/-1; grid-row: 5; }
  .namedrop-profile .namedrop-song { grid-column: 1/-1; grid-row: 6; }
  .namedrop-profile .namedrop-reference { grid-column: 1/-1; grid-row: 7; }
  .namedrop-profile .namedrop-copy { font-size: .98rem; }
  .namedrop-list li { grid-template-columns: minmax(0,.78fr) minmax(0,1.22fr); gap: .8rem; }
  .namedrop-list p:last-child { font-size: .92rem; }
  .namedrop-list .namedrop-role { font-size: .8rem; }
  .namedrop-list h4 { font-size: .94rem; }
  .hair-return-archive.readable-B { padding-bottom: 2.8rem; }
}

/* V20 targeted fix: allow LISTEN / BUY heading to use full section width,
   and keep Japanese word groups together at narrow viewports. */
#listen .section-heading { max-width: 100%; }
#listen-title .listen-title-unit { display: inline-block; white-space: nowrap; }
@media (max-width: 760px) {
  #listen-title { font-size: clamp(2.1rem, 7vw, 3.5rem); line-height: 1.12; }
}
