.contact-dialog-open{overflow:hidden}
.contact-dialog{box-sizing:border-box;width:min(650px,calc(100% - 28px));max-height:calc(100dvh - 28px);margin:auto;padding:0;border:1px solid color-mix(in srgb,var(--accent,#ee97b9) 38%,transparent);border-radius:24px;color:var(--text,#f7f1f5);background:var(--panel,#19191f);box-shadow:0 30px 100px #0008;overscroll-behavior:contain;overflow:auto;font:400 14px/1.55 'DM Sans',sans-serif;color-scheme:dark}
.contact-dialog::backdrop{background:#090c16b8;backdrop-filter:blur(5px)}
.contact-dialog *, .contact-dialog *::before, .contact-dialog *::after{box-sizing:border-box}
.contact-dialog-header{position:sticky;top:0;z-index:1;padding:30px 70px 20px;text-align:center;background:linear-gradient(135deg,#e888b01c,transparent),var(--panel,#19191f)}
.contact-dialog-kicker{margin:0 0 10px;color:var(--accent,#ee97b9);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.contact-dialog-title{margin:0 0 13px;font:700 clamp(27px,4.5vw,36px)/1.12 'Playfair Display',serif;letter-spacing:-.03em}
.contact-dialog-lead{margin:0 auto;max-width:49ch;color:var(--muted,#aaa2ad);font-size:13px;line-height:1.65}
.contact-dialog-close{position:absolute;right:18px;top:18px;display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid var(--line,#ffffff25);border-radius:50%;background:var(--panel,#19191f);color:inherit;font:400 27px/1 sans-serif;cursor:pointer}
.contact-dialog-form{margin:0;padding:0 30px 28px}
.contact-dialog-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0;padding:0;border:0;min-width:0}
.contact-dialog-field{display:grid;gap:6px;align-content:start;min-width:0}
.contact-dialog-wide{grid-column:1/-1}
.contact-dialog-field>label{font-size:11px;font-weight:700;color:var(--text,#f7f1f5)}
.contact-dialog-field input,.contact-dialog-field select,.contact-dialog-field textarea{width:100%;min-width:0;margin:0;padding:12px 13px;border:1px solid var(--line,#ffffff25);border-radius:12px;background:color-mix(in srgb,var(--bg,#101014) 65%,transparent);color:var(--text,#f7f1f5);font:inherit;font-size:16px;line-height:1.4}
.contact-dialog-field select{padding-right:28px;text-overflow:ellipsis}
.contact-dialog-field textarea{resize:vertical;min-height:112px;max-height:300px}
.contact-dialog-field input::placeholder,.contact-dialog-field textarea::placeholder{color:var(--muted,#aaa2ad);opacity:.8;font-size:13px}
.contact-dialog-spam{margin:16px 0 12px;color:var(--muted,#aaa2ad);font-size:10px}
.contact-dialog-privacy{margin:0;max-width:47ch;color:var(--muted,#aaa2ad);font-size:10px;line-height:1.6}
.contact-dialog-footer{display:flex;align-items:center;justify-content:space-between;gap:20px}
.contact-dialog-submit{flex:0 0 auto;min-height:46px;padding:11px 22px;border:0;border-radius:999px;background:var(--accent,#ee97b9);color:#24131c;font:700 13px/1.4 'DM Sans',sans-serif;cursor:pointer}
.contact-dialog-submit:disabled{opacity:.55;cursor:wait}
.contact-dialog-status{margin:14px 0 0;font-size:12px;line-height:1.65;color:var(--accent,#ee97b9)}
.contact-dialog-status:empty{display:none}
.contact-dialog-status[data-state=error]{color:#ee9cae}
.contact-dialog-vpn{margin:16px 0;padding:12px 14px;border:1px solid #e8a0b155;border-radius:12px;color:var(--text,#f7f1f5);font-size:11px}
.contact-dialog-vpn p{margin:0 0 10px}
.contact-dialog-vpn label{display:flex;align-items:flex-start;gap:8px;cursor:pointer}
.contact-dialog-vpn input{flex:0 0 auto;margin-top:3px;accent-color:var(--accent,#ee97b9)}
.contact-dialog-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(100%);white-space:nowrap}
.contact-dialog :is(button,input,select,textarea):focus-visible{outline:2px solid var(--accent,#ee97b9);outline-offset:3px}
html[data-theme=light] .contact-dialog{color-scheme:light}
html[data-theme=light] .contact-dialog-submit{color:#fff}
html[data-theme=light] .contact-dialog-status[data-state=error]{color:#a83252}
@media(max-width:540px){.contact-dialog{width:calc(100% - 20px);max-height:calc(100dvh - 20px);border-radius:20px}.contact-dialog-header{padding:68px 20px 18px}.contact-dialog-form{padding:0 20px 22px}.contact-dialog-fields{grid-template-columns:1fr;gap:12px}.contact-dialog-title{font-size:29px}.contact-dialog-footer{flex-direction:column;align-items:stretch;gap:14px}.contact-dialog-submit{width:100%}.contact-dialog-field textarea{min-height:100px}}
