/* Final mobile/tablet fit pass: preserve every service and image without horizontal overflow. */
html,body{max-width:100%;overflow-x:clip}@media(max-width:1024px){main{max-width:100%;box-shadow:none}.hero-copy,.intro,.split .copy,.venue .copy,.booking,.image-story,.application-section,.boardroom-showcase,.about,.contact{padding-inline:7vw!important}.hero-copy{padding-top:4rem!important;padding-bottom:3rem!important}.hero-copy h1{max-width:13ch}.hero-copy .actions{gap:8px}.hero-copy .btn{justify-content:center}.intro-geometry,.intro-leaf{opacity:.7}.split .visual,.venue .visual{width:100%;min-height:330px!important}.split .copy,.venue .copy{padding-top:3rem!important;padding-bottom:3rem!important}.application-form,.booking-card{box-sizing:border-box}.application-form input,.application-form select,.application-form textarea,.booking-card input,.booking-card select{max-width:100%}.image-story .story-head{gap:1rem}.boardroom-showcase .boardroom-features{display:grid}.about{padding-top:3.4rem!important;padding-bottom:3.4rem!important}.contact>div{margin-top:1.6rem!important}footer{width:100%;text-align:center}.rate-strip{max-width:none}}
@media(max-width:600px){.nav{padding-inline:4vw!important}.nav .menu{width:38px;height:38px}.hero-copy,.intro,.split .copy,.venue .copy,.booking,.image-story,.application-section,.boardroom-showcase,.about,.contact{padding-inline:6vw!important}.hero-copy h1{font-size:clamp(2.25rem,11vw,3.15rem)!important}.hero-copy .lede{font-size:.84rem}.trust{display:grid;grid-template-columns:repeat(3,1fr);gap:.45rem}.trust span{min-width:0}.visual-caption{font-size:1.15rem!important}.boardroom-showcase .boardroom-features{grid-template-columns:1fr!important}.story-grid{grid-auto-rows:82px!important}.story-card span{left:9px;bottom:8px;font-size:.53rem}.application-copy .pill{font-size:.59rem}.application-form,.booking-card{padding:1rem!important}.booking-card .check small{font-size:.62rem}.hours{font-size:.67rem;grid-template-columns:76px 1fr}.contact h2{font-size:clamp(2rem,9vw,2.7rem)!important}footer>div{gap:.7rem;font-size:.62rem}}

/* Mobile motion: retain the desktop treatment while keeping phone navigation calm and readable. */
@media(max-width:1024px){.hero-orbit,.hero-orbit:after,.hero-particle,.kinetic-orb,.cursor-halo,.nav:before,.nav:after,.hero:before,.hero-copy h1 em,.eyebrow:before{animation:none!important;transition:none!important}.trust,.trust span,.trust b{animation:none!important;transition:none!important;transform:none!important}}

/* Booking fit: comfortable controls and a contained confirmation panel on smaller screens. */
@media(max-width:1024px){.booking{display:grid!important;grid-template-columns:1fr!important;gap:2rem!important}.booking-intro,.booking-card{width:100%;max-width:680px;margin-inline:auto}.booking-card .field-row{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-card .time-slots{grid-template-columns:repeat(4,minmax(0,1fr))}.booking-card .summary{font-size:.82rem}.booking-card .wide{min-height:46px}dialog#confirmation{width:min(92vw,500px);max-height:calc(100dvh - 2rem);overflow:auto;padding:1.35rem;border-radius:10px}dialog#confirmation h2{font-size:clamp(1.7rem,6vw,2.35rem)}dialog#confirmation p:not(.eyebrow){font-size:.82rem;line-height:1.55}}
@media(max-width:600px){.booking{gap:1.4rem!important}.booking-intro .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin-top:1.8rem}.booking-intro .steps span{min-width:0;font-size:.62rem}.booking-intro .steps b{font-size:.66rem}.booking-card .field-row,.booking-card .time-slots{grid-template-columns:1fr 1fr}.booking-card fieldset{margin-inline:0}.booking-card .summary p{gap:.75rem}.booking-card .summary b{text-align:right}.booking-card .wide{font-size:.76rem;padding:.85rem .7rem}.booking-disclaimer{font-size:.61rem}dialog#confirmation{width:calc(100vw - 1.5rem);padding:1.1rem}dialog#confirmation .close{min-width:34px;min-height:34px}dialog#confirmation p:not(.eyebrow){font-size:.76rem}}
