.sw-contact-dialog,.sw-contact-form{box-sizing:border-box;font:inherit}
.sw-contact-dialog{position:fixed;inset:auto 16px 16px auto;margin:0;width:min(580px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;padding:24px;border:1px solid #dbe4de;border-radius:20px;background:#fff;color:#12221b;box-shadow:0 20px 80px #0004}
.sw-contact-dialog::backdrop{background:#06140c80}
.sw-contact-dialog h2{font-size:clamp(1.2rem,4vw,1.7rem);line-height:1.2;margin:0 32px 16px 0;color:#12221b}
.sw-contact-kicker{font-size:.78rem;font-weight:700;color:#287048;margin:0 0 8px}
.sw-contact-close{position:absolute;top:12px;right:12px;width:36px;height:36px;border:0;border-radius:50%;font-size:1.5rem;background:#edf3ee;color:#12221b;cursor:pointer}
.sw-contact-form{display:grid;gap:10px;text-align:left}
.sw-contact-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.sw-contact-form label{display:grid;gap:4px;margin:0;font-weight:600;font-size:.85rem}
.sw-contact-form input,.sw-contact-form textarea{box-sizing:border-box;width:100%;padding:9px 10px;border:1px solid #bccbc0;border-radius:8px;background:#fff;color:#12221b;font:inherit;font-weight:400}
.sw-contact-form textarea{resize:vertical}
.sw-contact-form button,.sw-contact-launcher{border:0;border-radius:10px;padding:10px 16px;background:#167446;color:#fff;font:inherit;font-weight:700;cursor:pointer}
.sw-contact-form button:disabled{cursor:wait;opacity:.65}
.sw-contact-status{min-height:1em;margin:0;font-size:.9rem;color:#26774d}
.sw-contact-status.is-error{color:#b32236}
.sw-contact-launcher{position:fixed;right:18px;bottom:18px;z-index:9500;box-shadow:0 4px 20px #0003}
.sw-contact-dialog :focus-visible,.sw-contact-launcher:focus-visible,.sw-contact-form :focus-visible{outline:2px solid #338cd5;outline-offset:2px}
@media(max-width:520px){.sw-contact-dialog{inset:auto 0 0;width:100%;max-width:none;max-height:calc(100dvh - 10px);padding:18px;border-radius:18px 18px 0 0}.sw-contact-fields{grid-template-columns:minmax(0,1fr)}}
