.contact-intro{display:grid;grid-template-columns:1.35fr 1fr;align-items:center;gap:8%;padding-top:60px;padding-bottom:55px}
.contact-intro .eyebrow{color:var(--muted);margin-bottom:23px}
.contact-intro h1{font-size:clamp(51px,5.4vw,80px);line-height:1.08}
.contact-intro h1 em{color:#677957}
.contact-welcome{display:flex;align-items:center;gap:23px}
.contact-welcome img{width:105px;height:105px;border-radius:50%;flex-shrink:0}
.contact-welcome p{font:23px/1.45 var(--serif)}
.contact-welcome span{display:block;font:italic 21px var(--serif);color:#677957;margin-top:17px}
.contact-planning{background:#eaece3}
.contact-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.35fr);align-items:start;gap:8%;padding-block:70px}
.contact-aside>.eyebrow{color:var(--muted);margin-bottom:21px}
.contact-aside h2{font-size:clamp(35px,3.3vw,47px);line-height:1.12}
.contact-aside>p:not(.eyebrow){font-size:14px;color:var(--muted);margin-top:24px;max-width:385px}
.consultation-link{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:28px;padding:22px 24px;background:var(--ink);color:var(--paper)}
.consultation-link small{display:block;font-size:8px;letter-spacing:1.4px;color:var(--sand)}
.consultation-link strong{display:block;font:28px/1.3 var(--serif);margin:8px 0}
.consultation-link>span>span{font-size:11px}
.consultation-link b{font-size:26px;font-weight:400}
.consultation-link:hover{background:#22534a}
.contact-direct{margin:28px 0}
.contact-direct>div{padding:18px 0;border-bottom:1px solid #c0cbb8}
.contact-direct dt{font-size:9px;letter-spacing:1.4px;text-transform:uppercase;color:var(--muted)}
.contact-direct dd{margin:6px 0 0;font-size:14px}
.contact-direct a{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:34px;overflow-wrap:anywhere}
.contact-direct a:hover{text-decoration:underline;text-underline-offset:4px}
.contact-direct a span{font-size:19px}
.contact-postcard img{width:100%;height:190px;object-position:center 70%}
.contact-postcard figcaption{font:italic 18px var(--serif);text-align:center;margin-top:14px}
.contact-form-panel{padding:42px 38px;background:var(--paper);border:1px solid #d6ddcd}
.contact-form-panel>.eyebrow{font-size:9px;letter-spacing:1.6px;color:var(--muted);margin-bottom:19px}
.contact-form-panel h2{font-size:clamp(38px,4vw,55px)}
.form-intro{font-size:13px;color:var(--muted);margin-top:20px;max-width:450px}
.form-note{font-size:11px;color:var(--muted);margin:26px 0 18px}
.req{color:#825126}
.contact-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 18px}
.field{min-width:0}
.field[hidden]{display:none}
.field-wide{grid-column:1/-1}
.field label{display:block;font-size:12px;font-weight:700;margin-bottom:8px}
.optional{font-size:10px;font-weight:400;color:var(--muted)}
.field input,.field select,.field textarea{display:block;width:100%;min-width:0;background:#fffef9;border:1px solid #7d8c77;border-radius:0;color:var(--ink);font:16px/1.5 Manrope,Arial,sans-serif;padding:12px;min-height:50px}
.field select{padding-right:24px;text-overflow:ellipsis}
.field textarea{resize:vertical;min-height:170px}
.field input::placeholder,.field textarea::placeholder{color:#6a7767;opacity:1;font-size:13px}
.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.field [aria-invalid="true"]{border-color:#9e3022}
.field-error{display:block;font-size:12px;color:#9e3022;line-height:1.5;margin-top:7px}
.field-error[hidden],.form-status[hidden]{display:none}
.field-hint{display:block;font-size:11px;color:var(--muted);line-height:1.7;margin-top:10px}
.form-status{margin-top:22px;padding:15px 18px;background:#e2e9da;border-left:3px solid var(--ink);font-size:13px;line-height:1.7;overflow-wrap:anywhere}
.form-status[data-state="error"]{background:#f6e9de;border-color:#9e3022;color:#793120}
.form-status a{text-decoration:underline}
.contact-submit{width:100%;margin-top:25px;border:0;cursor:pointer;min-height:58px;text-align:left}
.contact-submit:disabled{opacity:.6;cursor:wait;transform:none}
.form-reassurance{font-size:10px;color:var(--muted);margin-top:15px;line-height:1.7}
.contact-next{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:start}
.contact-next .eyebrow{color:var(--muted);margin-bottom:23px}
.contact-next h2{font-size:clamp(39px,4vw,57px)}
.contact-next ol{list-style:none;padding:0;margin:0}
.contact-next li{display:flex;gap:22px;border-top:1px solid var(--line);padding:23px 0}
.contact-next li>span{font:italic 20px var(--serif);color:#677957;padding-top:5px}
.contact-next h3{font-size:27px;margin-bottom:11px;line-height:1.2}
.contact-next li p{font-size:13px;color:var(--muted)}
@media(max-width:1000px){
 .contact-intro{gap:5%;padding-block:45px}
 .contact-intro h1{font-size:52px}
 .contact-welcome{gap:17px;flex-direction:column;align-items:flex-start}
 .contact-welcome img{width:85px;height:85px}
 .contact-welcome p{font-size:21px}
 .contact-welcome span{margin-top:10px}
 .contact-layout{gap:5%;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
 .contact-form-panel{padding:30px 25px}
 .contact-fields{grid-template-columns:1fr}
 .contact-aside h2{font-size:36px}
 .consultation-link{padding:20px}
 .contact-direct dd{font-size:12px}
}
@media(max-width:650px){
 .contact-intro{display:block;padding-block:40px 35px}
 .contact-intro h1{font-size:clamp(40px,11.5vw,65px)}
 .contact-intro .eyebrow{font-size:9px;letter-spacing:1.3px}
 .contact-welcome{flex-direction:row;align-items:center;margin-top:27px;gap:17px}
 .contact-welcome img{width:74px;height:74px}
 .contact-welcome p{font-size:19px}
 .contact-welcome span{font-size:18px}
 .contact-layout{display:flex;flex-direction:column;gap:40px;padding-block:40px}
 .contact-form-panel{order:-1;width:100%;padding:28px 22px}
 .contact-form-panel h2{font-size:40px}
 .contact-form-panel>.eyebrow{font-size:8px;letter-spacing:1.1px}
 .form-intro{font-size:14px}
 .contact-fields{gap:20px}
 .field label{font-size:13px}
 .field-hint,.form-note,.form-reassurance{font-size:11px}
 .contact-aside{width:100%}
 .contact-aside h2{font-size:39px}
 .contact-direct dd{font-size:14px}
 .contact-direct a{min-height:44px}
 .contact-postcard img{height:auto;aspect-ratio:1.5}
 .contact-next{display:block}
 .contact-next h2{font-size:42px;margin-bottom:30px}
 .contact-next li p{font-size:14px}
}
.form-agreement{margin-top:24px;padding-block:20px;border-block:1px solid #bdc8ba;font-size:13px;line-height:1.7}
.agreement-control{display:flex;align-items:flex-start;gap:12px}
.agreement-control input{appearance:auto;width:22px;height:22px;flex:0 0 22px;margin:4px 0 0;accent-color:#193f3b;cursor:pointer}
.agreement-control label{cursor:pointer;min-height:44px;flex:1;min-width:0}
#agreement-links{display:flex;flex-wrap:wrap;gap:0 18px;margin:8px 0 0 34px}
#agreement-links a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:4px;color:#193f3b}
.form-agreement .field-error{margin-top:10px}
