/* Shared height adjustments for the six main pages. Keep natural overflow for
   small windows, expanded menus and enlarged text instead of hiding content. */
@media (min-width:768px) {
    .navbar { padding:6px 0; }
    .navbar-brand img { height:40px; width:140px; }
    .site-footer { padding-top:7px; padding-bottom:7px; font-size:10px; }
    .recordings-heading,.editions-heading,.playlist-heading,.videos-heading { padding:12px 0; }
    .recordings-heading h1,.editions-heading h1,.playlist-heading h1,.videos-heading h1 { font-size:34px; line-height:1.12; }
    .recordings-heading .eyebrow,.editions-heading .eyebrow,.playlist-heading .eyebrow,.videos-heading .eyebrow { margin-bottom:5px; font-size:9px; }
    .heading-note { font-size:11px; line-height:1.5; }
    .hero { padding:12px 0; }
    .hero h1 { font-size:clamp(40px,4.3vw,60px); margin-bottom:14px; }
    .hero .intro { margin-bottom:0; font-size:15px; }
    .featured-record { padding:12px; }
    .featured-record .carousel-item img { height:clamp(110px,calc(100svh - 390px),360px); }
    .featured-record .record-caption { margin-top:8px; min-height:38px; }
    .catalog-section { padding:10px 0 4px; }
    .catalog-heading { margin-bottom:6px; }
    .catalog-heading h2 { font-size:16px; }
    .carousel-thumbs { padding-top:5px; padding-bottom:8px; }
    .catalog-section .thumb-button { flex-basis:50px; }
    .catalog-section .thumb-button img { width:50px; height:50px; }
    .sessions-panel { padding:12px 18px; }
    .sessions-panel .section-label { margin-bottom:8px; }
    .sessions-panel .project-art img { height:clamp(130px,calc(100svh - 440px),330px); }
    .project-copy { padding:5px 0; }
    .project-copy h2 { font-size:30px; margin-bottom:10px; }
    .project-copy .eyebrow { margin-bottom:8px; }
    .project-description { font-size:14px; line-height:1.5; margin-bottom:14px; }
    .project-listen { padding:10px 14px; }
    .access-note { margin-top:8px; }
    .project-selector { padding:10px 0 4px; }
    .project-selector h2 { margin-bottom:5px; }
    .project-selector .thumb-button img { width:40px; height:40px; }
    .editions-grid { gap:12px; }
    .edition-card { padding:8px; }
    .edition-image img { height:clamp(75px,calc((100svh - 355px)/2),215px); }
    .edition-caption { padding-top:7px; min-height:30px; font-size:11px; }
    .edition-pagination { padding:9px 0; }
    .playlist-layout { gap:18px; margin-bottom:10px; }
    .now-playing,.queue-panel { padding:12px 16px; }
    .now-playing>.eyebrow { margin-bottom:8px; }
    .now-playing>img { height:clamp(95px,calc(100svh - 470px),260px); }
    .track-info { min-height:58px; padding:9px 0 4px; }
    .track-info h2 { font-size:17px; }
    .audio-controls { margin:5px 0; gap:22px; }
    .play-button { width:38px; height:38px; font-size:17px; }
    .transport-button { height:32px; width:32px; }
    .volume-control input { height:16px; }
    .player-status { margin-top:5px; }
    .queue-heading { padding-bottom:9px; }
    .queue-heading h2 { font-size:15px; }
    .song-button { min-height:41px; padding:6px 0; grid-template-columns:22px 28px minmax(0,1fr) 16px; gap:10px; }
    .song-button img { display:block; width:28px; height:28px; }
    .song-title { font-size:12px; }
    .song-artist { margin-top:1px; }
    .queue-pagination { padding-top:8px; }
    .album-tools { margin-bottom:9px; gap:8px; }
    .album-tool { padding:6px 10px; }
    .video-panel { padding:10px 16px; }
    .video-panel .section-label { margin-bottom:8px; }
    .video-screen iframe { width:min(100%,calc((100svh - 390px)*16/9)); min-width:180px; }
    .video-selector { padding:10px 0 4px; }
    .video-selector h2 { margin-bottom:5px; }
    .video-thumb { flex-basis:90px; }
    .video-thumb img { width:90px; height:51px; }
    .video-thumb span { margin-top:4px; }
}
@media (min-width:768px) and (max-height:600px) {
    .recordings-heading h1,.editions-heading h1,.playlist-heading h1,.videos-heading h1 { font-size:30px; }
    .hero h1 { font-size:40px; }
    .project-copy h2 { font-size:27px; }
    .project-description { font-size:13px; }
    .project-layout { gap:28px; }
}
@media (max-width:767px) {
    .recordings-heading,.editions-heading,.playlist-heading,.videos-heading { padding-top:12px; padding-bottom:12px; }
    .site-footer { padding-top:8px; padding-bottom:8px; }
}
@media (max-width:540px) {
    .hero { gap:12px; padding:12px 0; }
    .hero h1 { font-size:32px; }
    .featured-record .carousel-item img { height:clamp(100px,calc(100svh - 535px),260px); }
    .catalog-heading h2 { font-size:15px; }
    .sessions-panel .project-art img { height:clamp(100px,calc(100svh - 600px),210px); }
    .project-layout { gap:10px; }
    .project-description { margin-bottom:10px; }
}
