.mobile-experience{display:none}
@media(max-width:700px){
 /* Show the final intro while the module prepares the mobile deck. */
 .mobile-pending body{overflow:hidden}
 .mobile-pending .site{display:none}
 .mobile-pending .mobile-experience{display:block!important}
 .mobile-pending .mobile-menu-button,.mobile-pending .mobile-slide:not(.mobile-intro){display:none}
 body.mobile-layout{overflow:hidden}
 .mobile-layout>.site{display:none}
 .mobile-layout .mobile-experience{display:block}
 .mobile-deck{height:100svh;overflow-y:auto;overflow-x:hidden;scroll-snap-type:y mandatory;overscroll-behavior-y:contain;scrollbar-width:none;scroll-behavior:smooth}
 .mobile-deck::-webkit-scrollbar{display:none}
 .mobile-slide{position:relative;min-height:100svh;scroll-snap-align:start;scroll-snap-stop:always;display:flex;flex-direction:column;outline:none}
 .mobile-slide-heading{margin:0;padding:calc(34px + env(safe-area-inset-top)) 24px 24px;font-family:Archivo,Arial,sans-serif;text-transform:uppercase;font-size:28px;letter-spacing:-.04em;line-height:1.1}
 .mobile-menu-button{position:fixed;top:calc(22px + env(safe-area-inset-top));right:20px;z-index:5;padding:10px 13px;background:var(--paper);color:var(--ink);border:1px solid #17151b40;font-size:14px}
 .mobile-menu{position:fixed;top:calc(70px + env(safe-area-inset-top));right:20px;z-index:6;width:210px;max-height:calc(100svh - 90px);overflow:auto;background:var(--paper);border:1px solid var(--ink);padding:12px 20px;box-shadow:0 10px 35px #0002}
 .mobile-menu a{display:block;padding:12px 0;font-size:16px;border-bottom:1px solid var(--line)}
 .mobile-menu a:last-child{border-bottom:0}
 .mobile-menu a[aria-current]{font-weight:700}
 .mobile-intro{align-items:center;justify-content:center;padding:100px 24px 110px}
 .mobile-intro h1{width:min(340px,100%)}
 .mobile-intro h1 img{width:100%;height:auto;filter:brightness(0)}
 .mobile-intro .booking-button{margin-top:50px;width:min(280px,100%);min-height:54px;font-size:17px}
 .mobile-next{display:flex;align-items:center;justify-content:space-between;width:100%;padding:22px 24px calc(22px + env(safe-area-inset-bottom));gap:20px;font-size:14px;line-height:1.2;flex-shrink:0}
 .mobile-next span:last-child{font-size:12px;letter-spacing:.1em;font-variant-numeric:tabular-nums}
 .mobile-intro>.mobile-next{position:absolute;bottom:0;left:0;border-top:1px solid var(--line)}
 .mobile-feature{height:100svh;background:var(--ink);color:white}
 .mobile-cover-slot{min-height:0;flex:1;display:flex}
 .mobile-cover-slot .cover{position:relative;width:100%;height:100%;color:white}
 .mobile-cover-slot .cover-image{height:100%;flex:1}
 .mobile-cover-slot .cover-image:after{background:linear-gradient(180deg,#0002,transparent 38%,#0009)}
 .mobile-cover-slot .poster-top{top:calc(36px + env(safe-area-inset-top));left:24px;right:105px;display:block;font-size:12px}
 .mobile-cover-slot .poster-bottom{left:24px;right:24px;bottom:36px}
 .mobile-cover-slot .poster-title{font-size:clamp(66px,19vw,100px);letter-spacing:-.055em}
 .mobile-cover-slot .play{height:50px;width:50px}
 .mobile-cover-slot .play svg{width:24px;height:24px}
 .mobile-feature>.mobile-next{background:var(--ink);color:white}
 /* Long sections grow the slide; their controls stay above the next link. */
 .mobile-content{flex:1 0 auto;padding:12px 24px 24px;display:flex;flex-direction:column;min-height:auto}
 .mobile-content>.panel-view{min-height:auto;flex:1 0 auto}
 .mobile-content-slide>.mobile-next{border-top:1px solid var(--line)}
 .mobile-content #kalender .eyebrow{display:none}
 .mobile-content .date-item{grid-template-columns:1fr auto;gap:8px;padding:18px 0}
 .mobile-content .date-item time{font-family:DM,Arial,sans-serif;font-size:25px;font-weight:500}
 .mobile-content .calendar-contact{margin-top:28px}
 .mobile-content .calendar-contact p{font-size:15px}
 .mobile-content .calendar-contact .solid{margin-top:14px}
 .mobile-content .review-panel{height:auto;gap:20px}
 .mobile-content .review-quotes{flex:1 0 auto;overflow:visible;min-height:min-content}
 .mobile-content .review-quote{padding:18px 0}
 .mobile-content .review-quote blockquote{font-size:clamp(24px,6.7vw,30px);line-height:1.35}
 .mobile-content .review-quote figcaption{font-size:15px}
 .mobile-content .review-navigation{gap:8px}
 .mobile-content .review-navigation button{min-width:90px;padding:10px 12px;font-size:14px}
 [data-slide="repertuaar"] .mobile-content{justify-content:center;padding:6px 12px 14px}
 .mobile-content #repertuaar{flex:0}
 .mobile-content .setlist{width:min(330px,100%,calc((100svh - 170px)*.75))}
 .mobile-content .about-grid{display:flex;flex-direction:column;gap:28px;min-height:0}
 .mobile-content .about-photo{height:auto;aspect-ratio:4/3;flex-shrink:0}
 .mobile-content .about-copy h3{display:none}
 .mobile-content .about-copy>p:not(.eyebrow){font-size:17px;line-height:1.6}
 .mobile-content .inline-actions{margin-top:24px}
 .mobile-content .contact-grid{display:flex;flex-direction:column;align-items:stretch;gap:28px;min-height:0}
 .mobile-content .contact-info h3{display:block;font-family:DM,Arial,sans-serif;font-weight:450;letter-spacing:-.04em;font-size:36px;line-height:1.12;margin:0 0 22px}
 .mobile-content .contact-info h3 br{display:none}
 .mobile-content .contact-info h3 br:after{content:' '}
 .mobile-content .contact-info>a{font-size:17px;line-height:1.4}
 .mobile-content form label{font-size:12px;margin-bottom:22px}
 .mobile-content input,.mobile-content textarea{font-size:16px}
 .mobile-content .form-row{gap:18px}
 .mobile-content #inquiry .solid{width:100%;font-size:14px}
 .mobile-footer{padding:0 24px calc(20px + env(safe-area-inset-bottom))}
 .mobile-footer .footer{min-height:94px;padding-top:18px;gap:16px;border-top:1px solid var(--line)}
 .mobile-footer .footer>.email{display:none}
 .mobile-footer .footer nav{font-size:12px;gap:22px}
 .mobile-footer .admin-link{font-size:12px!important}
 .mobile-back-top{display:block;text-align:center;padding:18px 0 6px;font-size:14px}
 .mobile-layout dialog{width:100%;height:100svh;max-height:100svh;margin:0;box-shadow:none}
 .mobile-layout .panel-content{padding:20px}
 .mobile-layout .panel-nav{display:none}
 .mobile-layout .panel-header h2{font-size:22px}
 .mobile-layout .close{font-size:13px}
 .mobile-layout .video-tabs button{font-size:14px}
 .mobile-layout .video-stage{max-height:none;min-height:220px}
 .mobile-layout .gallery-controls button,.mobile-layout .photo-back{font-size:14px}
 .mobile-layout .panel-shell{grid-template-rows:auto minmax(0,1fr)}
 @media(prefers-reduced-motion:reduce){.mobile-deck{scroll-behavior:auto}}
}
