/* Full-height booking with room for artwork and form. */
.booking-page{min-height:100vh;min-height:100svh;display:flex;flex-direction:column}
.booking-main{flex:1;width:min(1560px,88%);margin:0 auto;padding:54px 0 90px}
.booking-reels{margin-bottom:55px}
.booking-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(45px,6vw,110px);align-items:center}
.booking-intro h1{font-size:clamp(56px,5.6vw,100px);margin:0 0 24px;line-height:.98}
.booking-intro p{font-size:clamp(18px,1.5vw,23px);margin:0 0 24px}
.booking-mascot{display:block;width:min(100%,390px);height:auto;margin:0 auto;transform:rotate(-3deg)}
.session-form{gap:25px;min-width:0}
.session-form label{font-size:clamp(17px,1.3vw,21px);gap:12px}
.session-form input,.session-form textarea{font-size:18px;padding:18px;min-height:60px;border:1px solid var(--cream);border-radius:0;background:#fbf2cb0b}
.session-form textarea{min-height:220px}
.session-form input:focus,.session-form textarea:focus{background:#fbf2cb18}
.session-form button{min-height:62px;font-size:17px;padding:19px 32px}
.form-note{font-size:14px;max-width:52ch}
.session-form>a{font-size:16px;overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:5px}
.booking-page .compact-footer{margin-top:auto}
@media(min-width:1700px){.booking-main{padding-top:70px;padding-bottom:110px}.booking-mascot{width:440px}.session-form{gap:30px}.session-form textarea{min-height:260px}}
@media(max-width:800px){
 .booking-main{max-width:620px;width:88%;padding:35px 0 60px}
 .booking-layout{grid-template-columns:1fr;gap:40px}
 .booking-reels{margin-bottom:35px}
 .booking-intro h1{font-size:clamp(48px,9vw,70px)}
 .booking-intro h1 br{display:initial}
 .booking-mascot{width:250px}
 .session-form{gap:22px}
 .session-form textarea{min-height:180px}
 .session-form button{width:100%}
}
@media(prefers-reduced-motion:reduce){.booking-mascot{transform:none}}
