.contact-form { max-width:640px; margin:36px auto 0; text-align:left; }
.contact-fields { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.contact-form label { display:block; margin:0 0 9px; font-size:13px; font-weight:600; }
.contact-form label span { font-weight:400; }
.contact-form input:not([type=checkbox]),.contact-form textarea { width:100%; border:1px solid #624448; border-radius:12px; padding:14px; background:#0a0607; color:#fff; font:inherit; font-size:16px; }
.contact-form textarea { resize:vertical; margin-bottom:20px; }
.contact-form small { display:block; margin:8px 0 20px; color:#baa9ac; font-size:12px; line-height:1.5; }
.contact-form .contact-consent { display:flex; align-items:flex-start; gap:11px; margin-bottom:22px; font-size:12px; line-height:1.6; color:#cbbcc0; }
.contact-consent input { flex-shrink:0; width:18px; height:18px; margin:2px 0 0; accent-color:#ff343e; }
.contact-form button { cursor:pointer; font-family:inherit; }
.contact-form button:disabled { opacity:.55; cursor:not-allowed; box-shadow:none; }
.contact-form :is(input,textarea,button,a):focus-visible { outline:3px solid #ff6570; outline-offset:4px; }
.contact-form #contact-status { margin:16px 0 10px; font-size:13px; }
.contact-direct { color:inherit; font-size:12px; text-underline-offset:4px; }
.contact-trap { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
:root[data-theme="light"] .contact-form small { color:#735e60; }
:root[data-theme="light"] .footer-cta #contact-submit { color:#fff !important; }
#contact { scroll-margin-top:95px; }
@media(max-width:600px) { .contact-fields { grid-template-columns:1fr; gap:0; } #contact-name { margin-bottom:20px; } .contact-form button { width:100%; } }
