.music-hero{display:grid;grid-template-columns:1fr 1.1fr;gap:0;padding:0;min-height:0;align-items:stretch}
.music-hero-copy{padding:2rem 2.5rem 2.4rem;display:flex;flex-direction:column;justify-content:space-between;min-width:0}
.music-hero h1{font-size:clamp(3rem,6.8vw,6.8rem);padding-top:2rem}
.music-hero .chapter-subtitle{font-size:1.0625rem;max-width:24rem;margin-top:1.5rem}
.music-feature{position:relative;margin:0;min-width:0;min-height:390px;background:#231d18;display:flex;flex-direction:column}
.music-feature img{display:block;width:100%;height:100%;min-height:0;object-fit:cover;flex:1;aspect-ratio:4/3}
.music-feature figcaption{background:var(--brown);color:var(--cream);padding:.6rem 1.2rem;font-size:.875rem}
.music-content{padding-top:2.5rem}
.album-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 1.5rem;margin:1.4rem 0 3rem;border-top:1px solid var(--rule)}
.album-nav a{display:flex;flex-direction:column;gap:.1rem;padding:.8rem 0;border-bottom:1px solid var(--rule);font-size:1rem}
.album-nav a span{font-size:.875rem;color:var(--brown)}
.album-nav a:hover{color:var(--orange)}
.music-content>.album-nav{grid-template-columns:repeat(12,minmax(0,1fr))}
.music-content>.album-nav>a{grid-column:span 3}
.music-content>.album-nav>a:nth-child(-n+3){grid-column:span 4}
@media(max-width:760px){.music-content>.album-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.music-content>.album-nav>a,.music-content>.album-nav>a:nth-child(-n+3){grid-column:auto}}
.photo-album{scroll-margin-top:2rem;margin-top:3.7rem}
.album-heading{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;margin-bottom:1.1rem}
.album-title{display:flex;align-items:flex-start;gap:1.05rem;min-width:0}
.album-number{font-size:.875rem;color:var(--orange);padding-top:.3rem}
.album-title h3{font-size:clamp(1.5rem,2.5vw,2.2rem);letter-spacing:-.035em;line-height:1.25}
.album-title p{font-size:1rem;color:var(--brown);margin-top:.25rem}
.photo-total{font-size:.875rem;white-space:nowrap;color:var(--brown)}
.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem}
.photo-link{display:block;position:relative;min-width:0;overflow:hidden;border-radius:3px;background:#292820;aspect-ratio:3/2}
.photo-link img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .3s ease}
.photo-link:hover img{transform:scale(1.035)}
.photo-expand{position:absolute;right:.6rem;bottom:.6rem;display:grid;place-items:center;width:2rem;height:2rem;border-radius:50%;background:var(--cream);color:var(--forest);opacity:0;transition:opacity .15s}
.photo-link:hover .photo-expand,.photo-link:focus-visible .photo-expand{opacity:1}
.album-more{margin-top:1rem}
.album-more summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;cursor:pointer;padding:.7rem 0;border-bottom:1px solid var(--rule);font-size:.9375rem;color:var(--forest);list-style:none}
.album-more summary::-webkit-details-marker{display:none}
.album-more summary:hover{color:var(--orange)}
.when-open{display:none}.album-more[open] .when-closed{display:none}.album-more[open] .when-open{display:inline}
.details-symbol::before{content:'+';font-size:1.5rem;line-height:1}.album-more[open] .details-symbol::before{content:'−'}
.expanded-grid{margin-top:1rem}
.music button:focus-visible,.music summary:focus-visible{outline:3px solid var(--orange);outline-offset:5px}
.viewer-is-open{overflow:hidden}
.photo-viewer{width:min(1400px,96vw);max-width:96vw;max-height:96vh;max-height:96dvh;margin:auto;padding:1.2rem 1.5rem;border:1px solid #6d7165;border-radius:5px;background:#1a241d;color:var(--cream);overscroll-behavior:contain}
.photo-viewer::backdrop{background:rgba(15,21,16,.94)}
.viewer-top{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}
.viewer-top h2{font-size:clamp(1.1rem,2vw,1.6rem);line-height:1.3}
.viewer-top p{font-size:.875rem;color:#d1c8b7;margin-top:.25rem}
.viewer-top form{margin:0}
.photo-viewer button{border:1px solid #7b806e;border-radius:3px;color:var(--cream);background:transparent;padding:.55rem .85rem;cursor:pointer;min-height:44px;font-size:.9375rem}
.photo-viewer button:hover{background:var(--cream);color:var(--forest)}
.photo-viewer button:focus-visible{outline-color:var(--yellow)}
.viewer-close{white-space:nowrap;display:flex;align-items:center;gap:.8rem}
.viewer-close span{font-size:1.5rem;line-height:1}
.viewer-figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:.6rem}
.viewer-figure img{display:block;max-width:100%;width:auto;height:min(68vh,900px);height:min(68dvh,900px);object-fit:contain;touch-action:pan-y}
.viewer-figure figcaption{font-size:.875rem;color:#d1c8b7;text-align:center;line-height:1.4}
.viewer-controls{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1rem}
#viewer-count{font-size:.9375rem;font-variant-numeric:tabular-nums}
@media(max-width:1000px){.music-hero-copy{padding:1.5rem}.music-feature{min-height:340px}.music-hero h1{font-size:clamp(3rem,6.5vw,5.2rem)}}
@media(max-width:760px){.music-hero{grid-template-columns:1fr}.music-hero-copy{padding:1.5rem}.music-hero h1{font-size:clamp(3.2rem,10vw,5rem);padding-top:1.5rem}.music-feature{min-height:0}.music-feature img{height:auto;aspect-ratio:3/2}.music-feature figcaption{padding:.6rem 1.5rem}.music-hero .chapter-subtitle{margin-top:1rem}.album-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1rem}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.photo-album>.photo-grid>.photo-link:first-child{grid-column:span 2}.album-heading{align-items:flex-start}.photo-total{padding-top:.2rem}.photo-album{margin-top:2.7rem}.photo-expand{opacity:1;width:1.7rem;height:1.7rem;font-size:.875rem}}
@media(max-width:500px){.album-heading{flex-direction:column;gap:.3rem}.photo-total{padding-left:2.1rem}.album-title{gap:.8rem}.album-nav{gap:0 .75rem}.album-nav a{font-size:.9375rem}.album-nav a span{font-size:.875rem}.photo-viewer{padding:.9rem;width:96vw}.viewer-top{gap:.6rem}.viewer-figure img{height:58vh;height:58dvh}.viewer-close{gap:.35rem}.photo-viewer button{padding:.5rem .65rem}.viewer-controls{gap:.6rem}.expanded-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.photo-link img{transition:none}}
