/* Quality pass: compact browsing, predictable controls, and complete article journeys. */
[hidden]{display:none!important}
.events,.recommendations{overflow:clip}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.sub-header{padding-inline:max(18px,calc((100vw - 1240px)/2))}
.sub-header nav a{display:inline-flex;align-items:center;min-height:44px}
.site-header nav a{min-height:44px;align-content:center}
.page-title,.article-hero h1,.band-card h2,.event-pin h2{line-break:strict;overflow-wrap:break-word;word-break:normal;text-wrap:balance}
.page-main>.page-lead{margin-bottom:28px}
.filter-panel label input,.filter-panel label select{font-size:16px;min-height:46px}
.directory-more-filters{grid-column:1/-1;min-width:0}
.directory-more-filters summary{min-height:44px;align-content:center;font-size:13px;font-weight:900;cursor:pointer}
.directory-more-filters>label{display:grid;gap:6px;max-width:360px;margin-top:10px}
.directory-more-filters>label select{display:block;width:100%}
.directory-more-filters .filter-chips{margin-top:12px;gap:7px}
.directory-more-filters .filter-chip{min-width:40px;min-height:40px;padding:6px 12px}
.directory-tools{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:18px 0 0}
.directory-tools button,.load-more,.discovery-actions button,.carousel-toggle,.recommend-carousel-controls button{min-height:44px;padding:10px 16px;border:1px solid var(--navy);border-radius:999px;background:#fff;color:var(--navy);font-size:13px;font-weight:800}
.directory-tools .filter-reset{border-color:transparent;text-decoration:underline;text-underline-offset:4px}
.load-more{display:block;min-width:230px;margin:30px auto 0;border-width:2px}
.band-directory-page .band-directory-card{position:relative;min-height:0}
.band-directory-page .band-card-actions{display:flex;gap:7px;margin:10px 12px 0}
.band-directory-page .band-card-actions a{flex:1;min-height:44px;margin:0;padding:8px 5px;font-size:12px;align-content:center;text-align:center}
.band-directory-page .band-card-actions{margin-bottom:12px}
.directory-tools button:hover,.load-more:hover,.discovery-actions button:hover{background:var(--yellow);color:var(--navy)}
.band-directory-page .band-directory-card>p{margin-bottom:4px}
.band-directory-page .band-card-media{aspect-ratio:16/9;min-height:0}
.home-introduction{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px max(24px,4.7vw);background:var(--navy);color:#fff}
.home-introduction p{margin:0;line-height:1.75;font-size:14px;font-weight:700;text-wrap:pretty}
.home-introduction strong{display:block;margin-bottom:5px;color:var(--yellow);font-size:22px;line-height:1.5}
.home-introduction nav{display:flex;flex-shrink:0;gap:10px}
.home-introduction a{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:10px 20px;border:1px solid #fff;border-radius:999px;font-size:13px;font-weight:900;white-space:nowrap}
.home-introduction a:first-child{border-color:var(--yellow);background:var(--yellow);color:var(--navy)}
.video .discovery-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:14px}
.video .discovery-heading{max-width:100%;margin:10px 0 18px;line-height:1}
.video .discovery-heading .video-title{width:min(100%,440px);margin:0}
.video .discovery-actions button{font-size:12px;border-color:#fff;background:rgba(6,43,73,.72);color:#fff}
.video .discovery-actions button:first-child{border-color:var(--yellow);background:var(--yellow);color:var(--navy)}
.video .random-record img{transition:opacity .15s ease}
.video .random-pick-meta h3{overflow-wrap:anywhere;text-wrap:balance}
.recommend-carousel-controls{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:4px 0 14px}
.recommend-carousel-controls p{max-width:600px;margin:0;font-size:12px;line-height:1.8;text-wrap:pretty}
.recommend-carousel-controls>div{display:flex;gap:8px;flex-shrink:0}
.home-event-controls .carousel-icon-button,.recommend-carousel-controls .carousel-icon-button{display:inline-flex;flex:0 0 44px;width:44px;height:44px;min-width:44px;min-height:44px;align-items:center;justify-content:center;padding:0;border:1px solid rgba(6,43,73,.25);border-radius:50%;background:rgba(255,255,255,.84);color:var(--navy);box-shadow:none;transition:background .16s ease,border-color .16s ease,transform .16s ease}
.carousel-icon-button svg{display:block;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.carousel-icon-button .motion-play{display:none}
.carousel-icon-button[aria-pressed=true] .motion-pause{display:none}
.carousel-icon-button[aria-pressed=true] .motion-play{display:block}
.home-event-controls .carousel-icon-button:hover,.recommend-carousel-controls .carousel-icon-button:hover{border-color:var(--navy);background:#fff;transform:translateY(-1px)}
.carousel-icon-button:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}
.carousel-icon-button:disabled{opacity:.45;cursor:default;transform:none}
.recommend-card .recommend-origin{display:inline-block;margin-bottom:6px;padding:3px 7px;border-radius:4px;background:var(--navy);color:#fff;font-size:10px;font-weight:800}
.recommend-card-body .recommend-track-title{font-size:13px;line-height:1.7;min-height:0}
.recommendation-origin{display:inline-block;padding:4px 8px;border-radius:4px;background:var(--navy);color:#fff;font-size:11px;font-weight:800}
.listener-note .listener-note-meta{display:flex;flex-wrap:wrap;align-items:center;gap:7px}
.listener-note .listener-note-meta small{font-size:12px}
.listener-note .recommendation-track{margin:12px 0;font-size:14px;line-height:1.8}
.recommendation-policy{margin-top:18px;margin-bottom:24px}
.recommendation-policy>summary{min-height:48px;align-content:center;font-size:16px;font-weight:900;cursor:pointer}
.recommendation-policy>div{margin-top:16px}
.recommendation-editorial-note{margin:20px 0;padding:15px 18px;border-left:4px solid var(--coral);background:#fff;font-size:14px;line-height:1.9;text-wrap:pretty}
.recommendation-intro .page-title{max-width:22em}
.recommendation-intro .page-lead{max-width:48em}
.event-poster{position:relative;min-height:140px;background:var(--soft)}
.event-poster.is-unavailable,.home-event-poster.is-unavailable{display:flex;min-height:210px;align-items:center;justify-content:center;padding:32px 18px 65px;background:linear-gradient(145deg,#062b49,#154d6a);color:#fff}
.event-poster.is-unavailable img,.home-event-poster.is-unavailable img{display:none}
.poster-fallback{display:block;min-width:0;max-width:100%;text-align:left;pointer-events:none}
.poster-fallback small{display:block;margin-bottom:10px;color:var(--yellow);font-size:11px;font-weight:900;letter-spacing:.08em}
.poster-fallback b{display:block;font-size:clamp(15px,2vw,21px);line-height:1.6;text-wrap:balance;white-space:normal;overflow-wrap:anywhere}
.poster-fallback em{display:block;margin-top:12px;font-style:normal;font-size:12px;line-height:1.8;white-space:normal;overflow-wrap:anywhere}
.home-event-poster.is-unavailable{min-height:0;aspect-ratio:4/3;padding:12px 12px 38px}
.home-event-poster .poster-fallback small{margin-bottom:6px;font-size:9px}
.home-event-poster .poster-fallback b{display:-webkit-box;overflow:hidden;font-size:13px;line-height:1.6;-webkit-box-orient:vertical;-webkit-line-clamp:3}
.home-event-poster .poster-fallback em{display:none}
.event-pin-details{margin:12px 0 0;padding-top:10px;border-top:1px solid var(--line);font-size:12px;line-height:1.8}
.event-pin-details span{display:block}
.article-hero>.article-category{display:inline-flex}
.article-page>.article-hero,.article-page>.article-body{max-width:800px;margin-inline:auto}
.article-hero>.article-meta{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12px;line-height:1.7;margin:18px 0 0;color:var(--muted)}
.article-hero>.intro{display:block;margin:24px 0 0;font-size:16px;line-height:1.95}
.article-hero>.intro,.article-body p{word-break:auto-phrase;line-break:strict;text-wrap:pretty;font-weight:500}
.article-body .share-panel{margin-top:30px;padding:20px;border:1px solid var(--line);border-radius:12px}
.article-page>.share-panel,.article-page>.recommended,.article-page>.article-bottom-nav{width:min(calc(100% - 40px),760px);margin-right:auto;margin-left:auto}
.article-page>.share-panel{margin-top:20px;padding:22px;border:1px solid var(--line);border-radius:12px}
.article-page>.article-body{padding-bottom:24px}
.article-page>.article-bottom-nav{margin-bottom:48px}
.share-panel h2{margin:0 0 14px;font-size:20px}
.share-links{gap:9px}
.share-links a,.share-links button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;padding:10px 17px;font-size:13px;font-weight:800;line-height:1.5}
.share-panel .share-links button{color:#fff}
.share-panel .share-status{margin:12px 0 0;color:var(--muted);font-size:13px}
.recommended-grid .recommended-card{overflow:hidden;border-radius:10px}
.recommended-card .media-16x9{padding:0!important}
.recommended-card h3{margin:6px 0 0;font-size:16px;line-height:1.65;text-wrap:balance}
.article-bottom-nav{justify-content:flex-start;gap:10px}
.article-contents{margin:28px 0 0;padding:16px 18px;border:1px solid var(--line);border-radius:10px;background:var(--soft)}
.article-contents summary{min-height:30px;align-content:center;cursor:pointer;font-size:14px;font-weight:800}
.article-contents ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 24px;margin:12px 0 0;padding-left:24px;font-size:13px}
.article-contents a{display:block;min-height:36px;align-content:center;text-decoration:underline;text-underline-offset:3px}
.band-entry{scroll-margin-top:90px}
.site-footer-common .footer-brand-link{display:inline-flex;align-items:center;gap:10px;font-size:17px;font-weight:900}
.site-footer-common nav{gap:8px 20px}
.site-footer-common nav a{display:inline-flex;min-height:44px;align-items:center}
.site-footer-common p{font-size:13px}
.monetization-contact{margin-top:28px;padding:22px;border:1px solid var(--line);border-radius:12px;background:var(--soft)}
.monetization-contact h2{margin:0 0 10px;font-size:20px}
.monetization-contact p{font-size:14px;line-height:1.9}
.monetization-contact a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:4px}
@media(min-width:761px){.band-directory-page .filter-panel{grid-template-columns:1fr;gap:4px;padding:18px 22px}.directory-more-filters[open]{display:grid;grid-template-columns:minmax(160px,260px) 1fr;gap:10px 20px}.directory-more-filters summary{grid-column:1/-1}.directory-more-filters .filter-chips{align-self:end}}
@media(max-width:760px){
  .sub-header{padding-inline:12px}
  .page-main{padding-top:30px}
  .page-title{font-size:clamp(27px,7vw,34px);line-height:1.5}
  .page-main>.page-lead{margin-top:14px;margin-bottom:22px;font-size:14px;line-height:1.85}
  .filter-panel,.event-filter-panel{padding:16px;gap:12px;margin-bottom:16px;border-radius:12px}
  .filter-panel label,.event-filter-panel label{font-size:12px}
  .band-directory-page .filter-panel{display:block}
  .directory-more-filters{margin-top:6px}
  .directory-more-filters>label{max-width:none}
  .directory-tools{margin-top:12px;gap:6px}
  .directory-tools button{padding:8px 12px;font-size:12px}
  .band-directory-page .band-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 11px}
  .band-directory-page .band-directory-card{min-height:0;border-radius:10px}
  .band-directory-page .band-card-media{margin-bottom:9px}
  .band-directory-page .band-directory-card>h2{margin:3px 10px 6px;font-size:16px;line-height:1.5}
  .band-directory-page .band-directory-card>small{margin-inline:10px;font-size:11px}
  .band-directory-page .band-directory-card>p{display:none}
  .band-directory-page .band-card-actions{margin:8px 8px 0;gap:5px}
  .band-directory-page .band-card-actions a{padding:7px 2px;font-size:11px;min-height:40px}
  .home-introduction{display:block;padding:20px}
  .home-introduction strong{font-size:19px}
  .home-introduction p{font-size:12px}
  .home-introduction nav{margin-top:14px;gap:8px}
  .home-introduction a{flex:1;padding:9px 12px;font-size:12px}
  .events .event-heading h2{font-size:clamp(25px,7.7vw,34px);line-height:1.5;text-wrap:balance}
  .recommend-carousel-controls{align-items:flex-start;flex-direction:column}
  .recommend-carousel-controls>div{align-self:flex-end}
  .recommendation-intro{padding-top:26px;padding-bottom:25px}
  .recommendation-intro .page-title{font-size:clamp(26px,7.2vw,34px);line-height:1.5}
  .recommendation-intro .page-lead{font-size:14px;line-height:1.9}
  .recommendation-policy{display:block;padding:15px 18px}
  .recommendation-policy summary{font-size:14px;min-height:32px}
  .recommendation-policy ul{grid-template-columns:1fr;margin-top:18px}
  .recommendation-filter{grid-template-columns:repeat(2,minmax(0,1fr))}
  .recommendation-filter label:first-child{grid-column:1/-1}
  .event-directory-page .event-filter-panel{grid-template-columns:repeat(2,minmax(0,1fr))}
  .event-filter-panel label:first-child{grid-column:1/-1}
  .event-filter-panel label select{width:100%;font-size:14px}
  .event-view-switch{margin:5px 0 15px}
  .article-hero{padding-top:30px;padding-bottom:28px}
  .article-hero h1{font-size:clamp(27px,7.7vw,34px);line-height:1.5}
  .article-body{padding-top:28px;padding-bottom:50px}
  .article-body .intro{font-size:16px;margin-bottom:28px}
  .article-contents ol{grid-template-columns:1fr}
  .band-entry{padding:32px 0}
  .article-body .share-panel{padding:17px}
  .recommended-grid{grid-template-columns:1fr}
  .site-footer-common{padding:28px 20px}
}
@media(max-width:350px){.band-directory-page .band-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.random-record img,.random-record:before{animation:none!important}html{scroll-behavior:auto}}
