/* Keep Surpl's visual language; let content fit instead of clipping it. */
*,*::before,*::after{box-sizing:border-box}
img,video,canvas{max-width:100%}
input,select,textarea{max-width:100%;min-width:0}
.hero-feedback{flex-basis:100%;color:inherit;font-size:14px;text-decoration:underline;text-underline-offset:4px;line-height:1.6}
.feedback-invite{background:var(--cream-dim,#f2eadc)}
.feedback-invite__in{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:center}
.feedback-invite .btn{white-space:normal;text-align:center}
.section .container>*{min-width:0}
@media(max-width:900px){
  .home-page .nav__links{display:none}
  .home-page .nav__burger{display:flex}
  .mobile-menu{max-height:100dvh;overflow-y:auto;padding-bottom:max(30px,env(safe-area-inset-bottom))}
  .home-page .section{padding:56px var(--pad)}
  .home-page .feedback-invite__in{grid-template-columns:minmax(0,1fr);gap:24px}
  .home-page .feedback-invite .btn{justify-self:start}
}
@media(max-width:700px){
  .home-page .scene-caption{left:0;right:0;top:auto;bottom:0;width:100%;transform:none}
  .home-page .roll3d.is-3d .roll3d__scene{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding:10px var(--pad) 24px;height:auto;min-height:0;perspective:none}
  .home-page .roll3d.is-3d .roll3d__ring{display:contents}
  .home-page .roll3d.is-3d .roll3d__card{position:relative;inset:auto;flex:0 0 min(300px,calc(100vw - 48px));transform:none!important;opacity:1!important;pointer-events:auto;scroll-snap-align:center}
  .home-page .roll3d.is-3d .roll3d__card-in{min-height:360px}
  .home-page .roll3d.is-3d .roll3d__foot{display:none}
  .home-page{--pad:20px}
  .home-page .hero__content{width:100%;min-width:0}
  .home-page .h1,.home-page .h2{overflow-wrap:normal;word-break:normal}
  .home-page .h2{font-size:clamp(30px,8vw,42px);line-height:1.15}
  .home-page .hero__ctas{flex-wrap:wrap}
  .home-page .btn{white-space:normal;line-height:1.45;height:auto;text-align:center}
  .home-page .hero__chips{flex-wrap:wrap}
  .home-page .waitlist,.home-page .deal-alerts__form{display:flex;flex-direction:column;align-items:stretch}
  .home-page .waitlist input,.home-page .waitlist button{width:100%}
  .home-page .cities__in,.home-page .vendors__layout,.home-page .happy__in,.home-page .faq__layout{grid-template-columns:minmax(0,1fr);gap:32px}
  .home-page .citymap{width:100%;max-width:100%;min-width:0}
  .home-page .footer__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
  .home-page .footer__grid>div:first-child{grid-column:1/-1}
  .home-page .footer__bar{flex-wrap:wrap}
  .home-page .footer a,.home-page .sub,.home-page .why__p{overflow-wrap:anywhere}
  .home-page .faq__item summary{padding:16px;gap:12px}
  .home-page .faq__item summary h3{min-width:0}
  .home-page .faq__item p{padding:0 16px 18px}
  .booking-modal__panel{max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow-y:auto;margin-block:12px;padding:24px 20px}
  .form-grid,.vendor-form__row{grid-template-columns:minmax(0,1fr)}
  .home-page .vendors__layout{margin-top:32px}
  .home-page .vstats{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:24px}
  .home-page .vstat{padding:18px 14px}
  .home-page .ben>div,.home-page .onboard li,.home-page .sticky-cta__txt{min-width:0;overflow-wrap:anywhere}
  .home-page .form-card{padding:24px 20px}
  .home-page .sticky-cta{gap:10px;left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));padding:12px}
  .home-page .sticky-cta__btn{padding:10px 14px;font-size:13px}
  .home-page .footer{padding-bottom:calc(132px + env(safe-area-inset-bottom))}
  input,select,textarea{font-size:16px}
}
@media(max-width:380px){
  .home-page{--pad:16px}
  .home-page .hero__ctas>.btn{width:100%;justify-content:center}
  .home-page .nav__cta>.btn{display:none}
  .home-page .footer__grid{grid-template-columns:minmax(0,1fr)}
}
