.footer--compact{padding-top:36px}.footer--compact .footer-top{margin-top:0}.booking-page{max-width:1400px;margin-inline:auto;padding:22px 6% 64px}.booking-page .booking-intro{margin-bottom:32px}.booking-page .booking-intro .eyebrow{margin-bottom:10px;font-size:.75rem}.booking-page .booking-intro h1{font-size:clamp(2.6rem,4.6vw,4.25rem)}.booking-page .booking-intro>p:last-of-type{margin-top:16px;font-size:1rem;line-height:1.6}.booking-page .booking-inline-link{min-height:44px;color:var(--rust);text-underline-offset:4px;align-items:center;gap:12px;font-size:.875rem;text-decoration:underline;display:inline-flex}.booking-page .booking-form-jump{margin-top:6px}.booking-page .booking-layout{align-items:start;gap:30px;display:grid}.booking-page .booking-layout>*{min-width:0}.booking-page .booking-stay-grid{grid-template-columns:minmax(0,1fr);align-items:start;gap:22px;display:grid}.booking-page .booking-stay-grid>*{min-width:0}.booking-page .booking-calendar{padding:0}.booking-page .booking-calendar-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:0 12px;margin-bottom:8px;display:flex}.booking-page .booking-calendar-heading h2{font-size:1.9rem}.booking-page #availability-title,.booking-page #inquiry,.booking-page :is(input,select,textarea){scroll-margin-top:24px}.booking-page .availability-calendar{background:var(--paper);border:0;width:100%;max-width:380px;height:440px;margin-inline:auto;display:block}.booking-page .booking-calendar-note{color:var(--muted);margin-top:10px;font-size:.8125rem;line-height:1.55}.booking-page .booking-calendar-links{flex-wrap:wrap;gap:0 18px;margin-top:4px;display:flex}.booking-page .booking-calendar-links a{text-underline-offset:3px;align-items:center;min-height:44px;font-size:.8125rem;text-decoration:underline;display:inline-flex}.booking-page .booking-form fieldset{margin:0 0 26px}.booking-page .booking-form legend{letter-spacing:0;margin-bottom:18px;padding-bottom:12px;font-size:1.125rem;font-weight:500;line-height:1.4;display:block}.booking-page .booking-step{color:var(--rust);font-variant-numeric:tabular-nums;margin-right:10px;font-size:.8125rem}.booking-page .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.booking-page label{margin-bottom:16px;font-size:.875rem}.booking-page label>:is(input:not([type=checkbox]),select,textarea){border-color:var(--line);background:color-mix(in srgb, var(--paper) 45%, white);margin-top:6px;padding:11px 12px;font-size:1rem;line-height:1.5}.booking-page label>:is(input:not([type=checkbox]),select){min-height:48px}.booking-page :is(input,select,textarea)[aria-invalid=true]{border-color:var(--rust);box-shadow:inset 3px 0 0 var(--rust)}.booking-page .small-print{margin-top:10px;font-size:.8125rem;line-height:1.6}.booking-page #family-note{color:var(--muted)}.booking-page .booking-stay-line{color:var(--rust);font-weight:500}.booking-page .booking-wishes{border-block:1px solid var(--line);margin:0 0 22px;padding:0}.booking-page .booking-wishes>summary{min-height:52px;padding:14px 0;font-size:1rem}.booking-page .booking-wishes>summary::marker{color:var(--rust)}.booking-page .booking-wishes .booking-step{margin-left:5px}.booking-page .booking-wishes-content{padding:4px 0 2px}.booking-page .extra-options{grid-template-columns:minmax(0,1fr);gap:0;display:grid}.booking-page .extra-options label{align-items:center;gap:10px;min-height:44px;margin:0;display:flex}.booking-page .booking-wishes-content>.small-print{margin:4px 0 16px;padding:0}.booking-page .consent{gap:10px;font-size:.8125rem}.booking-page .consent input{min-width:19px}.booking-page .form-status:not(:empty){margin:16px 0;padding:12px 14px;line-height:1.6}.booking-page .inquiry-field-errors{color:var(--rust);margin:12px 0 18px;padding-left:20px}.booking-page .inquiry-field-errors li{margin:6px 0}.booking-page .inquiry-field-errors a{text-underline-offset:3px;text-decoration:underline}.booking-page #send-request{width:100%;min-height:52px}.booking-page .booking-confirmation{color:var(--muted)}.booking-page .booking-form noscript p{margin-top:16px;font-size:.875rem}.booking-page .email-alternative{border-top:1px solid var(--line);margin-top:22px;padding:0}.booking-page .email-alternative>summary{min-height:52px;padding:14px 0;font-size:.9375rem}.booking-page .email-alternative p{margin:0 0 12px;padding:0;font-size:.875rem}.booking-page .email-alternative .button{text-align:center;max-width:100%;margin:8px 0 16px}.booking-page #email-draft{padding:4px 0 12px}.booking-page .copy-button{min-height:44px;margin:0 0 16px}.booking-page #email-draft .copy-button{display:block}.booking-page .booking-personal-contact{color:var(--muted);margin-top:18px;font-size:.875rem}.booking-page .booking-personal-contact a{text-underline-offset:3px;align-items:center;min-height:44px;text-decoration:underline;display:inline-flex}.booking-page .booking-summary{align-self:start;gap:22px;display:grid}.booking-page .booking-summary-sheet{border:1px solid var(--line);background:var(--sand);padding:24px}.booking-page .booking-summary .eyebrow{margin-bottom:8px;font-size:.75rem}.booking-page .booking-summary h2{font-size:2.25rem}.booking-page .booking-summary dl{font-variant-numeric:tabular-nums;gap:14px;margin:18px 0 0;display:grid}.booking-page .booking-summary-dates{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-page .booking-summary-party{border-bottom:1px solid var(--line);grid-template-columns:.75fr 1.25fr .75fr;padding-bottom:16px}.booking-page .booking-summary dt{color:var(--muted);font-size:.75rem}.booking-page .booking-summary dd{overflow-wrap:anywhere;margin:2px 0 0;font-size:1rem;font-weight:500}.booking-page .selected-stay{margin-top:12px}.booking-page .selected-stay p{color:var(--muted);font-size:.75rem;line-height:1.55}.booking-page .booking-price-note{margin-top:16px}.booking-page .booking-price-note span{color:var(--muted);font-size:.75rem;display:block}.booking-page .booking-price-note strong{font-family:var(--display);color:var(--rust);font-size:1.65rem;font-weight:500;line-height:1.2;display:block}.booking-page .booking-house-note{color:var(--muted);margin-top:14px;font-size:.8125rem;line-height:1.55}@media (width>=960px){.booking-page .booking-intro{margin-bottom:36px}.booking-page .booking-form-jump{display:none}.booking-page .booking-layout{grid-template-columns:minmax(0,1fr) minmax(280px,320px);gap:26px clamp(32px,3vw,48px)}.booking-page .booking-summary{position:sticky;top:24px}.booking-page .booking-calendar-links{gap:0 14px}.booking-page .extra-options{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:12px}.booking-page #send-request{width:auto;min-width:240px}}@media (width>=1200px){.booking-page .booking-stay-grid{grid-template-columns:minmax(0,1fr) minmax(260px,.85fr);gap:26px}.booking-page .booking-calendar{border-left:1px solid var(--line);grid-area:1/2;padding-left:20px}.booking-page .booking-date-fields{grid-area:1/1}.booking-page .booking-date-fields fieldset:last-child .form-grid{grid-template-columns:minmax(0,1fr)}.booking-page .booking-calendar-heading{display:block}.booking-page .booking-calendar-heading h2{font-size:1.6rem}.booking-page .booking-calendar-heading .booking-inline-link{font-size:.8125rem}}@media (width<=380px){.booking-page .form-grid{grid-template-columns:minmax(0,1fr)}.booking-page .booking-summary-sheet{padding:18px}.booking-page .booking-wishes>summary .optional{margin-left:42px;display:block}}@media (height<=799px){.booking-page .booking-summary{position:static}}
