/* Final responsive composition rules: content stays in flow and may grow at zoom. */
:root{--screen-height:100svh}
body{overflow-wrap:break-word}
main,section,article,figure{min-width:0}
img,video{max-width:100%}
body .hero{height:100svh;min-height:320px}
body.programme-home .happening-section{min-height:100svh;padding-block:clamp(32px,5svh,60px) 20px;display:flex;align-items:center}
body.programme-home .happening-inner{width:100%}
body.programme-home .happening-heading,
body.programme-home .happening-heading:has(+.event-spotlight:not([hidden])){margin-bottom:clamp(16px,2.5svh,28px)}
body.programme-home .happening-heading h2{font-size:min(11.5vw,13svh);line-height:1}
body.programme-home .event-group-title{margin-bottom:12px}
body.programme-home .event-card-image{max-height:clamp(160px,calc(100svh - 380px),500px);width:auto;height:auto}
body.programme-home .event-spotlight{margin-bottom:8px}
body.programme-home .programme-instagram{margin-top:10px}
body.programme-home .event-card-title{font-size:clamp(22px,2.4vw,32px)}
body.programme-home .curved-gallery{padding-top:clamp(28px,5svh,54px);min-height:100svh}
body .curved-gallery .room{height:clamp(170px,calc(100svh - 290px),620px);min-height:170px;max-height:620px}
body .curved-gallery .gallery-top{padding-top:0}
body .curved-gallery .room-title{font-size:clamp(44px,min(7vw,12svh),96px)}
body.dedicated-page .curved-gallery .room{height:clamp(170px,calc(100svh - 380px),570px)}
body.events-page .agenda-feature{min-height:calc(100svh - 76px);align-content:center}
body.events-page .agenda-feature-visual>#agenda-feature-image{max-height:calc(100svh - 150px)}
body.events-page .agenda-feature-copy h2{font-size:clamp(36px,min(4.5vw,8svh),72px)}
body.events-page .agenda-feature-copy{padding-block:16px}
body.events-page .agenda-feature-description{font-size:19px;line-height:1.4;margin-bottom:16px}
body.events-page .agenda-feature-date{margin-bottom:16px}
body.events-page .agenda-feature-navigation{padding-block:12px}
body .programme-menu[open] .menu-panel{max-height:100svh;overflow-y:auto;overscroll-behavior:contain}
body .page-masthead{box-sizing:border-box}
body .hello-email,body .hello-street,body .poster-location address{overflow-wrap:anywhere}
body .archive-film-title,body .archive-intro>*{min-width:0}
@media(max-width:900px) and (min-width:701px){
 body.events-page .agenda-feature{grid-template-columns:minmax(0,55%) minmax(0,45%)}
 body.events-page .agenda-feature-copy,body.events-page .agenda-feature-navigation{padding-inline:20px}
 body.events-page .agenda-feature-copy h2{font-size:38px}
 body.events-page .agenda-feature-visual>#agenda-feature-image{max-width:68%}
}
@media(max-width:700px){
 body.events-page .agenda-feature{min-height:calc(100svh - 96px);padding-top:24px;align-content:normal}
 body.events-page .agenda-feature-visual>#agenda-feature-image{max-height:clamp(170px,36svh,340px)}
 body.events-page .agenda-cover-neighbor{height:28svh}
 body.events-page .agenda-feature-copy{padding:18px 22px 10px}
 body.events-page .agenda-feature-copy h2{font-size:clamp(32px,10vw,44px);margin-bottom:12px}
 body.events-page .agenda-eyebrow{margin-bottom:8px;font-size:15px}
 body.events-page .agenda-feature-description{font-size:18px;line-height:1.35;margin-bottom:12px}
 body.events-page .agenda-feature-date{font-size:15px;margin-bottom:8px}
 body.events-page .agenda-feature-navigation{padding:0 22px 10px}
 body.events-page .agenda-event-meta{flex-wrap:wrap;gap:4px 12px}
 body.events-page .agenda-event-meta>span{max-width:100%}
}
@media(max-width:650px){
 body.programme-home .happening-section{padding-top:50px;padding-bottom:18px}
 body.programme-home .happening-heading h2{font-size:min(13vw,7svh);line-height:1.02}
 body.programme-home .event-card-image{max-height:clamp(140px,calc(100svh - 405px),380px)}
 body.programme-home .event-card-title{font-size:24px;line-height:1.1}
 body.programme-home .event-carousel-controls{margin-top:6px}
 body.programme-home .programme-instagram{margin-top:4px}
 body .curved-gallery .room{height:clamp(170px,calc(100svh - 290px),450px);max-height:450px}
 body.dedicated-page .curved-gallery .room{height:clamp(170px,calc(100svh - 370px),420px)}
 body .curved-gallery .exhibition-bar{padding-block:12px;gap:10px}
 body .curved-gallery .room-title{font-size:clamp(42px,12vw,64px)}
 body.contact-page .hello-heading{padding-block:0 20px}
 body.contact-page .hello-grid{padding-top:20px}
 body.contact-page .hello-door{margin-top:22px;padding-top:20px}
 body.contact-page .hello-amsterdam{max-width:220px;margin-top:18px}
 body.about-page .play-composition{gap:24px}
 body.archive-page main{padding-inline:20px}
 body .archive-intro{flex-wrap:wrap}
 body .archive-intro h1{font-size:clamp(64px,17vw,104px)}
 body .archive-chapters{gap:6px 20px}
 body .menu-main a{min-height:44px}
}
@media(max-height:600px){
 body .hero{min-height:280px}
 body.programme-home .happening-section,body .curved-gallery,body.events-page .agenda-feature{min-height:0}
 body.events-page .agenda-feature-visual>#agenda-feature-image{max-height:70svh}
 body.programme-home .happening-heading h2{font-size:clamp(36px,9vw,70px)}
 body.programme-home .happening-section{padding-top:32px}
}
body.dedicated-page .curved-gallery{min-height:calc(100svh - 112px)}
body .programme-menu[open] nav{max-height:100svh;overflow-y:auto;overscroll-behavior:contain}
@media(max-width:700px){body.dedicated-page .curved-gallery{min-height:calc(100svh - 96px)}}
@media(max-width:650px){body.programme-home .event-card-image{max-height:clamp(120px,calc(100svh - 430px),350px)}}
body.programme-home .event-card-image{max-height:clamp(150px,calc(100svh - 480px),440px)}
body.dedicated-page .curved-gallery{padding-top:28px;padding-bottom:20px}
body.dedicated-page .curved-gallery .room{height:clamp(170px,calc(100svh - 470px),500px)}
body.contact-page .hello-grid{padding-bottom:30px}
@media(max-width:650px){
 body.programme-home .event-card-image{max-height:clamp(120px,calc(100svh - 460px),350px)}
 body.dedicated-page .curved-gallery .room{height:clamp(140px,calc(100svh - 480px),330px);min-height:140px}
}
@media(min-width:651px){body.dedicated-page .curved-gallery .room{height:clamp(170px,calc(100svh - 485px),500px)}}
