.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.contact-intro{text-align:center;padding-block:2.5rem 1.25rem}.contact-intro h1{letter-spacing:-.02em;max-width:850px;margin:.75rem auto 1rem;font-size:clamp(2.25rem,4vw,3.5rem);line-height:1.14}.contact-intro .lead{max-width:650px;margin:0 auto;font-size:1rem}.contact-section{padding-bottom:var(--section-space)}.contact-grid{gap:var(--space-large);grid-template-columns:minmax(0,1fr);width:min(100% - 3rem,1120px);display:grid}.contact-details{text-align:center;min-width:0}.contact-details__links{flex-wrap:wrap;justify-content:center;gap:.75rem 3rem;display:flex}.contact-details__links p{margin:0}.contact-details__links span{color:var(--color-accent);text-transform:uppercase;letter-spacing:.06em;font-size:.875rem;display:block}.contact-details__links a{overflow-wrap:anywhere;align-items:center;max-width:100%;min-height:44px;font-size:1rem;line-height:1.6;display:inline-flex}.contact-details__links p{min-width:0;max-width:100%}.contact-details__image{background:var(--color-sand-light);margin:1rem 0 0;position:relative}.contact-details__image img{aspect-ratio:21/9;object-fit:cover;object-position:center 35%;width:100%;height:auto}.contact-details__image figcaption{color:var(--color-muted);background:var(--color-background);letter-spacing:.04em;text-transform:uppercase;padding:.75rem 1rem;font-size:.875rem}.contact-form-panel{background:var(--color-surface);min-width:0;padding:clamp(20px,4vw,48px)}.contact-form-panel h2{margin-bottom:.75rem;font-size:clamp(2rem,3vw,2.75rem);line-height:1.1}.contact-form-note,.contact-flow-note{color:var(--color-muted);font-size:1rem;line-height:1.7}.contact-form-note{margin:0 0 1.5rem}.contact-flow-note{margin:1.5rem 0}.contact-fields,.contact-group,.contact-choice-group{border:0;min-width:0;margin:0;padding:0}.contact-form-panel legend{overflow-wrap:anywhere}.contact-choices label{min-width:0;max-width:100%}.contact-choices label span{overflow-wrap:anywhere;min-width:0}.contact-group{margin-bottom:1.75rem}.contact-group>legend{border-bottom:1px solid var(--color-rule);width:100%;font-family:var(--font-display);margin-bottom:1rem;padding:0 0 .5rem;font-size:clamp(1.5rem,2vw,1.75rem);line-height:1.16}.contact-field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.35rem 1rem;display:grid}.contact-field{min-width:0}.contact-field--wide{grid-column:1/-1}.contact-field label,.contact-choice-group legend,.inquiry-text-label{margin-bottom:.5rem;font-size:.9rem;font-weight:500;line-height:1.6;display:block}.contact-field input,.contact-field select,.contact-field textarea,.inquiry-text{border:1px solid var(--color-control-border);width:100%;min-height:48px;color:var(--color-text);background:var(--color-surface);border-radius:0;padding:.75rem;font-size:1rem;line-height:1.5;display:block}.contact-field select{padding-right:1.5rem}.contact-field textarea,.inquiry-text{resize:vertical}.contact-field :is(input,select,textarea):focus-visible,.inquiry-text:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.contact-field [aria-invalid=true]{border-color:var(--color-error);background:var(--color-error-surface)}.field-error{color:var(--color-error);margin:.4rem 0 0;font-size:.875rem;line-height:1.65}.field-hint{color:var(--color-muted);margin:.4rem 0 0;font-size:.875rem;line-height:1.6}.field-count{text-align:right}.contact-choice-group{margin-top:1.5rem}.contact-choices{flex-wrap:wrap;gap:.55rem;display:flex}.contact-choices label{border:1px solid var(--color-control-border);min-height:44px;color:var(--color-muted);background:var(--color-surface);cursor:pointer;align-items:center;gap:.55rem;padding:.6rem .7rem;font-size:.9rem;line-height:1.5;display:inline-flex}.contact-choices label:has(input:checked){border-color:var(--color-accent);color:var(--color-text);background:var(--color-sand-light)}.contact-choices input{width:18px;height:18px;accent-color:var(--color-accent);flex-shrink:0;margin:0}.contact-choices input:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.contact-choices--rooms{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.contact-preferences>.contact-field-grid{margin-top:1.5rem}.contact-honeypot{display:none}.contact-errors,.contact-notice{border-left:2px solid var(--color-accent);background:var(--color-sand-light);padding:1rem;font-size:.875rem;line-height:1.7}.contact-errors{border-color:var(--color-error);color:var(--color-error);background:var(--color-error-surface);margin-bottom:2rem}.contact-errors p{margin:0 0 .5rem;font-weight:600}.contact-errors ul{margin:0;padding-left:1.1rem}.contact-errors:focus-visible,#review-title:focus-visible{outline:2px solid var(--color-accent);outline-offset:4px}.button-bordered{border-color:var(--color-accent);color:var(--color-text);background:0 0}.button-bordered:hover{background:var(--color-sand-light)}button.button{cursor:pointer}button:disabled{cursor:default;opacity:.65}button:focus-visible{outline:2px solid var(--color-accent);outline-offset:4px}.inquiry-review>.eyebrow{margin-bottom:1rem}.inquiry-envelope{grid-template-columns:auto minmax(0,1fr);gap:.6rem 1rem;margin:2rem 0 1.5rem;font-size:.875rem;line-height:1.7;display:grid}.inquiry-envelope dt{color:var(--color-muted)}.inquiry-envelope dd{overflow-wrap:anywhere;margin:0}.inquiry-text{min-height:420px;font-size:1rem;line-height:1.7}.inquiry-actions{flex-wrap:wrap;align-items:center;gap:.8rem;display:flex}.inquiry-edit{border:0;border-bottom:1px solid var(--color-accent);min-height:44px;color:var(--color-text);cursor:pointer;background:0 0;padding:.6rem .25rem;font-size:.9rem}.inquiry-feedback{margin:1rem 0 0;font-size:.9rem;line-height:1.7}.inquiry-feedback:empty{display:none}@media (width<=960px){.contact-field-grid{grid-template-columns:minmax(0,1fr)}}@media (width<=760px){.contact-intro{padding-block:1.75rem 1rem}.contact-grid{gap:1.5rem;width:calc(100% - 2.5rem)}.contact-details__image img{aspect-ratio:16/9;object-position:center 35%}.contact-form-panel{padding:20px}.contact-choices--rooms{grid-template-columns:minmax(0,1fr)}}@media (width<=440px){.contact-grid{width:calc(100% - 2rem)}.contact-details__links{flex-direction:column;gap:.5rem}.inquiry-text{min-height:440px}}
