.contact-dialog {
  position: fixed; inset: 0; margin: auto; box-sizing: border-box;
  width: min(460px, calc(100vw - 32px)); max-width: none;
  max-height: calc(100dvh - 48px); overflow: auto;
  padding: 38px 30px 30px; border: 1px solid var(--line);
  border-radius: 14px; background: var(--paper); color: var(--ink);
  box-shadow: 0 24px 90px #0004;
  font-family: var(--font-body, Arial, sans-serif); overscroll-behavior: contain;
}
.contact-dialog::backdrop { background: #0007; backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
.contact-dialog[open] { animation: contact-dialog-enter 180ms ease-out both; }
.contact-dialog [hidden] { display: none !important; }
.contact-dialog .contact-close {
  position: absolute; top: 10px; right: 10px; width: 40px; height: 40px;
  border: 0; background: transparent; color: var(--ink); font-family: inherit; font-size: 28px; line-height: 1; cursor: pointer;
}
.contact-dialog .contact-eyebrow { margin: 0 0 22px; font: 11px/1.4 ui-monospace, monospace; letter-spacing: .18em; color: var(--muted); }
.contact-dialog h2 { margin: 0 0 12px; font-size: clamp(36px, 7vw, 48px); line-height: 1.1; font-weight: 500; letter-spacing: -.04em; }
.contact-dialog #contact-dialog-description { margin: 0 0 26px; font-size: 16px; line-height: 1.5; }
.contact-verification { width: 100%; display: grid; place-items: center; min-height: 70px; }
.contact-status { margin: 18px 0 0; color: var(--muted); font-size: 13px; line-height: 1.6; min-height: 21px; }
.contact-actions { margin-top: 22px; display: flex; flex-direction: column; align-items: flex-start; gap: 18px; }
.contact-dialog .contact-email { font-size: clamp(16px, 4.4vw, 22px); line-height: 1.5; color: var(--ink); text-decoration: none; border-bottom: 1px solid currentColor; overflow-wrap: anywhere; }
.contact-dialog :is(.contact-retry, .contact-copy) { padding: 9px 0; min-height: 40px; border: 0; border-bottom: 1px solid var(--ink); border-radius: 0; background: transparent; color: var(--ink); font: inherit; font-size: 14px; cursor: pointer; }
.contact-dialog .contact-retry { margin-top: 16px; }
.contact-dialog .contact-retry span { margin-left: 22px; }
.contact-dialog :is(button, a):focus-visible { outline: 2px solid var(--ink); outline-offset: 4px; }
@keyframes contact-dialog-enter { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 640px) { .contact-dialog { padding-inline: 24px; } }
@media (prefers-reduced-motion: reduce) { .contact-dialog[open] { animation: none; } }
