.contact-form { max-width: 680px; margin-block: 28px; }
.contact-form fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
.contact-form legend { font-weight: 600; margin-bottom: 18px; }
.contact-form label { display: grid; gap: 7px; margin-bottom: 18px; font-size: 16px; line-height: 1.5; }
body .contact-form input, body .contact-form select, body .contact-form textarea { box-sizing: border-box; width: 100%; min-width: 0; padding: 12px 14px; border: 1px solid #d8d0d5; border-radius: 10px; background: #fff; color: #241e26; font: inherit; }
.contact-form textarea { min-height: 170px; resize: vertical; }
.contact-form :is(input,select,textarea,button):focus-visible { outline: 3px solid #80213f; outline-offset: 3px; }
.contact-form [readonly] { background: #f6f3f5; }
.contact-form .contact-trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
body .contact-form button[type=submit] { padding: 13px 22px; border: 0; border-radius: 10px; background: #d81e5b; color: #fff !important; font: inherit; font-weight: 600; }
.contact-form button:disabled { opacity: .6; cursor: not-allowed; }
[data-contact-mode], [data-contact-status] { max-width: 680px; font-size: 14px; line-height: 1.6; overflow-wrap: anywhere; }
[data-contact-status][data-error=true] { color: #96223c; }

.contact-form .visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.contact-panel+.policy-body{margin-top:32px;padding-top:24px;border-top:1px solid #e4e8ec}.contact-privacy{font-size:14px;line-height:1.5;color:#596273}

/* Hidden anti-spam input remains server-validated, but never visible/focusable. */
.contact-form .contact-honeypot,.contact-form [hidden]{display:none!important}
.contact-confirmation{box-sizing:border-box;width:min(540px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto;padding:32px;border:1px solid #e7dce2;border-radius:18px;background:#fff;color:#241e26;box-shadow:0 24px 80px #241e2633;font:inherit}
.contact-confirmation::backdrop{background:#241e2670}
.contact-confirmation h2{font-family:inherit;font-size:clamp(24px,5vw,30px);font-weight:600;line-height:1.2;max-width:90%;margin:12px 0 20px}
.contact-confirmation p{font-size:15px;line-height:1.6}
.contact-confirmation .contact-confirm-eyebrow{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:#96314f;font-weight:600}
.contact-confirmation label{display:grid;gap:8px;margin-block:20px 12px;font-weight:600}
.contact-confirmation input{box-sizing:border-box;width:100%;min-width:0;padding:12px;border:1px solid #d8d0d5;border-radius:8px;background:#faf7f9;color:#241e26;font-family:inherit;font-size:14px;font-weight:400;line-height:1.5}
.contact-confirmation button{min-height:44px;cursor:pointer;font:inherit}
.contact-confirmation .contact-confirm-close{position:absolute;right:12px;top:12px;border:0;background:transparent;font-size:26px;width:44px}
.contact-confirmation .contact-confirm-done{display:block;width:100%;border:0;border-radius:10px;background:#d81e5b;color:#fff;padding:12px 16px;font-weight:600}
.contact-confirmation :focus-visible{outline:3px solid #80213f;outline-offset:3px}
@media(max-width:430px){.contact-confirmation{padding:64px 20px 24px}.contact-confirmation h2{max-width:100%;margin-top:0}.contact-confirmation input{font-size:12px}}
