.contact-hero .container{padding-bottom:96px}.contact-hero h1{max-width:16ch}.contact-hero .lede{max-width:64ch}.contact-layout{grid-template-columns:1.1fr .9fr;align-items:stretch;gap:28px;padding-block:88px 96px;display:grid}.contact-form-card{border:1px solid var(--rule);background:#fff;border-radius:18px;flex-direction:column;min-width:0;padding:44px 44px 40px;display:flex}.form-content{flex-direction:column;flex:1;gap:26px;display:flex}.form-heading{gap:10px}.form-heading h2{letter-spacing:-.015em;font-size:32px}#contact-form{flex:1;grid-template-rows:auto auto 1fr auto;grid-template-columns:1fr 1fr;gap:18px 20px;display:grid}#contact-form label{color:var(--navy);flex-direction:column;gap:8px;min-width:0;font-size:14px;font-weight:500;display:flex}#contact-form input:not([type=hidden]),#contact-form textarea{width:100%;min-width:0;color:var(--navy);border:1px solid var(--on-dark);background:var(--paper);border-radius:10px;outline:none;padding:14px 16px;font-size:16px;font-weight:400;transition:background-color .15s,border-color .15s}#contact-form input:focus,#contact-form textarea:focus{border-color:var(--cyan);background:#fff;box-shadow:0 0 0 2px #24a7c433}#contact-form [aria-invalid=true]{border-color:#a32828!important}#contact-form .message-field{grid-column:1/-1;min-height:0}#contact-form textarea{resize:vertical;flex:1;min-height:160px;line-height:1.55}.form-footer{grid-column:1/-1;justify-content:space-between;align-items:center;gap:20px;padding-top:4px;display:flex}.form-footer>span{color:var(--muted);font-size:14px;line-height:1.5}.form-footer .button{flex-shrink:0;align-self:center;padding:16px 30px}.honeypot{display:none!important}.field-error{color:#a32828;font-size:13px;font-weight:400}.form-error{color:#7c2020;background:#fff3f0;border-left:3px solid #a32828;grid-column:1/-1;padding:12px 16px;font-size:15px;line-height:1.5}.form-success{gap:16px;padding-block:40px}.form-success h2{font-size:30px}.form-success p{max-width:44ch}.success-check{background:var(--teal);width:52px;height:52px;color:var(--navy);border-radius:50%;justify-content:center;align-items:center;font:600 24px Outfit,sans-serif;display:flex}.reset-form{color:var(--deep-teal);border:0;border-bottom:2px solid var(--teal);background:0 0;align-self:flex-start;padding:0 0 3px;font-size:15px;font-weight:500}.contact-options{flex-direction:column;gap:28px;min-width:0;display:flex}.booking-card{border-radius:18px;gap:14px;padding:40px 36px;position:relative;overflow:hidden}.booking-card .glow{opacity:.35;width:240px;height:240px;top:auto;bottom:-90px;right:-70px}.booking-card>:not(.glow){position:relative}.booking-card h2{letter-spacing:-.015em;font-size:30px}.booking-card p{font-size:16px;line-height:1.6}.booking-card .button{margin-top:6px;padding:16px 28px}.direct-card{background:var(--sand);border-radius:18px;gap:22px;padding:36px}.direct-heading{gap:8px}.direct-heading h2{font-size:26px}.contact-details{border-top:1px solid #dcd6c8;margin:0}.contact-details>div{border-bottom:1px solid #dcd6c8;grid-template-columns:90px minmax(0,1fr);gap:16px;padding-block:16px;display:grid}.contact-details dt{letter-spacing:.14em;color:var(--muted);text-transform:uppercase;padding-top:4px;font:500 11px JetBrains Mono,monospace}.contact-details dd{margin:0}.contact-details a{color:var(--navy);overflow-wrap:anywhere;font-family:Outfit,sans-serif;font-size:19px}.contact-details a:hover{color:var(--deep-teal)}.availability{gap:8px}.availability h3{font-size:18px}.availability p{font-size:15px;line-height:1.65}.no-script{font-size:15px}@media (width<=1100px){.contact-form-card{padding:32px}.form-footer{flex-direction:column;align-items:flex-start}.form-footer .button{align-self:flex-start}}@media (width<=1023px){.contact-layout{grid-template-columns:1fr;padding-block:72px}.form-footer{flex-direction:row;align-items:center}.contact-form-card{min-height:600px}}@media (width<=767px){.contact-hero .container{padding-bottom:64px}.contact-layout{gap:24px;padding-block:60px}.contact-form-card{min-height:0;padding:28px 24px}.form-heading h2{font-size:28px}#contact-form{grid-template-rows:auto;grid-template-columns:1fr}.form-footer{flex-direction:column;align-items:stretch;gap:16px}.form-footer .button{align-self:stretch}.booking-card,.direct-card{padding:32px 24px}.booking-card h2{font-size:28px}.contact-details>div{grid-template-columns:58px minmax(0,1fr);gap:12px}.contact-details a{font-size:18px}.contact-options{gap:24px}.form-success{padding-block:16px}}
