/* V3.11 — responsive layout refinements, no brand/font/artwork changes */
html,body{min-width:0;max-width:100%}
main,main>section{min-width:0}
/* The existing overlay lock should freeze the page, not disable menu finger scrolling */
body.overlay-lock{touch-action:auto}
.mobile-menu,.panel-sheet{touch-action:pan-y}
button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}
:where(button,a,input,textarea,select):focus-visible{outline:2px solid var(--accent);outline-offset:3px}
:where(.section-head,.featured-release,.featured-copy,.about,.about-copy,.achievement-ui-grid,.globe-shell,.signal,.gallery-flow,.tour-copy){min-width:0}
:where(.section-head h2,.visuals-intro h2,.collab-heading h2,.about-copy h2,.tour-copy h2,.manifesto h2,.globe-copy h3,.signal-copy h2){overflow-wrap:break-word}
.video-rail{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;scroll-snap-type:x proximity}
.video-card{scroll-snap-align:start;min-width:0}
.gallery-button,.gallery-column{min-width:0}
.achievement-exact iframe{max-width:100%}
#bioMore{min-width:0}
#bioMore.is-open{grid-template-rows:minmax(0,1fr)}
/* On smaller laptops the language switch and navigation no longer overlap */
@media(min-width:901px) and (max-width:1260px){
 .site-header{padding-inline:clamp(12px,2vw,30px);grid-template-columns:minmax(94px,.65fr) auto minmax(290px,.95fr)}
 .desktop-nav{gap:clamp(7px,1vw,14px)}
 .desktop-nav a{letter-spacing:.07em;font-size:8px}
 .header-controls{gap:6px}
 .sound-toggle{padding-inline:8px}
 .vibe-toggle{padding-inline:9px}
}
@media(max-width:900px){
 .site-header{grid-template-columns:minmax(0,1fr) auto}
 .header-controls{min-width:0;gap:7px}
 .language-switch{flex:0 0 auto}
 .mobile-menu{overflow-y:auto;overscroll-behavior:contain}
 .mobile-menu-inner{min-height:100%;height:auto}
 .mobile-menu nav{margin:auto 0;padding-block:18px}
 .mobile-menu nav a{font-size:clamp(32px,8vw,60px);line-height:1.03;min-height:56px}
 .vibe-panel .panel-sheet{overflow-y:auto;overscroll-behavior:contain}
 .featured-release,.about,.signal,.globe-shell{min-width:0}
 .globe-shell{grid-template-columns:1fr}
 .globe-shell iframe{width:100%;min-width:0}
 .achievement-ui-grid{grid-template-columns:1fr}
 .achievement-exact{max-width:100%}
 .about-image{height:clamp(300px,62vw,660px)}
 .about-copy h2{line-height:.95}
}
@media(max-width:650px){
 .site-header{height:clamp(58px,9svh,68px);gap:5px}
 .header-wordmark{flex-shrink:0}
 .header-controls{gap:4px}
 .language-switch{gap:2px;padding:3px}
 .language-switch button{min-width:29px;min-height:32px;padding:5px 6px}
 .menu-toggle{flex:0 0 39px;min-height:40px}
 .site-header .vibe-toggle{min-width:0;min-height:40px;gap:5px}
 .site-header .vibe-toggle strong{font-size:9px}
 .hero{height:100svh;min-height:min(650px,100svh)}
 .hero-center{inset:clamp(65px,13svh,105px) 12px clamp(42px,8svh,70px)}
 .hero-logo-button{width:min(94vw,600px);height:clamp(155px,31svh,270px)}
 .hero-actions{max-width:100%;justify-content:center;gap:clamp(15px,5vw,35px)}
 .hero-tagline{margin-bottom:clamp(16px,4svh,32px)}
 .pad{padding:clamp(62px,10vw,86px) clamp(14px,4.3vw,24px)}
 .section-head h2,.visuals-intro h2,.collab-heading h2,.gallery h2{font-size:clamp(35px,12.2vw,72px)!important;line-height:1.05}
 .manifesto h2{font-size:clamp(35px,11.5vw,70px)!important;line-height:1.01}
 .section-head p,.visuals-intro>p:last-child{max-width:42ch;line-height:1.6}
 .featured-copy{min-height:0;padding:32px 17px 40px}
 .featured-copy h3{font-size:clamp(40px,14vw,66px);overflow-wrap:anywhere}
 .release-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .video-rail{padding-inline:14px;gap:10px;scroll-padding-left:14px}
 .video-card{flex:0 0 min(87vw,440px)}
 .video-card-copy strong{font-size:clamp(26px,8.5vw,40px)}
 .globe-shell{margin-top:35px}
 .globe-copy{padding:30px 20px;min-height:0}
 .globe-copy h3{font-size:clamp(37px,11vw,58px)}
 .globe-shell iframe{min-height:clamp(460px,95svh,680px)}
 .about{grid-template-columns:1fr;gap:30px}
 .about-image{height:clamp(260px,84vw,560px)}
 .about-copy h2,html[data-theme="edge"] .about-copy h2{font-size:clamp(38px,10vw,65px);line-height:1.04}
 .about-copy>p:not(.eyebrow),.bio-more p{font-size:clamp(13px,3.5vw,15px);line-height:1.75}
 .timeline-card{padding:26px 18px;min-height:0}
 .signal{grid-template-columns:1fr;gap:28px}
 .signal-field{min-width:0;grid-template-columns:1fr;gap:8px}
 .signal-field input{min-width:0}
 .achievement-new-award iframe{min-height:0}
 .tour{min-height:72svh}
 .tour-copy h2{font-size:clamp(60px,18vw,120px);line-height:.92}
 .panel-sheet{padding-top:80px}
 .vibe-option{min-height:60px}
}
@media(max-width:390px){
 .sound-toggle{padding-inline:6px;min-width:35px}
 .header-wordmark{width:70px}
 .site-header .vibe-toggle{padding-inline:7px}
 .hero-kicker{font-size:8px;letter-spacing:.15em}
 .hero-tagline{letter-spacing:.17em}
 .hero-logo-button{height:clamp(145px,26svh,205px)}
 .hero-actions .line-link{font-size:9px;letter-spacing:.07em}
 .section-head h2,.visuals-intro h2,.collab-heading h2{font-size:clamp(32px,11.4vw,48px)!important}
 .release-info h3{font-size:clamp(15px,5vw,25px)}
 .release-meta{overflow-wrap:anywhere}
 .gallery-flow{gap:4px!important}
}
@media(max-height:540px) and (orientation:landscape){
 .site-header{height:55px}
 .hero{height:100svh;min-height:0}
 .hero-center{inset:60px 18px 25px}
 .hero-logo-button{height:min(32svh,180px)}
 .hero-tagline{margin-bottom:10px}
 .hero-actions{gap:18px}
 .hero-foot{bottom:8px}
 .mobile-menu nav a{font-size:clamp(26px,6svh,39px);min-height:35px;padding:6px 0}
 .panel-sheet{padding-block:66px 24px}
}
@media(pointer:coarse){
 .rail-controls button,.lightbox-nav,.modal-close,.line-link,.text-cta{min-height:42px}
 .social-links a{padding-block:10px}
}
