/* Contact form. Inherits the page's existing look; only the form is styled. */
.contact-form-wrap { max-width: 34rem; margin: 2rem auto; }
.contact-form { display: flex; flex-direction: column; gap: .35rem; }
.contact-form label { font-size: .8rem; letter-spacing: .06em; text-transform: uppercase; opacity: .85; margin-top: .75rem; }
.contact-form input, .contact-form select, .contact-form textarea {
    padding: .7rem .8rem; border: 1px solid rgba(255,255,255,.25);
    background: rgba(0,0,0,.35); color: inherit; font: inherit; border-radius: 3px;
}
.contact-form input:focus, .contact-form select:focus, .contact-form textarea:focus {
    outline: 2px solid currentColor; outline-offset: 1px;
}
.cf-submit {
    margin-top: 1.25rem; padding: .85rem 2rem; cursor: pointer;
    border: 1px solid currentColor; background: transparent; color: inherit;
    font: inherit; letter-spacing: .12em; text-transform: uppercase;
}
.cf-submit:disabled { opacity: .5; cursor: progress; }
/* Honeypot: off-screen, not display:none -- some bots skip hidden fields. */
.cf-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.cf-status { min-height: 1.4em; margin-top: .75rem; font-size: .9rem; }
.cf-status.is-ok { color: #6bd77e; }
.cf-status.is-error { color: #ff8080; }
