.contact-dialog{--contact-bg:#fbfaf7;--contact-fg:#252b33;--contact-muted:#606872;--contact-line:#d8d4cd;--contact-hover:#eee9e2;--contact-accent:#a32640;--contact-on-accent:#fff;box-sizing:border-box;position:fixed;inset:0;width:480px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);margin:auto;padding:28px;border:1px solid var(--contact-line);border-radius:16px;background:var(--contact-bg);color:var(--contact-fg);box-shadow:0 24px 90px #0005;overflow:auto;overscroll-behavior:contain;font:16px/1.6 system-ui,sans-serif;text-align:start;letter-spacing:normal;color-scheme:light}
.contact-dialog:not([open]){display:none}
.contact-dialog::backdrop{background:#050a1499;backdrop-filter:blur(5px)}
.contact-dialog[data-theme=dark]{--contact-bg:#101c2d;--contact-fg:#e8eef7;--contact-muted:#aebed2;--contact-line:#394b64;--contact-hover:#1c2d44;--contact-accent:#e4edf9;--contact-on-accent:#122239;color-scheme:dark}
.contact-dialog *{box-sizing:border-box}
.contact-dialog .contact-dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin:0 0 10px}
.contact-dialog .contact-dialog-title{font:600 25px/1.4 system-ui,sans-serif;color:var(--contact-fg);margin:0;padding:0;letter-spacing:normal;overflow-wrap:anywhere}
.contact-dialog .contact-dialog-close{flex:none;display:grid;place-items:center;min-width:40px;min-height:40px;border:1px solid var(--contact-line);border-radius:8px;background:transparent;color:var(--contact-fg);padding:7px;cursor:pointer}
.contact-dialog svg{width:20px;height:20px;flex:none}
.contact-dialog .contact-dialog-description{font:400 15px/1.7 system-ui,sans-serif;color:var(--contact-muted);margin:0 0 18px;padding:0;letter-spacing:normal}
.contact-dialog .contact-dialog-address{display:block;width:100%;min-width:0;height:48px;padding:10px 12px;margin:0 0 16px;border:1px solid var(--contact-line);border-radius:8px;background:transparent;color:var(--contact-fg);font:500 16px/1.5 system-ui,sans-serif;direction:ltr;text-align:left;letter-spacing:normal}
.contact-dialog .contact-dialog-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:0}
.contact-dialog .contact-dialog-action{display:flex;align-items:center;justify-content:center;gap:8px;min-width:0;min-height:50px;padding:12px 10px;margin:0;border:1px solid var(--contact-line);border-radius:8px;background:transparent;color:var(--contact-fg);font:500 15px/1.5 system-ui,sans-serif;letter-spacing:normal;text-align:center;text-decoration:none;overflow-wrap:anywhere;cursor:pointer}
.contact-dialog .contact-dialog-action::after{content:none}
.contact-dialog .contact-dialog-action-primary{background:var(--contact-accent);color:var(--contact-on-accent);border-color:var(--contact-accent)}
.contact-dialog .contact-dialog-action:hover,.contact-dialog .contact-dialog-close:hover{background:var(--contact-hover);color:var(--contact-fg)}
.contact-dialog .contact-dialog-action-primary:hover{opacity:.9;background:var(--contact-accent);color:var(--contact-on-accent)}
.contact-dialog :focus-visible{outline:3px solid var(--contact-accent);outline-offset:3px}
.contact-dialog .contact-dialog-status{display:block;min-height:24px;font:400 14px/1.7 system-ui,sans-serif;color:var(--contact-muted);margin:12px 0 0;padding:0;overflow-wrap:anywhere}
@media(max-width:380px){.contact-dialog{padding:20px}.contact-dialog .contact-dialog-actions{grid-template-columns:1fr}.contact-dialog .contact-dialog-title{font-size:23px}}
