/* FUSE 7.5 — phone and tablet refinements. Desktop design is unchanged. */
@media (max-width: 900px) {
  .topbar { padding-inline: clamp(16px,3vw,28px); }
  .brand-slot { flex:0 0 100px; width:100px; }
  .topbar nav { gap:12px; }
  .topbar nav a { letter-spacing:.09em; }
  .section-wrap { width:min(100% - 44px,1180px); }
  .split { gap:36px; }
  .about-photo img { height: min(60vw,500px); }
}
@media (max-width: 760px) {
  html { scroll-padding-top:76px; }
  section[id] { scroll-margin-top:76px; }
  body { overflow-x:hidden; }
  .topbar { height:68px!important; padding:0 18px; gap:8px; }
  body { padding-top:68px; }
  .brand-slot { flex:0 0 90px; width:90px; height:42px; }
  .nav-ghost-logo { max-width:90px; max-height:42px; }
  .social-header { margin-left:auto; margin-right:5px; gap:3px; }
  .social-header a { width:36px; height:40px; }
  .menu-toggle { min-width:75px; min-height:44px; padding:10px 6px; cursor:pointer; border-radius:3px; }
  .menu-toggle:focus-visible, .topbar nav a:focus-visible { outline:2px solid #E8C6A6; outline-offset:3px; }
  .topbar nav { top:68px; padding:12px 20px 20px; gap:0; max-height:calc(100dvh - 68px); overflow-y:auto; box-shadow:0 18px 30px #0008; border-bottom:1px solid #ffffff30; }
  .topbar nav a { display:flex; align-items:center; min-height:49px; padding:12px 6px; border-bottom:1px solid #ffffff18; font-size:13px; letter-spacing:.14em; }
  .topbar nav a.nav-book { justify-content:center; margin-top:12px; padding:13px 16px; border:1px solid #C16A46; }
  .hero-image { aspect-ratio: 1600/983; background-size:cover; background-position:center; }
  .barn-static-logo { width:23.75%; }
  .hero-content { width:calc(100% - 40px); padding:36px 0 58px; }
  .hero h1 { font-size:clamp(38px,9.5vw,62px); letter-spacing:-.055em; }
  .hero-content .eyebrow { font-size:10px; line-height:1.5; }
  .hero p { font-size:15px; line-height:1.65; }
  .actions { width:100%; justify-content:center; gap:10px; }
  .actions .button { min-height:48px; padding:14px 18px; }
  .section { padding:66px 0; }
  .section-wrap { width:calc(100% - 40px); }
  .copy h2,.section-heading h2,.booking h2 { font-size:clamp(38px,9vw,57px); letter-spacing:-.06em; overflow-wrap:break-word; }
  .copy p { font-size:15px; line-height:1.75; }
  .copy p.lead { font-size:17px; }
  .about-photo img { height:auto; max-height:520px; aspect-ratio:4/3; object-fit:cover; }
  .section-heading { margin-bottom:30px; }
  .section-heading p { font-size:14px; margin-top:16px; }
  .video-frame { aspect-ratio:16/9; }
  .play-icon { width:64px; height:64px; font-size:22px; }
  .play-caption { left:12px; bottom:12px; font-size:10px; letter-spacing:.08em; }
  .show-row { grid-template-columns:68px minmax(0,1fr); gap:7px 15px; padding:19px 2px; }
  .show-date strong { font-size:27px; }
  .show-venue { font-size:16px; overflow-wrap:anywhere; }
  .show-format,.show-time,.show-city { font-size:12px; line-height:1.5; }
  .show-directions { display:inline-block; padding-block:5px; }
  .photo-grid { gap:8px; }
  .photo-grid button { min-width:0; }
  .booking p { font-size:16px; line-height:1.6; }
  footer { padding:30px 20px; gap:18px; justify-content:center; text-align:center; }
  footer .footer-follow { justify-content:center; }
  .integrated-music { min-height:680px; padding:55px 0; }
  .integrated-music .watermark { font-size:clamp(11px,2.65vw,calc(var(--s)*.8)); max-width:48vw; opacity:.88; }
  .integrated-music .watermark-extra { opacity:.76; }
  .integrated-music .music-content { padding:125px 20px; }
  .integrated-music .music-content h2 { font-size:clamp(51px,13vw,82px); }
  .integrated-music .music-lead { font-size:clamp(20px,5vw,28px); }
  .integrated-music .music-description { font-size:15px; line-height:1.6; }
  .integrated-music::before { background:radial-gradient(ellipse 58% 29% at 50% 50%,rgba(24,25,27,.97),rgba(24,25,27,.75) 65%,rgba(24,25,27,.08) 100%); }
}
@media (max-width: 430px) {
  .topbar { padding-inline:12px; }
  .brand-slot { flex-basis:74px; width:74px; }
  .nav-ghost-logo { max-width:74px; }
  .social-header a { width:32px; }
  .menu-toggle { min-width:67px; font-size:12px; }
  .hero-content { padding-top:29px; padding-bottom:50px; }
  .hero h1 { font-size:clamp(36px,9.5vw,44px); }
  .hero p { margin:16px auto 22px; }
  .actions .button { flex:1 1 130px; padding-inline:12px; }
  .section-wrap { width:calc(100% - 34px); }
  .section { padding:58px 0; }
  .copy h2,.section-heading h2,.booking h2 { font-size:clamp(36px,9vw,43px); }
  .integrated-music { min-height:670px; }
  .integrated-music .watermark { font-size:clamp(10px,2.8vw,calc(var(--s)*.7)); max-width:53vw; }
  .integrated-music .music-content { padding:135px 17px; }
  .integrated-music .music-content h2 { font-size:clamp(48px,13vw,60px); }
  .integrated-music .music-description { font-size:14px; }
}
@media (max-width: 350px) {
  .social-header a { width:27px; }
  .menu-toggle { min-width:58px; }
  .menu-toggle span { margin-left:3px; }
  .brand-slot { flex-basis:66px; width:66px; }
  .nav-ghost-logo { max-width:66px; }
}
@media (hover:none) { .photo-grid button:hover img { transform:none; } }
