.contact-page{background:var(--white);padding:52px 0 var(--section-v)}.contact-inner{max-width:980px;margin:0 auto;padding:0 var(--container-px)}.contact-intro{padding-bottom:38px;border-bottom:1px solid var(--rule)}.contact-intro h1{font-family:var(--font-display);font-size:clamp(36px,4.8vw,58px);font-weight:300;line-height:1;letter-spacing:-.045em;color:var(--ink);margin:12px 0 14px}.contact-intro p{max-width:620px;font-size:15px;line-height:1.7;color:var(--dim)}.contact-section-header{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:20px}.contact-section-header h2{font-family:var(--font-display);font-size:28px;font-weight:300;letter-spacing:-.025em;color:var(--ink)}.contact-booking{padding:42px 0;border-bottom:1px solid var(--rule)}.contact-booking-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.contact-booking-card{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:132px;padding:26px;text-decoration:none;border:1px solid var(--rule);background:var(--chalk);transition:background .2s,border-color .2s,transform .2s}.contact-booking-card:hover{background:var(--white);border-color:rgba(25,115,155,.5);transform:translateY(-1px)}.contact-booking-card h3{font-family:var(--font-display);font-size:24px;font-weight:300;letter-spacing:-.025em;color:var(--ink);margin-bottom:6px}.contact-booking-card p{font-size:13px;line-height:1.45;color:var(--dim)}.contact-booking-card span{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--teal);white-space:nowrap}.contact-note{padding-top:42px}.contact-form{display:flex;flex-direction:column;gap:24px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-field{display:flex;flex-direction:column;gap:6px}.form-label{font-family:var(--font-sans);font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink)}.form-required{color:var(--teal)}.form-optional{font-size:10px;color:var(--dim);font-weight:400;letter-spacing:0;text-transform:none}.form-input,.form-textarea{width:100%;border:1px solid var(--rule);padding:12px 16px;font-family:var(--font-sans);font-size:15px;color:var(--ink);background:var(--white);outline:none;transition:border-color .2s,background .2s;appearance:none}.form-input:focus,.form-textarea:focus{border-color:var(--teal);background:rgba(25,115,155,.025)}.form-input.error,.form-textarea.error{border-color:rgba(192,57,43,.5)}.form-input::placeholder,.form-textarea::placeholder{color:rgba(15,23,42,.3)}.form-textarea{resize:vertical;min-height:150px;line-height:1.65}.form-error{font-size:12px;color:#c0392b;margin-top:4px}.form-consent{display:flex;align-items:flex-start;gap:12px}.form-consent input[type=checkbox]{width:16px;height:16px;flex-shrink:0;margin-top:2px;accent-color:var(--teal);cursor:pointer}.form-consent label{font-size:13px;color:var(--dim);line-height:1.6;cursor:pointer}.form-honeypot{display:none}.form-status-ok{font-size:14px;color:#1a6b3c;padding:12px 16px;background:rgba(26,107,60,.08);border:1px solid rgba(26,107,60,.2)}.form-status-err{font-size:14px;color:#c0392b;padding:12px 16px;background:rgba(192,57,43,.06);border:1px solid rgba(192,57,43,.2)}.contact-small-links{display:flex;flex-wrap:wrap;gap:12px;padding-top:34px;margin-top:42px;border-top:1px solid var(--rule)}.contact-small-links a{display:inline-flex;align-items:center;padding:10px 14px;border:1px solid var(--rule);color:var(--dim);font-size:12px;text-decoration:none;transition:all .2s}.contact-small-links a:hover{color:var(--teal);border-color:rgba(25,115,155,.45);background:rgba(25,115,155,.04)}@media (max-width:780px){.contact-booking-grid,.form-row{grid-template-columns:1fr}.contact-booking-card{min-height:auto}}@media (max-width:640px){.contact-page{padding-top:42px}.contact-intro{padding-bottom:32px}.contact-booking{padding:34px 0}.contact-section-header{display:block}.contact-section-header h2{margin-top:8px}.contact-booking-card{align-items:flex-start;flex-direction:column;gap:18px;padding:22px}}