/* Keep narrow layouts inside the viewport without disabling deliberate pinch zoom. */
/* The anti-spam fields need only a clipped pixel, not a 10,000px off-screen box. */
#booking-form{position:relative}
body .booking-trap,body .contact-trap{position:absolute!important;inset:0 auto auto 0!important;width:1px!important;height:1px!important;margin:0!important;padding:0!important;border:0!important;overflow:hidden!important;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;pointer-events:none}
@media(max-width:1000px){
 html,body{max-width:100%;overscroll-behavior-x:contain}
 /* Clip residual decorative overhang without creating a scroll container that breaks sticky content. */
 @supports(overflow:clip){html,body{overflow-x:clip}}
 body>main{min-width:0;max-width:100%}
 body>main :is(.air-fold-heading,.air-fold-showcase,.air-studio-selection,.air-other-studios,.air-fold-intro,.air-now-booking,.editorial-hero,.editorial-split,.editorial-end,.format-story-hero,.format-story-row,.journey-hero,.journey-step,.production-stage,.visual-guide-card,.contact-section,.contact-form-fields,.partner-hero-grid,.partner-feature,.partner-agency,.partner-enquiry,.booking-layout,.booking-fields)>*{min-width:0}
 body>main :is(.contact-form,.booking-layout fieldset,.contact-form fieldset,#booking-form){min-width:0;max-width:100%}
 body>main form :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="button"]):not([type="submit"]),select,textarea){min-width:0;max-width:100%;font-size:16px!important}
 body>main :is(.button,button,input,select,textarea){touch-action:manipulation}
 body>main .button{max-width:100%;overflow-wrap:break-word}
 body>main :is(.text-link,.booking-actions .text-link,.air-fold-intro .text-link,.air-other-heading .text-link){max-width:100%;white-space:normal;overflow-wrap:break-word}
 /* Wide comparisons continue to scroll inside their own frame, never the whole page. */
 body>main :is(.table-scroll,.visual-guide-table-scroll,.package-comparison-table){min-width:0;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
}
@media(max-width:650px){
 /* The former nowrap hero forced the complete headline wider than small phones. */
 .air-fold-heading h1{min-width:0;max-width:100%;white-space:normal;flex-wrap:wrap;row-gap:0}
 .air-fold-heading h1 em{max-width:100%}
 .air-fold-intro>p{flex:1 1 175px;min-width:0}
 .air-fold-intro>.text-link{flex:0 1 auto}
 .air-lead-studio>figcaption{flex-wrap:wrap}
 .air-now-booking{flex-wrap:wrap;row-gap:10px}
 .booking-packages label{min-width:0;flex-wrap:wrap}
 .booking-packages label>span{min-width:0;flex:1 1 130px}
 .booking-packages b{max-width:100%}
 .contact-map-mount,.contact-map-frame{min-width:0;max-width:100%}
}
