.contact-heading { max-width:760px; margin:12px 0 36px; }
.contact-heading h1 { font-size:clamp(2.5rem,5vw,4rem); line-height:1.1; letter-spacing:-.045em; margin:10px 0 18px; }
.contact-heading>p:last-child { font-size:1.05rem; line-height:1.75; max-width:620px; }
.contact-layout { display:grid; grid-template-columns:minmax(0,.75fr) minmax(0,1.5fr); align-items:start; gap:44px; }
.contact-info { border-top:2px solid var(--red); padding-top:24px; }
.contact-info h2 { font-size:1.4rem; margin:0 0 12px; }
.contact-info>p { color:var(--muted); line-height:1.75; }
.contact-email { display:inline-block; margin-top:12px; overflow-wrap:anywhere; }
.contact-form { padding:30px; border:1px solid var(--border); border-radius:var(--radius); background:var(--surface); }
.contact-form label { display:block; margin:0 0 8px; font-weight:650; font-size:.9rem; }
.contact-form input:not([type=hidden]),.contact-form select,.contact-form textarea { display:block; width:100%; min-height:48px; padding:12px; background:var(--bg); color:var(--text); border:1px solid var(--border); border-radius:7px; font:inherit; }
.contact-form textarea { resize:vertical; min-height:160px; max-height:600px; }
.contact-form textarea:focus-visible { outline:3px solid #ff6c73; outline-offset:4px; }
.contact-form textarea::placeholder { color:var(--muted); }
.contact-form>select { margin-bottom:24px; }
.contact-fields { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-bottom:24px; }
.contact-hint { margin:7px 0 0; font-size:.75rem; color:var(--muted); line-height:1.6; }
.contact-privacy { margin:24px 0 20px; font-size:.75rem; color:var(--muted); line-height:1.75; }
.contact-privacy a { font-size:inherit; }
.contact-status { padding:12px 14px; background:var(--bg); border:1px solid var(--border); border-radius:7px; font-size:.85rem; margin:0 0 20px; overflow-wrap:anywhere; }
.contact-honeypot { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.footer-actions { display:flex; gap:12px; align-items:center; flex-wrap:wrap; }
@media(max-width:700px) { .contact-heading { margin-top:0; margin-bottom:28px; } .contact-layout { grid-template-columns:1fr; gap:26px; } .contact-form { padding:22px 18px; } .contact-fields { grid-template-columns:1fr; gap:20px; } .contact-form .button { width:100%; } }
