.contact-row { display: grid; gap: .5rem; margin: 1.25rem 0; }
.contact-row > label { font-weight: 650; }
.contact-row input, .contact-row select, .contact-row textarea { width: 100%; min-width: 0; border: 1px solid #bac7db; border-radius: .45rem; padding: .8rem .9rem; background: #fff; color: #17243b; font: inherit; line-height: 1.6; }
.contact-row textarea { resize: vertical; min-height: 170px; }
.contact-row input:focus-visible, .contact-row select:focus-visible, .contact-row textarea:focus-visible { outline: 3px solid #c7d6ff; border-color: #2055e5; outline-offset: 1px; }
.contact-row .info-note { margin: 0; }
.contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.required, .optional { display: inline-block; margin-left: .5rem; padding: .05rem .4rem; border-radius: .2rem; font-size: .8125rem; font-weight: 500; background: #edf2ff; color: #1745bd; }
.optional { background: #f0f3f7; color: #53627a; }
.contact-consent { display: flex; align-items: flex-start; gap: .7rem; margin-top: 1.5rem; font-size: .9375rem; cursor: pointer; }
.contact-consent input { width: 19px; height: 19px; margin: .35rem 0 0; flex-shrink: 0; accent-color: #2055e5; }
.contact-feedback { min-height: 1.5em; font-size: .9375rem; }
.contact-feedback.is-error { color: #a82b29; }
.contact-panel .info-button { border: 0; font: inherit; font-weight: 700; cursor: pointer; min-height: 48px; }
.contact-panel .info-button:disabled { opacity: .6; cursor: wait; }
.contact-panel [hidden] { display: none !important; }
.contact-success { padding: 1.5rem; border: 1px solid #bbd9ca; border-radius: .6rem; background: #f0f9f4; }
.contact-success h3 { margin-top: 0; color: #235e41; }
.contact-honey { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
@media (max-width: 650px) { .contact-grid { grid-template-columns: 1fr; gap: 0; } .contact-panel .info-button { width: 100%; } }
