:root { --contact-navy:#001f3f; --contact-orange:#f26a21; --contact-cream:#fffaf3; --contact-paper:#fffefa; --contact-ink:#17304a; --contact-muted:#5b6b79; }
* { box-sizing:border-box; }
button,input,textarea { font:inherit; }
.contact-hero { background:linear-gradient(135deg,var(--contact-cream),#fff); border-block:1px solid #e8dfd2; padding:clamp(4.5rem,9vw,8rem) max(1.4rem,calc((100vw - 70rem)/2)); }
.contact-eyebrow { color:#a8420f; font:800 .78rem Inter,Arial,sans-serif; letter-spacing:.12em; text-transform:uppercase; }
.contact-hero h1,.contact-form-intro h2 { color:var(--contact-navy); font-family:Inter,Arial,sans-serif; letter-spacing:-.045em; line-height:1.02; }
.contact-hero h1 { font-size:clamp(3rem,7vw,6.5rem); margin:.7rem 0 1.5rem; max-width:13ch; }
.contact-hero>p:not(.contact-eyebrow) { color:var(--contact-ink); font-size:clamp(1.1rem,2vw,1.35rem); max-width:42rem; }
.contact-form-section { background:var(--contact-paper); display:grid; gap:clamp(3rem,7vw,7rem); grid-template-columns:.85fr 1.15fr; padding:clamp(4.5rem,8vw,8rem) max(1.4rem,calc((100vw - 70rem)/2)); }
.contact-form-intro h2 { font-size:clamp(2.25rem,4.5vw,4rem); margin:0 0 1.25rem; }
.contact-form-intro p { color:var(--contact-ink); font-size:1.05rem; max-width:32rem; }
.contact-form-intro p+p { margin-top:1rem; }
.contact-form { background:var(--contact-cream); border:1px solid #e3d8ca; min-width:0; padding:clamp(1.5rem,4vw,3rem); }
.field { margin-bottom:1.25rem; }
.field label { color:var(--contact-navy); display:block; font:800 .82rem Inter,Arial,sans-serif; margin-bottom:.4rem; }
.field input,.field textarea { background:#fff; border:1px solid #9eacb8; border-radius:0; color:var(--contact-ink); padding:.85rem; width:100%; }
.field textarea { min-height:10rem; resize:vertical; }
.field input[aria-invalid="true"],.field textarea[aria-invalid="true"] { border-color:#b3261e; box-shadow:0 0 0 1px #b3261e; }
.field-error { color:#8c1d18; display:block; font-size:.78rem; margin-top:.25rem; min-height:1.2rem; }
.required-note { color:var(--contact-muted); font-size:.78rem; }
.submit-button { align-items:center; background:var(--contact-navy); border:2px solid var(--contact-navy); color:#fff; cursor:pointer; display:inline-flex; font:800 .76rem Inter,Arial,sans-serif; gap:1rem; letter-spacing:.06em; padding:1rem 1.25rem; text-transform:uppercase; }
.submit-button:hover { background:var(--contact-orange); border-color:var(--contact-orange); }
.submit-button[disabled] { cursor:wait; opacity:.65; }
:is(button,input,textarea):focus-visible { outline:3px solid var(--contact-orange); outline-offset:3px; }
.form-status { border-left:3px solid transparent; font-size:.95rem; margin-top:1.25rem; min-height:1.5rem; padding-left:1rem; }
.form-status.success { border-color:#1f7a4c; color:#175d3a; }
.form-status.error { border-color:#b3261e; color:#8c1d18; }
.honeypot,.honeypot[hidden] { display:none!important; }
@media(max-width:52rem){.contact-form-section{grid-template-columns:1fr}.contact-form-intro{max-width:42rem}}
@media(max-width:40rem){.contact-hero{padding-block:4.5rem}.contact-form-section{padding-block:4rem}.contact-form{padding:1.4rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition-duration:.01ms!important}}
