/* Shared reservation layout: the page scrolls while the introduction stays in view. */
#main .reservation{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);gap:clamp(40px,5vw,90px);align-items:start}
#main .reservation>.reservation-intro{position:sticky;top:112px;align-self:start;padding-top:0;min-width:0}
#main .reservation-intro :is(h1,h2){font-family:var(--font-sans);font-size:var(--type-section);font-weight:var(--weight-heading);line-height:var(--leading-heading);letter-spacing:var(--tracking-heading)}
#main .reservation .reservation-form{min-width:0;margin:0;padding:48px;border:1px solid var(--line);background:var(--soft)}
#main .reservation .form-row{gap:24px}
#main .reservation .topic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
#main .reservation .topic-grid label{min-height:0}
@media(max-width:1000px){#main .reservation{grid-template-columns:1fr;gap:32px}#main .reservation>.reservation-intro{position:static;grid-row:auto}#main .reservation .reservation-form{grid-row:auto}}
@media(max-width:760px){#main .reservation .reservation-form{padding:24px}#main .reservation .form-row{grid-template-columns:1fr;gap:0}}
