/* A dedicated reservation area, followed by a separate editorial introduction. */
.booking-wrap.wrap{width:100%;margin:0;padding:64px max(32px,calc((100% - 1168px)/2));background:#edf3ef;border-bottom:1px solid #dae6df}
.booking-wrap .booking-form{display:grid;grid-template-columns:270px minmax(0,1fr);column-gap:48px;row-gap:24px;margin:0;padding:40px;background:#fff;border:1px solid #dce5de;border-radius:12px;box-shadow:none}
.booking-wrap .booking-heading{grid-column:1;grid-row:1/span 4;display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:20px;margin:0;padding-right:18px;border-right:1px solid #e4ebe5}
.booking-wrap .booking-heading h2{font-size:33px;line-height:1.2;letter-spacing:-1.3px;font-weight:500;color:#173f40}
.booking-wrap .booking-heading p{font-size:16px;line-height:1.75;color:#59706b}
.booking-wrap .booking-heading span{display:block;font-size:12px;line-height:1.7;color:#6d7f77;margin-top:auto;padding-top:18px;max-width:27ch}
.booking-wrap .booking-fields{grid-column:2;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:end;margin-top:0!important}
.booking-wrap .booking-fields label{font-size:13px;font-weight:500;gap:10px;color:#3d5b52;min-width:0}
.booking-wrap .booking-fields input,.booking-wrap .booking-fields select{height:52px;border:1px solid #d5e0d7;border-radius:6px;background:#fafcf9;font-size:15px;padding:10px;width:100%;min-width:0}
.booking-wrap .booking-fields .button{width:100%;min-height:52px;font-size:14px;padding:12px 10px;border-radius:6px;white-space:normal;line-height:1.4}
.booking-wrap .form-note{grid-column:2;font-size:12px;line-height:1.8;color:#687a71;margin:0;max-width:80ch;border-top:1px solid #e4ebe5;padding-top:20px}
.booking-wrap .form-note a{text-decoration:underline;text-underline-offset:3px}
.booking-wrap .booking-form>p[role]{grid-column:2;padding:12px;background:#edf3ef;border-radius:6px}
.home-hero~.intro{padding-block:85px 80px;margin-block:0;background:white}
.home-hero~.intro .intro-grid{gap:75px;align-items:start;grid-template-columns:1.1fr 1fr}
.home-hero~.intro .intro-grid h2{font-size:44px;line-height:1.2;max-width:19ch;letter-spacing:-1.8px}
.home-hero~.intro .intro-grid p{font-size:18px;line-height:1.85;color:#63746c}
.home-hero~.intro .section-kicker{font-size:14px;color:#53756b;margin-bottom:25px}
.home-hero~.intro .amenity-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:25px;background:none;border-radius:0;border-top:1px solid #dce5de;padding:32px 0 0;margin-top:48px}
.home-hero~.intro .amenity-strip span{width:auto;font-size:15px;gap:12px;line-height:1.4}
.home-hero~.intro .amenity-strip svg{width:28px;height:28px;color:#35655c}
@media(max-width:1100px){.booking-wrap .booking-form{grid-template-columns:230px minmax(0,1fr);gap:25px;padding:30px}.booking-wrap .booking-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.booking-wrap .booking-heading h2{font-size:30px}.booking-wrap .booking-heading{grid-row:1/span 4}.home-hero~.intro .intro-grid{gap:40px}.home-hero~.intro .intro-grid h2{font-size:38px}.home-hero~.intro .amenity-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.booking-wrap.wrap{padding:35px 18px 40px}.booking-wrap .booking-form{display:flex;flex-direction:column;gap:24px;padding:26px 21px;border-radius:10px}.booking-wrap .booking-heading{border:0;border-bottom:1px solid #e4ebe5;padding:0 0 24px;gap:15px}.booking-wrap .booking-heading h2{font-size:29px;line-height:1.25;max-width:18ch}.booking-wrap .booking-heading p{font-size:16px;line-height:1.75}.booking-wrap .booking-heading span{display:none}.booking-wrap .booking-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px 12px;width:100%}.booking-wrap .booking-fields label{font-size:14px}.booking-wrap .booking-fields label:first-child{grid-column:auto}.booking-wrap .booking-fields input,.booking-wrap .booking-fields select{font-size:16px;height:52px;padding:9px}.booking-wrap .booking-fields:has(select) label:first-child,.booking-wrap .booking-fields:has(select) label:last-child{grid-column:1/-1}.booking-wrap .booking-fields .button{grid-column:auto;min-height:52px;font-size:15px}.booking-wrap .form-note{font-size:12px;line-height:1.8;padding-top:22px}.home-hero~.intro{padding-block:52px 55px}.home-hero~.intro .intro-grid{grid-template-columns:1fr;gap:23px}.home-hero~.intro .intro-grid h2{font-size:34px;max-width:20ch}.home-hero~.intro .intro-grid p{font-size:17px}.home-hero~.intro .amenity-strip{gap:25px 15px;margin-top:32px;padding-top:28px}.home-hero~.intro .amenity-strip span{font-size:14px;align-items:flex-start;gap:10px}.home-hero~.intro .amenity-strip svg{width:24px;height:24px}}
