.ms-contact { max-width: 42rem; margin: 1.5rem auto; color: #172b3a; background: #fff; padding: clamp(1rem, 3vw, 2rem); border: 1px solid #667887; border-radius: .5rem; font-size: 1rem; line-height: 1.6; overflow-wrap: anywhere; }
.ms-contact *, .ms-contact *::before, .ms-contact *::after { box-sizing: border-box; }
.ms-contact form { display: grid; gap: .65rem; }
.ms-contact label { font-weight: 700; margin-top: .5rem; }
.ms-contact input:not([type="hidden"]), .ms-contact textarea { width: 100%; min-height: 2.75rem; padding: .7rem; color: #172b3a; background: #fff; border: 1px solid #526777; border-radius: .25rem; font: inherit; }
.ms-contact textarea { resize: vertical; }
.ms-contact button { min-height: 2.75rem; padding: .75rem 1rem; margin-top: .8rem; background: #123e60; color: #fff; border: 2px solid #123e60; border-radius: .25rem; font: inherit; font-weight: 700; cursor: pointer; }
.ms-contact button:hover { background: #082c47; }
.ms-contact a { color: #064e84; text-decoration: underline; text-underline-offset: .15em; }
.ms-contact :is(input, textarea, button, a):focus-visible { outline: 3px solid #9b3500; outline-offset: 3px; }
.ms-contact__feedback { padding: 1rem; border: 2px solid #123e60; background: #eef5fa; }
.ms-contact .ms-contact__trap { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); clip-path: inset(50%); white-space: nowrap; border: 0; }
@media (forced-colors: active) { .ms-contact button, .ms-contact__feedback { border: 2px solid ButtonText; } }
