.contact-banner h1 { letter-spacing:.08em; padding-left:.08em; font-size:clamp(32px,4.4vw,62px); }
.contact-content.shell { max-width:850px; padding:48px 0 72px; }
.contact-form { color:#17212a; }
.contact-fields { display:grid; grid-template-columns:1fr 1fr; gap:28px; }
.contact-field { display:flex; flex-direction:column; gap:9px; margin-bottom:26px; }
.contact-field label { font-size:21px; }
.contact-field label span { font-size:15px; color:#625c55; }
.contact-field input,.contact-field textarea { width:100%; min-width:0; box-sizing:border-box; border:1px solid #b4a394; border-radius:0; background:#fffdf8; padding:13px 15px; font:inherit; font-size:19px; line-height:1.5; color:#17212a; }
.contact-field textarea { resize:vertical; min-height:220px; }
.contact-field input:focus,.contact-field textarea:focus { outline:2px solid #9f472e; outline-offset:3px; }
.contact-submit { background:var(--copper-dark); color:#fff6ec; border:1px solid var(--copper-dark); padding:15px 30px; font:500 17px/1.2 var(--display); letter-spacing:.1em; text-transform:uppercase; }
.contact-submit:disabled { cursor:not-allowed; }
.contact-note { font-size:16px; line-height:1.6; color:#625c55; margin:18px 0 0; }
.contact-note a { color:var(--copper-dark); text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere; }
@media(max-width:600px) { .contact-fields { grid-template-columns:1fr; gap:0; } .contact-content.shell { padding:32px 0 48px; } .contact-banner h1 { max-width:420px; } }

.contact-submit:not(:disabled) { cursor:pointer; }
.contact-submit:hover:not(:disabled),.contact-submit:focus-visible { background:#a94a2b; }
.contact-submit:focus-visible { outline:2px solid #9f472e; outline-offset:3px; }
.contact-status { display:none; margin-bottom:24px; padding:16px 20px; border:1px solid #779183; background:#edf3ed; font-size:19px; line-height:1.5; }
.contact-error { border-color:#a94a2b; background:#fff2eb; }
