/* Editorial rhythm, keeping the site's established palette and content. */
.hero-deck{max-width:53ch;line-height:1.7}
.hero h1{line-height:1.04}
.hero-copy .primary-cta{font-weight:700}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--red);outline-offset:5px}
#side-a,#side-b,#backstage{scroll-margin-top:120px}
.story-grid{gap:40px 24px;align-items:start}
.story-card .card-visual{filter:grayscale(1);transition:filter .25s ease,transform .3s ease}
.story-card .card-content{padding:22px 0 0}
.story-card h3{line-height:1.15}
.story-card p{font-size:1rem;line-height:1.65}
.story-card .read-link{display:inline-flex;align-items:center;min-height:44px;font-size:.875rem;text-decoration:underline;text-underline-offset:5px}
.story-card.featured{grid-template-columns:1.45fr 1fr;align-items:stretch}
.story-card.featured .card-visual{min-height:390px}
.story-card.featured .card-content{padding:clamp(24px,4vw,52px);align-self:center}
.story-card.featured h3{font-size:clamp(30px,3.8vw,52px)}
.story-card:not(.featured):nth-child(3n + 2) .card-visual{min-height:300px}
.story-card:not(.featured):nth-child(3n) .card-visual{min-height:230px}
.story-card:not(.featured):nth-child(3n + 1) .card-visual{min-height:260px}
.story-card .card-visual[data-open-story]{cursor:pointer}
.story-card:focus-within h3{color:var(--acid)}
.island-sound-stories{margin-block:clamp(48px,6vw,84px)}
.island-sound-stories summary{min-height:52px}
.music-map-card{transition:transform .25s ease,border-color .25s ease}
.music-map-card h4{line-height:1.15}
.music-map-card a,.archive-artist-card>a{min-height:44px;display:inline-flex;align-items:center;text-underline-offset:5px}
.artist-photo{overflow:hidden}
.artist-photo img{filter:grayscale(1) contrast(1.06);transition:transform .35s ease}
.archive-artist-card h4{line-height:1.08}
.archive-artist-card>p{font-size:1rem;line-height:1.6}
.archive-artist-card>a{font-size:.875rem}
.personal-chapters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:26px;padding-top:22px;border-top:1px solid #625e58}
.personal-chapters .manifesto-gallery-link{display:flex;flex-direction:column;align-items:stretch;min-width:0;padding:0;border:1px solid var(--champagne);font-size:1rem;text-decoration:none;transition:background .2s,color .2s}
.personal-chapters .manifesto-gallery-link img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;background:var(--ink);filter:grayscale(1) contrast(1.06) brightness(1.03)}
.personal-chapters .manifesto-gallery-link span{display:block;padding:12px 10px;font-weight:600;line-height:1.4}
.personal-chapters .manifesto-gallery-link:focus-visible{outline:2px solid var(--acid);outline-offset:4px}
.personal-chapters a:hover{background:var(--paper);color:var(--ink)}
@media(min-width:1001px){.music-map-grid{grid-template-columns:1.3fr 1fr 1fr}.music-map-card:first-child{grid-column:span 2}.music-map-card:first-child h4{font-size:clamp(32px,3.5vw,48px)}}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.story-card:hover{transform:translateY(-4px)}.story-card:hover .card-visual{transform:scale(1.015)}.story-card:hover h3{color:var(--acid)}.artist-photo:hover img{transform:scale(1.025)}.music-map-card:hover{transform:translateY(-3px);border-color:var(--champagne)}}
@media(max-width:700px){.story-grid{gap:32px 18px}.story-card.featured{display:block}.story-card.featured .card-visual{min-height:270px}.story-card.featured .card-content{padding:24px}.story-card:not(.featured) .card-visual{min-height:250px}.hero-deck{font-size:1rem}.personal-chapters{gap:10px}.manifesto h2{font-size:clamp(42px,12vw,72px);line-height:1.08}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Compact home atlas and a complete archive on its own page. */
.instrument-atlas{display:block;margin:36px 0;padding:24px 0;border-block:1px solid #817970}
.instrument-atlas-intro h3{font:700 clamp(30px,4vw,46px)/1.05 var(--display);margin:10px 0}
.instrument-atlas-intro p{font-size:16px;line-height:1.6;max-width:75ch}
.atlas-controls{display:flex;justify-content:flex-end;gap:10px;margin:12px 0}
.atlas-controls button{min-height:44px;padding:8px 16px;border:1px solid currentColor;background:transparent;color:inherit;font-size:14px;cursor:pointer}
.atlas-carousel{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x proximity;padding:4px 4px 18px;align-items:flex-start}
.atlas-carousel .instrument-region,.atlas-carousel .instrument-grid{display:contents}
.atlas-carousel .instrument-region>header{display:none}
.atlas-carousel .instrument-card{flex:0 0 280px;scroll-snap-align:start;border:1px solid #817970;background:var(--paper);color:var(--ink)}
.atlas-carousel .instrument-card summary{display:flex;gap:18px;align-items:center;min-height:150px;padding:20px;cursor:pointer;box-sizing:border-box}
.atlas-carousel .instrument-icon{font-size:36px}
.atlas-carousel summary small,.atlas-carousel summary strong,.atlas-carousel summary em{display:block}
.atlas-carousel summary small,.atlas-carousel summary em{font-size:14px;line-height:1.5}
.atlas-carousel summary strong{font:700 24px/1.2 var(--display);margin:8px 0}
.atlas-carousel .instrument-body{padding:0 20px 20px;font-size:16px;line-height:1.6}
.atlas-carousel .instrument-body dt{font-weight:700}.atlas-carousel .instrument-body dd{margin:0}
.archive-complete-cta{display:block;grid-column:1/-1;margin:24px 0 36px;padding:24px;background:var(--ink);color:var(--paper);font:700 clamp(20px,3vw,30px)/1.3 var(--display);text-decoration:none;border-left:6px solid var(--red)}
.full-archive{max-width:1180px;margin:36px auto;padding:0 24px;font-size:16px;line-height:1.6}
.full-archive h1{font:700 clamp(32px,5vw,60px)/1.1 var(--display)}
.archive-page-nav{display:flex;flex-wrap:wrap;gap:12px 24px;margin:24px 0}
.archive-page-nav a{padding-block:10px}.archive-catalog{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.full-archive .listening-gallery{margin-block:40px}
.archive-catalog .archive-artist-card{min-width:0;padding:20px;border:1px solid #817970}
@media(max-width:700px){.archive-catalog{grid-template-columns:1fr}.atlas-carousel .instrument-card{flex-basis:260px}.full-archive{padding-inline:16px}.archive-complete-cta{padding:20px}}

/* Show the contents of the archive before asking readers to enter it. */
.listening-trip{row-gap:32px}
.archive-showcase{grid-column:1/-1;min-width:0;border-top:1px solid var(--champagne);padding-top:28px}
.archive-showcase>header{display:grid;grid-template-columns:1fr 1fr;gap:12px 28px;align-items:end;margin-bottom:22px}
.archive-showcase>header .section-kicker{grid-column:1/-1;margin:0}
.archive-showcase h3{font:700 clamp(30px,4vw,52px)/1.05 var(--display);margin:0}
.archive-showcase h3 em{font-style:normal;color:var(--champagne)}
.archive-showcase>header>p:last-child{font-size:16px;line-height:1.65;margin:0;max-width:65ch}
.archive-preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.archive-preview-grid .archive-artist-card{min-height:0;padding:24px;gap:16px;transition:none}
.archive-preview-grid .archive-artist-card>div{margin:0}
.archive-preview-grid .archive-artist-card h4{font-size:clamp(30px,3vw,44px);line-height:1.05;letter-spacing:-.02em}
.archive-preview-grid .archive-artist-card>p{font-size:16px;line-height:1.6;margin:0}
.archive-preview-grid .archive-number,.archive-preview-grid .archive-artist-card>div>p{font-size:14px}
.archive-preview-grid .archive-artist-card>a{font-size:14px;min-height:44px;display:flex;align-items:center;margin-top:auto}
.archive-preview-grid .archive-artist-card:nth-child(3){background:var(--paper);color:var(--ink)}
.archive-showcase .archive-complete-cta{margin:20px 0 0;padding:16px 20px;font-size:clamp(20px,2.4vw,28px);border:1px solid var(--champagne);border-left:5px solid var(--red)}
.listening-trip .destination-archive-entry{padding:24px;background:#25221f;border:1px solid #655d4c;min-width:0}
.destination-archive-preview{max-width:75ch;font-size:16px;line-height:1.65;margin:12px 0 16px}
.listening-trip .destination-archive-entry>a{font-size:clamp(22px,2.5vw,32px)}
@media(max-width:760px){.archive-showcase>header,.archive-preview-grid{grid-template-columns:1fr}.archive-showcase>header .section-kicker{grid-column:auto}.listening-trip{row-gap:26px}.archive-preview-grid .archive-artist-card{padding:22px}}
