.contact-dialog { width: min(880px, calc(100% - 32px)); max-height: calc(100dvh - 32px); padding: 0; overflow: auto; color: var(--text); border: 1px solid rgba(181,139,255,.35); border-radius: 24px; background: linear-gradient(125deg,#141523,#08101b 65%); box-shadow: 0 35px 120px rgba(0,0,0,.65); }
.contact-dialog::backdrop { background: rgba(2,5,11,.82); backdrop-filter: blur(8px); }
.contact-dialog__layout { display: grid; grid-template-columns: .9fr 1.1fr; gap: 36px; padding: 48px 36px 32px; }
.contact-dialog__close { position: absolute; right: 14px; top: 12px; width: 36px; height: 36px; border: 1px solid var(--line); border-radius: 50%; color: #d9dfeb; font-size: 24px; }
.contact-dialog__eyebrow { color: #c5b2e4; font-size: 10px; line-height: 1.5; letter-spacing: .13em; }
.contact-dialog h2 { margin: 24px 0 18px; font-size: clamp(32px,4vw,44px); line-height: 1.08; letter-spacing: -.02em; }
.contact-dialog__details > p:not(.contact-dialog__eyebrow) { color: #b9c4d5; font: 14px/1.8 Inter,system-ui,sans-serif; }
.contact-dialog address { display: grid; gap: 16px; margin-top: 32px; color: #c8d4e6; font: normal 13px/1.6 Inter,system-ui,sans-serif; overflow-wrap: anywhere; }
.contact-dialog address strong { color: var(--text); font-size: 16px; }
.contact-dialog address a:hover { color: var(--orange); }
.contact-dialog__email { display: inline-flex; align-items: center; gap: 8px; max-width: 100%; color: inherit; font: inherit; text-align: left; overflow-wrap: anywhere; user-select: text; }
.contact-dialog__email svg { flex-shrink: 0; }
.contact-dialog__email:hover { color: var(--orange); }
.contact-dialog__copy-status { display: block; min-height: 18px; color: #a4eee0; font-size: 11px; line-height: 18px; }
.contact-dialog__copy-status[data-state="error"] { color: #ffd3bb; }
.contact-dialog address > span { color: var(--muted); }
.contact-dialog__form { display: grid; gap: 16px; }
.contact-dialog__form label { display: grid; gap: 8px; color: #dce4f1; font: 13px/1.5 Inter,system-ui,sans-serif; }
.contact-dialog input, .contact-dialog textarea { width: 100%; min-width: 0; border: 1px solid rgba(165,188,222,.25); border-radius: 10px; padding: 12px 14px; color: var(--text); background: #060d17; font: 16px/1.5 Inter,system-ui,sans-serif; }
.contact-dialog textarea { resize: vertical; min-height: 140px; max-height: 320px; }
.contact-dialog textarea::placeholder { color: #8290a5; }
.contact-dialog :is(input,textarea,button,a):focus-visible { outline: 2px solid var(--orange); outline-offset: 3px; }
.contact-dialog__send { display: flex; justify-content: space-between; align-items: center; gap: 16px; min-height: 48px; padding: 12px 18px; border-radius: 12px; color: #111320; background: var(--title-gradient); font-size: 16px; font-weight: 700; }
.contact-dialog__send:disabled { cursor: wait; opacity: .6; }
.contact-dialog__note { margin: 0; color: #96a4b9; font: 11px/1.7 Inter,system-ui,sans-serif; }
.contact-dialog__project { margin: 0; padding: 10px 12px; color: #dabfff; background: rgba(181,139,255,.07); border: 1px solid rgba(181,139,255,.18); border-radius: 8px; font-size: 13px; }
.contact-dialog__status { margin: 0; padding: 12px; color: #c2d5f2; font: 13px/1.7 Inter,system-ui,sans-serif; border-radius: 8px; background: rgba(121,183,255,.08); }
.contact-dialog__status[data-state="error"] { color: #ffd3bb; background: rgba(247,156,53,.1); }
.contact-dialog__status[data-state="success"] { color: #a4eee0; background: rgba(86,209,208,.08); }
.contact-dialog__trap { display: none; }
body:has(.contact-dialog[open]) { overflow: hidden; }
@media (max-width: 650px) {
  .contact-dialog { border-radius: 18px; }
  .contact-dialog__layout { grid-template-columns: 1fr; gap: 28px; padding: 38px 22px 24px; }
  .contact-dialog h2 { margin: 16px 0 12px; }
  .contact-dialog address { margin-top: 20px; gap: 10px; }
}
