.contact-section{padding-block:56px 70px;border:0}.contact-layout{align-items:start;grid-template-columns:1fr 1.06fr;gap:72px}.contact-layout .contact-heading{font-family:Georgia,serif;font-size:clamp(2.5rem,4vw,3.7rem);font-weight:400;line-height:1.1;letter-spacing:-.035em;margin:16px 0 22px}.contact-layout .contact-heading em{font-weight:400}.contact-lead{font-size:1.06rem;line-height:1.65;max-width:480px}.contact-meta{margin:22px 0 30px}.contact-meta>div{padding:10px 0}.contact-meta a{overflow-wrap:anywhere}.contact-form{padding:32px}.contact-form .form-row{gap:18px}.contact-form h3{font-size:1.85rem}.contact-form input,.contact-form textarea,.contact-form select{border-radius:4px}.contact-form textarea{min-height:145px}.contact-form .button{width:100%;justify-content:space-between;min-height:50px}.contact-form .button:disabled{cursor:wait;opacity:.75}.contact-form .form-status:not(:empty){padding:14px;border-left:3px solid #a6c159;background:#eef4df;color:#243329}.contact-form .form-status[data-state="error"]{border-color:#ab6b42;background:#faf0e8;color:#653d24}.contact-form .form-status[data-state="success"]{border-color:#637d32}.contact-form .form-status:focus{outline:2px solid #91ab3c;outline-offset:3px}.contact-backup{font-size:.875rem;line-height:1.6;margin:20px 0 0;color:var(--muted)}.contact-backup a{text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.website-field{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.booking-card{position:relative;padding:27px 29px;background:#182426;color:#fff;border-radius:6px;overflow:hidden}.booking-card .eyebrow{color:#d7ed78;font-size:.7rem;margin:0 0 19px}.booking-icon{position:absolute;right:24px;top:16px;color:#d7ed78;font-size:40px;font-weight:300}.booking-card h3{font:400 2rem/1.14 Georgia,serif;letter-spacing:-.02em;margin:0 0 18px}.booking-card>p:not(.eyebrow){color:#d3dddc;font-size:.94rem;line-height:1.6;max-width:340px}.booking-details{display:flex;gap:12px;flex-wrap:wrap;font:12px/1.5 Arial,sans-serif;color:#d3dddc;margin:20px 0 22px}.booking-details span+span{border-left:1px solid #52615f;padding-left:12px}.booking-card .booking-button{display:flex;justify-content:space-between;width:100%;background:transparent;border:1px solid #d7ed78;color:#d7ed78;margin:0;font-family:Arial,sans-serif;font-size:.92rem;min-height:48px;opacity:1}.booking-button:disabled{cursor:default}.booking-button:focus-visible{outline:3px solid #fff;outline-offset:3px}
@media(max-width:900px){.contact-layout{grid-template-columns:1fr;gap:34px}.contact-form{max-width:none}.booking-card{max-width:600px}.contact-layout .contact-heading{font-size:3rem}.contact-lead{max-width:640px}}
@media(max-width:600px){.contact-section{padding-block:32px 45px}.contact-layout .contact-heading{font-size:2.55rem}.contact-form{padding:24px 19px}.contact-form .form-row{grid-template-columns:1fr;gap:0}.booking-card{padding:26px 23px}.contact-layout{gap:28px}.contact-form h3{font-size:1.7rem}.contact-meta dd{font-size:.95rem}}
@media(max-width:360px){.contact-layout .contact-heading{font-size:2.3rem}}

.booking-card .booking-external{font-size:.75rem;line-height:1.5;color:#d3dddc;margin:10px 0 0;max-width:none}.booking-card .booking-button:hover{background:#d7ed78;color:#182426}
