/* Master finishing: keep the photographic composition and established palette. */
.home-page .hero-mobile-request { display:none; }
.home-page .hero-image img { aspect-ratio:2000/1165; }
.home-page #formats .ensemble-choice small { display:block;font:400 10px/1.3 var(--b-font);margin-top:4px;letter-spacing:0; }
.home-page #formats .ensemble-choice strong { font-size:13px; }
.home-page #formats .ensemble-stage { min-height:0; }
.home-page #formats .ensemble-role { font-size:14px; }
.home-page #formats .ensemble-role-detail { font-size:12px; }
.home-page .details-section.details-editorial { gap:24px;padding-top:32px;padding-bottom:48px; }
.home-page .details-editorial .details-intro { display:block; }
.home-page .details-editorial .details-intro h2 { font:500 14px/1.4 var(--b-font);letter-spacing:.08em;text-transform:uppercase;color:var(--b-muted); }
.home-page .details-editorial .performance-details { padding-top:24px; }
.home-page .contact-copy { gap:24px;align-content:start; }
.home-page .contact-copy>.serif-accent { font-size:28px; }
.home-page .contact-person strong { font-size:24px; }
.home-page .contact-links { max-width:none;justify-content:flex-start;flex-wrap:wrap;gap:8px; }
.home-page .contact-link { flex:none;aspect-ratio:auto;max-width:none;min-height:44px;gap:8px;padding:10px 16px;border-radius:var(--b-radius-control);font:500 13px/1.4 var(--b-font); }
.home-page .contact-link .contact-icon { width:18px;height:18px; }
.home-page .contact-socials { display:flex;flex-wrap:wrap;gap:4px 20px;margin-top:-12px; }
.home-page .contact-socials a { display:inline-flex;align-items:center;min-height:44px;color:var(--b-muted);font:400 12px/1.4 var(--b-font);text-underline-offset:4px; }
.home-page .contact-socials a:hover { color:var(--b-text);text-decoration:underline; }
.home-page .bf-heading { display:none; }
.home-page .bf-form .bf-fields { grid-template-columns:1fr; }
.home-page .bf-form .bf-confirmation h3 { font:500 28px/1.2 var(--b-font); }
.home-page .site-footer { padding-block:24px; }
.home-page .footer-up { min-height:44px; }
.home-page .video-dialog .close-button { width:44px;height:44px; }
@media(max-width:1023px) {
  .home-page .hero-composition { gap:16px; }
  .home-page .hero-image { aspect-ratio:2000/1165;background:var(--b-dark-hero); }
  .home-page .hero-image img { object-fit:contain; }
}
@media(max-width:809px) {
  .home-page #formats .ensemble-selector { display:flex;gap:8px;overflow-x:auto;overscroll-behavior-x:contain;padding-bottom:12px;scrollbar-width:thin;scrollbar-color:var(--b-muted) transparent; }
  .home-page #formats .ensemble-choice { flex:0 0 124px;min-height:66px;flex-direction:row;padding:8px;gap:8px; }
  .home-page #formats .ensemble-choice strong { font-size:12px;hyphens:none; }
  .home-page #formats .ensemble-choice span { font-size:18px; }
  .home-page #formats .ensemble-summary p { font-size:12px; }
  .home-page #formats .ensemble-role { font-size:12px; }
  .home-page #formats .ensemble-role-detail { font-size:11px; }
  .home-page .details-section.details-editorial { padding-top:16px;padding-bottom:32px;gap:8px; }
  .home-page .details-editorial .performance-details { padding-top:0; }
  .home-page .live-card { grid-template-columns:1fr;gap:16px; }
  .home-page .live-card-media { aspect-ratio:16/10; }
  .home-page .live-caption strong { font-size:20px; }
  .home-page .contact-section .section-heading { margin-bottom:28px; }
  .home-page .booking-grid { gap:32px; }
  .home-page .contact-copy>.serif-accent { font-size:26px; }
  .home-page .contact-portrait { max-width:480px; }
  .home-page .site-footer { flex-direction:row;flex-wrap:wrap;gap:8px 20px; }
  .home-page .site-footer .footer-up { margin-left:auto; }
}
@media(max-width:767px) {
  .home-page .hero-mobile-request { display:inline-flex;margin-top:24px; }
  .home-page .hero { padding-bottom:8px; }
  .home-page .promo-section { padding-top:28px; }
}

.home-page .contact-socials a { min-width:44px; }
@media(max-width:809px) {
 .home-page .live-section .live-card:not(:first-child) { display:grid;grid-template-columns:1fr;gap:0; }
 .home-page .live-section .live-card:not(:first-child) .live-card-media { aspect-ratio:4/3; }
 .home-page .live-section .live-card:not(:first-child) .live-card-media img { object-fit:contain; }
 .home-page .live-section .live-card .live-caption { padding:20px; }
 .home-page .live-section .live-card .media-play { width:48px;height:48px; }
}

/* One type family and a consistent hierarchy for the repertoire teaser. */
.home-page .repertoire-center .repertoire-copy { gap:20px; }
.home-page .repertoire-center h2 { font-family:var(--b-font);font-weight:500;line-height:1.12; }
.home-page .repertoire-center h2 span { font:inherit;letter-spacing:inherit; }
.home-page .repertoire-center .repertoire-lead { max-width:34ch;font:400 clamp(18px,2vw,24px)/1.45 var(--b-font);letter-spacing:-.02em; }
.home-page .repertoire-center .teaser-description { font:400 15px/1.6 var(--b-font);letter-spacing:-.02em; }

/* Client amendments: a quiet persistent contact action and section navigation. */
.home-page .home-nav{position:sticky;top:0;z-index:40;background:var(--b-dark-hero);border-bottom:1px solid var(--b-dark-line);}
.home-page .home-nav-inner{display:flex;align-items:center;gap:24px;min-height:80px;padding-block:12px;}
.home-page .home-nav .b-brand{margin-right:auto;}
.home-page .home-nav .b-brand img{width:116px;}
.home-page .home-section-menu{position:relative;}
.home-page .home-sections-toggle{gap:10px;font-size:14px;padding:10px 4px;}
.home-page .home-contact-link{display:inline-flex;align-items:center;min-height:48px;font:500 14px/1.4 var(--b-font);text-decoration:none;text-underline-offset:5px;}
.home-page .home-contact-link:hover{color:var(--b-accent);text-decoration:underline;}
.home-page .home-nav-request{font-size:14px;padding:12px 22px;}
.home-page .home-request-short{display:none;}
.home-page .home-sections[hidden]{display:none;}
.home-page .home-sections{position:absolute;top:calc(100% + 10px);right:0;width:264px;max-width:calc(100vw - 32px);max-height:calc(100dvh - var(--b-navigation-inset,100px) - 20px);overflow-y:auto;padding:12px;border:1px solid var(--b-line);background:var(--b-dark-hero);}
.home-page .home-sections a{display:flex;align-items:center;min-height:48px;padding:12px;font:500 14px/1.4 var(--b-font);color:var(--b-text);text-decoration:none;}
.home-page .home-sections a:hover{background:var(--b-surface);color:var(--b-accent);}
.home-page .home-sections a:focus-visible{outline-offset:-2px;}
.home-page :is(#promo,#formats,#repertoire,#live,#details,#contact){scroll-margin-top:var(--b-navigation-inset,100px);}
.home-page .hero-mobile-request{display:none;}
.home-page .repertoire-center .repertoire-copy{max-width:1080px;gap:28px;}
.home-page .repertoire-kicker{max-width:40ch;margin:0;color:var(--b-muted);font:400 16px/1.5 var(--b-font);letter-spacing:0;}
.home-page .repertoire-center h2{max-width:29ch;margin:0;font:500 clamp(28px,3.65vw,52px)/1.15 var(--b-font);letter-spacing:-.035em;text-wrap:balance;}
@media(max-width:767px){
 .home-page .home-nav-inner{min-height:68px;gap:12px;padding:10px 20px;}
 .home-page .home-nav .b-brand img{width:92px;}
 .home-page .home-contact-link,.home-page .home-request-full{display:none;}
 .home-page .home-request-short{display:inline;}
 .home-page .home-nav-request{min-height:44px;padding:10px 16px;}
 .home-page .home-sections-toggle{min-height:44px;gap:6px;}
 .home-page .home-sections-toggle svg{width:18px;height:18px;}
 .home-page .home-sections{position:fixed;top:calc(var(--b-navigation-inset,88px) - 10px);right:20px;left:20px;width:auto;max-width:none;}
 .home-page .repertoire-center .repertoire-copy{gap:24px;}
 .home-page .repertoire-kicker{max-width:30ch;font-size:14px;}
}
@media(max-width:359px){
 .home-page .home-nav-inner{padding-inline:16px;gap:8px;}
 .home-page .home-nav .b-brand img{width:84px;}
 .home-page .home-sections-toggle{min-width:44px;}
 .home-page .home-sections-toggle>span{display:none;}
 .home-page .home-nav-request{padding-inline:14px;}
}
