.contact-main{max-width:760px;padding-top:34px;padding-bottom:56px}
.contact-main h1{margin:0;color:var(--ink);font-size:clamp(27px,4vw,38px);letter-spacing:.02em}
.contact-intro{margin:10px 0 22px;color:var(--muted);line-height:1.8}
.contact-card{display:grid;gap:9px;padding:24px;border:1px solid #c7d1ce;border-radius:14px;background:#fff;box-shadow:0 8px 24px #2033300d}
.contact-card label{margin-top:7px;color:var(--ink);font-size:14px;font-weight:700}
.contact-card input,.contact-card select,.contact-card textarea{width:100%;min-height:44px;padding:10px 12px;border:1px solid #bbc8c4;border-radius:8px;background:#fff;color:var(--ink);font:inherit}
.contact-card textarea{min-height:180px;resize:vertical;line-height:1.65}
.contact-card input:focus,.contact-card select:focus,.contact-card textarea:focus{outline:3px solid #4f826e33;border-color:#39765f}
.required-mark{margin-left:6px;color:#ad3a2f;font-size:11px;font-weight:600}
.contact-feedback{min-height:1.5em;margin:6px 0 0;color:#28694f;font-weight:700}
.contact-feedback.error{color:#ad3027}
#contact-submit{justify-self:start;min-width:160px;min-height:46px}
#contact-submit:disabled{cursor:wait;opacity:.65}
.contact-privacy-note{margin:2px 0 0;color:var(--muted);font-size:12px;line-height:1.7}
.contact-privacy-note a{color:var(--ink);text-underline-offset:3px}
.contact-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
@media(max-width:560px){.contact-main{padding-top:22px;padding-bottom:38px}.contact-card{padding:17px;gap:8px}.contact-card textarea{min-height:150px}.top-nav{gap:10px;font-size:12px}}
