.booking-landing{max-width:1400px;color:var(--ink);margin:auto;padding:45px 5vw 80px}.booking-landing-heading{text-align:center;max-width:1040px;margin:0 auto 36px}.booking-landing-heading>.eyebrow{justify-content:center;margin-bottom:14px;font-size:14px;line-height:1.5}.booking-landing-heading h1{letter-spacing:-.025em;font-size:clamp(46px,5.5vw,76px);line-height:1.04}.booking-landing-heading h1 em{color:#798a72}.booking-landing-heading>p{color:#626d60;margin:17px 0 20px;font-size:18px;line-height:1.6}.booking-landing-reassurance{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px 23px;font-size:14px;line-height:1.5;display:flex}.booking-landing-reassurance>span{align-items:center;gap:8px;display:inline-flex}.booking-landing-reassurance svg{flex:none}.booking-landing-layout{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);align-items:start;gap:32px;display:grid}.booking-landing-main,.booking-landing-aside{min-width:0}.booking-inline{background:#fffdf6;border:1px solid #bdc4b5;border-radius:12px;scroll-margin-top:110px;overflow:hidden}.booking-inline .dialog-inner{min-height:0;display:block}.booking-inline .booking-content{min-width:0;padding:30px}.booking-inline .booking-content>.eyebrow,.booking-inline .booking-content[data-step="1"]>.eyebrow{letter-spacing:.1em;color:#62715d;margin:0 0 10px;font-size:14px;line-height:1.5;display:flex}.booking-inline .booking-content>h2,.booking-inline .booking-content[data-step="1"]>h2{margin:0 0 24px;font-size:36px;line-height:1.15;display:block}.booking-inline .booking-content>h2:focus{outline:none}.booking-inline .booking-content .segmented.booking-stay-choices{background:0 0;border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 24px;padding:0;display:grid;overflow:visible}.booking-inline .booking-stay-choices>button{background:var(--cream);min-width:0;color:var(--ink);text-align:start;border:1px solid #98a38f;border-radius:7px;flex-direction:column;align-items:stretch;padding:0;font-size:16px;font-weight:500;line-height:1.4;display:flex;position:relative;overflow:hidden}.booking-inline .booking-stay-choices>button.active{border:2px solid var(--forest);color:var(--ink);background:#e8eddf}.booking-inline .booking-stay-choices .web-photo{aspect-ratio:1.8;width:100%;display:block;overflow:hidden}.booking-inline .booking-stay-choices img{object-fit:cover;width:100%;height:100%;display:block}.booking-inline .booking-stay-choices>button>span:not(.web-photo){padding:12px 13px}.booking-inline .booking-stay-choices>button>svg{background:var(--forest);width:28px;height:28px;color:var(--cream);border-radius:50%;padding:5px;position:absolute;inset-block-start:9px;inset-inline-end:9px}.booking-inline .field-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px;display:grid}.booking-inline .field-row>label,.booking-inline .field-row>.guest-field{flex-basis:auto;min-width:0;max-width:none}.booking-inline .field-row>.guest-field{grid-column:1/-1}.booking-inline label{letter-spacing:.015em;color:var(--ink);font-size:14px;line-height:1.5}.booking-inline label>input,.booking-inline label>select,.booking-inline label>textarea{width:100%;min-width:0;min-height:48px;color:var(--ink);background:#fffef9;border:1px solid #768372;border-radius:6px;margin:6px 0 14px;padding:10px 12px;font-size:16px;line-height:1.5}:is(.booking-inline input:focus-visible,.booking-inline select:focus-visible,.booking-inline textarea:focus-visible){outline:2px solid var(--forest);outline-offset:2px}.booking-inline .calendar-wrap{margin:8px 0 20px}.booking-inline .calendar-day{min-height:44px;font-size:16px}.booking-inline .calendar-heading{font-size:16px;line-height:1.5}.booking-inline .calendar-grid .weekday,.booking-inline .calendar-legend,.booking-inline .calendar-legend span{font-size:14px;line-height:1.5}.booking-inline .calendar-heading .icon-button{min-width:44px;min-height:44px}.booking-inline .button{white-space:normal;min-height:50px;font-size:16px;line-height:1.5}.booking-inline .fine-print{color:#5e6a59;margin:10px 0 0;font-size:14px;line-height:1.55}.booking-inline .fine-print+.fine-print{margin-top:4px}.booking-inline .quote-box{margin:0 0 24px}.booking-inline .quote-box>small,.booking-inline .optional,.booking-inline .consent{font-size:14px;line-height:1.6}.booking-inline .consent input{flex:none;width:20px;height:20px;min-height:0;margin:3px 0 0;padding:0}.booking-inline .form-error{font-size:16px;line-height:1.6}.booking-inline .booking-success{font-size:16px;line-height:1.7}.booking-inline .booking-success dl{overflow-wrap:anywhere}.booking-landing-aside{gap:22px;display:grid}.booking-landing-retreat{background:#e9e8dd;border:1px solid #ccd0c2;border-radius:12px;overflow:hidden}.booking-landing-retreat>.web-photo{aspect-ratio:1.65;width:100%;display:block;overflow:hidden}.booking-landing-retreat>.web-photo img{object-fit:cover;width:100%;height:100%}.booking-landing-retreat-copy{padding:24px}.booking-landing-retreat-copy>.eyebrow{letter-spacing:.1em;margin-bottom:12px;font-size:14px;line-height:1.5}.booking-landing-retreat h2{margin:0 0 20px;font-size:34px;line-height:1.12}.booking-landing-comforts{flex-wrap:wrap;gap:15px 24px;margin:0;padding:0;font-size:16px;line-height:1.5;list-style:none;display:flex}.booking-landing-comforts li{align-items:center;gap:8px;display:flex}.booking-landing-retreat-copy>p{color:#5f6c58;margin:14px 0 18px;font-size:14px;line-height:1.6}.booking-landing-stay-links{gap:9px;display:grid}.booking-landing-stay-links a,.booking-landing-review>a,.booking-landing-details a{text-underline-offset:4px;align-items:center;gap:8px;font-size:14px;line-height:1.6;text-decoration:underline;display:flex}.booking-landing-aside a svg{flex:none}.booking-landing-review{background:var(--forest);color:var(--cream);border-radius:12px;padding:26px}.booking-landing-rating{color:#e2d5af;align-items:center;gap:8px;font-size:14px;line-height:1.5;display:flex}.booking-landing-rating strong{font-size:20px}.booking-landing-review blockquote{font:500 22px/1.5 var(--serif);overflow-wrap:break-word;margin:18px 0}.booking-landing-reviewer{margin:0 0 14px;font-size:14px;font-weight:600;line-height:1.5}.booking-landing-review>a{color:#e3e9d9;margin-top:9px}.booking-landing-contact{padding:5px 2px}.booking-landing-contact h2{margin:0 0 15px;font-size:30px;line-height:1.2}.booking-landing-contact a{text-underline-offset:4px;align-items:center;gap:10px;width:fit-content;min-height:44px;font-size:16px;line-height:1.5;text-decoration:underline;display:flex}.booking-landing-details{border-top:1px solid #bdc4b5;border-bottom:1px solid #bdc4b5;font-size:16px;line-height:1.65}.booking-landing-details summary{cursor:pointer;min-height:48px;padding:13px 0;font-weight:500}.booking-landing-details>div{padding-bottom:20px}.booking-landing-details dl{grid-template-columns:1fr auto;gap:6px;margin:0 0 16px;font-size:14px;display:grid}.booking-landing-details dd{margin:0}.booking-landing-details p{margin:12px 0;font-size:14px;line-height:1.65}.booking-landing-details a{margin-top:16px}.booking-landing-nojs{margin:20px 0;font-size:16px;line-height:1.6}@media (max-width:1100px){.booking-landing{padding-inline:4vw}.booking-landing-layout{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:22px}.booking-inline .booking-content{padding:24px}.booking-landing-retreat-copy{padding:20px}.booking-landing-review{padding:22px}}@media (max-width:900px){.booking-landing-layout{grid-template-columns:minmax(0,1fr)}.booking-landing-aside{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.booking-landing-heading{margin-bottom:28px}.booking-landing-aside>section,.booking-landing-aside>details{min-width:0}}@media (max-width:600px){.booking-landing{padding:26px 16px 45px}.booking-landing-heading{margin-bottom:22px}.booking-landing-heading h1{font-size:44px;line-height:1.05}.booking-landing-heading>.eyebrow{margin-bottom:10px}.booking-landing-heading>p{margin:14px 0;font-size:16px;line-height:1.6}.booking-landing-reassurance{gap:9px 14px}.booking-landing-reassurance>span:last-child{justify-content:center;width:100%}.booking-inline .booking-content{padding:20px 16px}.booking-inline .booking-content>h2,.booking-inline .booking-content[data-step="1"]>h2{margin-bottom:18px;font-size:28px;line-height:1.15}.booking-inline .booking-content .segmented.booking-stay-choices{gap:10px;margin-bottom:20px}.booking-inline .booking-stay-choices>button{font-size:14px}.booking-inline .booking-stay-choices>button>span:not(.web-photo){padding:10px}.booking-inline .field-row{gap:0 10px}.booking-inline label>input,.booking-inline label>select{padding-inline:6px}.booking-inline .calendar-day{min-height:44px;font-size:16px}.booking-inline .calendar-heading{font-size:16px}.booking-inline .calendar-weekdays{font-size:14px}.booking-landing-aside{grid-template-columns:minmax(0,1fr);gap:22px}.booking-landing-contact{padding:2px 4px}.booking-landing-retreat>.web-photo{aspect-ratio:1.8}.booking-landing-review blockquote{font-size:24px}.booking-inline .consent{gap:10px}}@media (prefers-reduced-motion:reduce){.booking-inline{scroll-behavior:auto}}.booking-inline .calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr))}.booking-inline .calendar-day{min-width:0;padding-inline:0}.booking-inline .calendar-heading strong{text-align:center;overflow-wrap:anywhere;min-width:0}.booking-inline .calendar-legend{flex-wrap:wrap;gap:7px 14px}.booking-inline .calendar-loading{font-size:14px;line-height:1.5}@media (max-width:360px){.booking-inline .field-row{grid-template-columns:minmax(0,1fr)}}.booking-inline .booking-calendar-pending{background:#f7f6ee;border:1px solid #cbd1c2;border-radius:6px;min-height:360px}
