/* Contact form only. Avoid changing global form components. */
.contact-page .contact-message{padding:1rem 1.2rem;margin-bottom:1.3rem;border-radius:12px;border:1px solid transparent}
.contact-page .contact-message strong{display:block;margin-bottom:.4rem;font-weight:800}
.contact-page .contact-message p{margin:.3rem 0;line-height:1.5}
.contact-page .contact-success{color:#d3ffe4;background:#123a2b;border-color:#28754f}
.contact-page .contact-error{color:#ffe2df;background:#481e25;border-color:#b75a62}
.contact-page .field{display:flex;flex-direction:column;gap:.55rem;margin-bottom:1.15rem}
.contact-page .field input,.contact-page .field textarea{width:100%;box-sizing:border-box}
.contact-page .field textarea{resize:vertical;min-height:140px}
.contact-page .field :is(input,textarea):focus-visible{outline:3px solid #74d4e6;outline-offset:2px}
.contact-page .form-note{margin-top:1rem;line-height:1.6}
/* Visually hide bot trap without using display:none (which trivial bots detect). */
.contact-page .contact-trap{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}

/* Light theme */
.contact-page .contact-success{color:#245d43;background:#edf8f1;border-color:#a9d7bc}
.contact-page .contact-error{color:#842f36;background:#fff0f1;border-color:#e2afb4}
.contact-page .field :is(input,textarea):focus-visible{outline-color:#e58a3a}
