.contact-hero{padding:80px 0 54px;border-bottom:1px solid var(--line-mid)}
.contact-hero .eyebrow{color:var(--accent);margin-bottom:28px}
.contact-hero h1{font-size:clamp(3rem,6vw,5.2rem);line-height:1.05;max-width:12em;letter-spacing:-.035em}
.contact-hero h1 em{color:var(--accent);font-weight:400}
.contact-hero .lede{max-width:37em;margin-top:26px;color:var(--tx-soft);font-size:1.13rem}
.contact-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:72px;padding-top:56px;padding-bottom:90px;align-items:start}
.contact-form-shell{min-width:0}
.contact-form-shell h2{font-size:1.75rem;margin-bottom:8px}
.contact-required{font-size:.9rem;color:var(--tx-soft);margin-bottom:28px}
.contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.contact-fields .f-field{margin:0;min-width:0}
.contact-fields .field-wide{grid-column:1/-1}
.contact-fields label{letter-spacing:.07em;font-size:.77rem}
.contact-fields label span{font-family:var(--serif);text-transform:none;letter-spacing:0;font-size:.88rem}
.contact-fields input,.contact-fields select,.contact-fields textarea{display:block;width:100%;min-height:48px;padding:13px 14px;border:1px solid var(--line-mid);border-radius:0;font-family:var(--serif);font-size:1.05rem;background:var(--bg);color:var(--tx)}
.contact-fields textarea{resize:vertical;min-height:160px;line-height:1.6}
.contact-fields input:hover,.contact-fields select:hover,.contact-fields textarea:hover{border-color:var(--accent)}
.contact-fields select{padding-right:32px}
.contact-fields .field-hint{font-size:.86rem;color:var(--tx-soft);margin-top:9px;line-height:1.5}
.contact-privacy{font-size:.9rem;color:var(--tx-soft);line-height:1.6;margin:25px 0 22px}
.contact-privacy a,.contact-fallback a,.contact-aside a{text-underline-offset:4px}
.contact-form-shell .btn{cursor:pointer}
.contact-fallback{font-size:.92rem;color:var(--tx-soft);margin-top:24px;overflow-wrap:anywhere}
.inquiry-status{padding:24px;margin:20px 0;border:1px solid var(--accent);background:var(--row-you);font-size:1.08rem;line-height:1.65}
.inquiry-status:focus{outline:2px solid var(--accent);outline-offset:4px}
.inquiry-status.is-error{border-color:var(--neg);color:var(--tx);background:var(--surface)}
.contact-aside{background:var(--forest-deep);color:var(--cream-on-dark);padding:34px;border-top:4px solid var(--gold)}
.contact-aside .eyebrow{color:var(--gold);margin-bottom:28px}
.contact-aside h2{font-size:1.6rem;line-height:1.2;margin-bottom:14px}
.contact-aside p{font-size:1rem;line-height:1.65}
.contact-aside ol{list-style:none;counter-reset:contact-step;margin:30px 0;padding:0}
.contact-aside li{counter-increment:contact-step;display:grid;grid-template-columns:25px 1fr;gap:12px;border-top:1px solid #f0eadc40;padding:18px 0;font-size:.96rem}
.contact-aside li::before{content:'0' counter(contact-step);font:400 .73rem/1.9 var(--mono);color:var(--gold)}
.contact-aside .contact-advisory{padding-top:26px;border-top:1px solid #f0eadc40}
.contact-aside .contact-advisory p{font-size:.94rem}
.contact-aside a{color:var(--cream-on-dark)}
.contact-aside a:focus-visible{outline-color:var(--gold)}
.contact-aside .contact-advisory a{display:inline-block;margin-top:16px;min-height:32px}
@media(max-width:900px){.contact-layout{gap:36px;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}.contact-aside{padding:26px}}
@media(max-width:700px){.contact-hero{padding:54px 0 42px}.contact-layout{grid-template-columns:1fr;padding-top:38px;padding-bottom:64px;gap:44px}.contact-fields{grid-template-columns:1fr;gap:22px}.contact-form-shell .btn{width:100%}.contact-hero h1{font-size:clamp(2.8rem,11vw,4.5rem)}.contact-aside{padding:28px}}
