.contact-page{background:var(--fine-light)}.contact-hero{background:var(--fine-charcoal);color:#fff;min-height:680px;position:relative;overflow:hidden}.contact-hero-photo{width:100%;height:100%;object-fit:cover;object-position:center;animation:13s ease-out both contactHeroZoom;position:absolute;inset:0}.contact-hero-overlay{background:linear-gradient(90deg,#232d25eb,#232d2578 68%,#232d252e);position:absolute;inset:0}@keyframes contactHeroZoom{0%{transform:scale(1.08)}to{transform:scale(1)}}@media(prefers-reduced-motion:reduce){.contact-hero-photo{animation:none}}.contact-hero-content{z-index:1;min-height:680px;padding-top:220px;padding-bottom:110px;position:relative}.contact-hero h1{max-width:1080px;margin:0;font-size:clamp(3.4rem,4.8vw,5.5rem)}.contact-hero h1 em{color:#e2d3ad;font-family:var(--font-script);font-size:.92em;font-style:italic;font-weight:300}.contact-main{grid-template-columns:1fr .95fr;gap:10vw;padding-top:130px;padding-bottom:140px;display:grid}.contact-details h2,.contact-form-card h2{margin:0 0 45px;font-size:clamp(3rem,4.5vw,5rem)}.contact-block{border-top:1px solid var(--fine-line);padding:28px 0}.contact-block>span{letter-spacing:.18em;text-transform:uppercase;margin-bottom:8px;font-size:.64rem;font-weight:600;display:block}.contact-block p,.contact-block address{color:#646764;margin:0 0 14px;font-style:normal}.contact-block a{color:var(--fine-green)}.contact-phone{min-height:48px;align-items:center;font-family:var(--font-playfair),Georgia,serif;font-size:clamp(1.8rem,3vw,2.3rem);display:inline-flex}.contact-email{min-height:48px;align-items:center;overflow-wrap:anywhere;display:inline-flex}.contact-form-card{background:var(--fine-green);color:#fff;padding:clamp(34px,5vw,70px)}.contact-form-card>p{color:#ffffffd1;margin:-25px 0 0}.contact-form{gap:22px;margin-top:36px;display:grid}.contact-form-row{grid-template-columns:1fr 1fr;gap:20px;display:grid}.contact-field label{letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px;font-size:.68rem;font-weight:600;display:block}.contact-field input,.contact-field select,.contact-field textarea{background:var(--fine-light);color:var(--fine-charcoal);border:1px solid transparent;border-radius:0;width:100%;min-height:52px;padding:12px 14px;font-size:1rem}.contact-field textarea{min-height:150px;resize:vertical}.contact-field input:focus-visible,.contact-field select:focus-visible,.contact-field textarea:focus-visible{border-color:var(--fine-charcoal);outline:3px solid #fff;outline-offset:3px}.contact-submit{background:var(--fine-light);color:var(--fine-charcoal);border:1px solid var(--fine-light);min-height:56px;padding:0 24px;letter-spacing:.1em;text-transform:uppercase;font-size:.72rem;font-weight:600;cursor:pointer;transition:background .3s,color .3s,transform .3s}.contact-submit:hover{background:#fff;transform:translateY(-3px)}.contact-submit:focus-visible{outline:3px solid #fff;outline-offset:4px}.contact-submit:disabled{cursor:wait;opacity:.7}.contact-status{background:var(--fine-light);color:var(--fine-green-dark);padding:16px;margin:0}.contact-area{background:var(--fine-cream);padding-bottom:120px}.contact-area-map{background:var(--fine-cream);width:100%;height:clamp(460px,52vw,650px);overflow:hidden}.contact-map-embed,.contact-area-map iframe{border:0;width:100%!important;height:100%!important;display:block}.contact-area-panel{background:var(--fine-light);grid-template-columns:.9fr 1.1fr;gap:clamp(50px,9vw,130px);margin-top:-110px;padding:clamp(42px,6vw,82px);position:relative;z-index:1;display:grid}.contact-area h2{margin:0;font-size:clamp(3rem,4.6vw,5rem)}.contact-area h2 em{color:var(--fine-green)}.contact-area-copy>p{color:#626562;margin:0}.contact-area-copy>.fine-text-link{margin-top:28px}.contact-area-tags{flex-wrap:wrap;gap:10px;margin-top:30px;display:flex}.contact-area-tags span{color:var(--fine-green);border:1px solid #4c5a4b4d;border-radius:40px;padding:9px 15px;font-size:.75rem}@media(max-width:800px){.contact-hero-photo{animation:none}.contact-hero,.contact-hero-content{min-height:620px}.contact-hero-content{padding-top:180px;padding-bottom:90px}.contact-main,.contact-area-panel{grid-template-columns:1fr;gap:50px}.contact-main{padding-block:90px}.contact-area{padding-bottom:90px}.contact-area-map{height:480px}.contact-area-panel{margin-top:0;padding-block:64px}}@media(max-width:520px){.contact-hero h1{font-size:3.25rem}.contact-form-card{padding:34px 24px}.contact-form-row{grid-template-columns:1fr}.contact-submit{width:100%}.contact-area-map{height:420px}}
