
.booking-page .header{display:flex;max-width:1380px}.booking-page .header-contact{justify-self:auto}.booking-main{max-width:1380px;margin:0 auto;padding:70px 5% 95px}.booking-intro{max-width:860px;margin:0 auto 58px;text-align:center}.booking-intro h1{font:normal clamp(38px,4.7vw,64px)/1.12 Georgia,serif;letter-spacing:-1.8px;color:var(--wine);white-space:normal;text-wrap:balance;margin:0 0 24px}.booking-intro>p:last-child{font-size:19px;line-height:1.72;color:var(--muted);margin:0}.booking-layout{display:grid;grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);gap:26px;align-items:start}.booking-panel{background:#fffdf9;border:1px solid var(--stone);padding:38px 40px 42px;min-width:0}.booking-panel-head{display:flex;align-items:baseline;gap:15px;border-bottom:1px solid var(--rose);padding-bottom:18px;margin-bottom:21px}.booking-panel-head span{color:var(--wine);font-size:12px;letter-spacing:2px}.booking-panel h2{font:normal 32px/1.2 Georgia,serif;color:var(--wine);letter-spacing:-.5px;margin:0}.booking-note{font-size:14px;line-height:1.7;color:var(--muted);margin:0 0 28px}.calendar{border:1px solid var(--stone);padding:23px 20px;margin:0 0 28px}.calendar-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:23px}.calendar-head h3{font:normal 24px/1.2 Georgia,serif;color:var(--wine);margin:0;text-align:center}.calendar-head button{width:42px;height:42px;border:1px solid var(--rose);background:var(--paper);color:var(--wine);font-size:20px;cursor:pointer}.calendar-head button:disabled{opacity:.3;cursor:default}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;text-align:center}.calendar-weekdays{color:var(--muted);font-size:12px;margin-bottom:9px}.calendar-day{aspect-ratio:1;min-height:38px;border:1px solid transparent;background:transparent;color:var(--ink);font:15px Arial,sans-serif;cursor:pointer}.calendar-day:hover:not(:disabled){border-color:var(--rose);background:var(--paper)}.calendar-day:disabled{color:#afa5a5;cursor:default}.calendar-day[aria-pressed=true]{background:var(--wine);color:white}.booking-label,.booking-fields label{display:block;font-size:14px;font-weight:600;color:var(--wine)}.booking-label{margin-bottom:9px}.booking-fields{display:grid;grid-template-columns:1fr 1fr;gap:9px 16px}.booking-fields label{grid-column:1/-1;margin-top:8px}.booking-fields small{font-size:12px;font-weight:normal;color:var(--muted);margin-left:5px}.booking-fields input,.booking-fields textarea,.booking-panel select{width:100%;border:1px solid #c8b9b4;border-radius:0;background:white;color:var(--ink);font:16px/1.4 Arial,sans-serif;padding:13px 14px;min-height:50px}.booking-fields input,.booking-fields textarea{grid-column:1/-1}.booking-fields textarea{resize:vertical;min-height:120px}.booking-fields input:focus,.booking-fields textarea:focus,.booking-panel select:focus{outline:2px solid var(--wine);outline-offset:2px}.booking-panel select{appearance:auto}.booking-footnote{margin:17px 0 0;padding:18px 0 0;border-top:1px solid var(--stone)}.booking-privacy{font-size:12px;line-height:1.6;color:var(--muted);margin:26px 0 0}.booking-status{font-size:14px;line-height:1.6;min-height:0;margin:18px 0 0;color:var(--wine)}.booking-status:empty{display:none}.booking-status.is-error{color:#a12632}.booking-submit{border:0;cursor:pointer;min-height:54px;margin-top:20px;font-size:15px}.booking-submit:disabled{opacity:.6;cursor:wait}.booking-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.booking-contact{text-align:center;color:var(--muted);margin:43px auto 0;font-size:15px}.booking-contact a{color:var(--wine);border-bottom:1px solid var(--rose)}@media(max-width:860px){.booking-main{padding-top:55px}.booking-layout{grid-template-columns:1fr;max-width:640px;margin:auto}.booking-intro{max-width:680px}.booking-panel{padding:31px 30px}}@media(max-width:650px){.booking-page .header{display:flex}.booking-main{padding:43px 6% 65px}.booking-intro{margin-bottom:36px}.booking-intro h1{font-size:37px}.booking-intro>p:last-child{font-size:16px}.booking-layout{gap:18px}.booking-panel{padding:27px 20px}.booking-panel h2{font-size:27px}.booking-note{font-size:13px}.calendar{padding:18px 11px}.calendar-head h3{font-size:21px}.calendar-day{min-height:36px;font-size:14px}.booking-contact{font-size:14px;line-height:1.8}}

/* Use the same role scale as the main page, including mobile sizes. */
.booking-intro h1{font-family:var(--font-heading);font-size:var(--type-page-title);line-height:1.12;letter-spacing:-.025em}
.booking-intro>p:last-child{font-family:var(--font-copy);font-size:var(--copy-large);line-height:1.65}
.booking-panel h2{font-family:var(--font-heading);font-size:var(--type-block-title);line-height:1.25;letter-spacing:normal}
.calendar-head h3{font-family:var(--font-heading);font-size:var(--type-item-title);line-height:1.3}
.booking-note,.booking-privacy,.booking-status,.booking-contact{font-family:var(--font-copy);font-size:var(--copy-compact);line-height:1.6}
.booking-label,.booking-fields label,.booking-submit,.calendar-day{font-family:var(--font-copy);font-size:var(--type-control);line-height:1.4}
.booking-fields input,.booking-fields textarea,.booking-panel select{font-family:var(--font-copy);font-size:var(--type-control);line-height:1.4}
.booking-panel-head span,.calendar-weekdays,.booking-fields small{font-family:var(--font-copy);font-size:var(--type-label);line-height:1.5}
.calendar{overflow-x:auto}
.calendar-weekdays,.calendar-grid{min-width:calc(14rem + 30px)}
