.contact-reveal {
  background: none; color: var(--gold); padding: 0;
  display: inline-flex; align-items: center; gap: 12px;
  font: inherit; cursor: pointer;
}
.contact-reveal svg { width: 17px; height: 17px; transition: transform .2s; }
.contact-reveal:hover svg { transform: translateX(4px); }
.contact-reveal.contact-link { font-size: 12px; gap: 22px; padding-block: 12px; }
.contact-inline { text-decoration: underline; text-underline-offset: 4px; gap: 6px; }
.contact-inline svg { width: 13px; height: 13px; transform: rotate(-35deg); }
.contact-large { font: 500 clamp(24px, 3vw, 34px) var(--serif); margin-top: 13px; gap: 25px; }
.contact-dialog {
  background: radial-gradient(ellipse at 100% 0%, #3c284845, transparent 70%), #0c1020;
  color: var(--ink); width: 480px; max-width: calc(100vw - 32px);
  max-height: calc(100dvh - 40px); padding: 42px 35px 32px;
  border: 1px solid #d4ae8c66; border-radius: 12px; box-shadow: 0 30px 100px #0008;
}
.contact-dialog::backdrop { background: #030610db; backdrop-filter: blur(9px); }
.contact-dialog[open] { animation: dialog-enter .35s cubic-bezier(.16,.8,.2,1); }
.contact-close { position: absolute; right: 16px; top: 16px; background: none; width: 40px; height: 40px; display: grid; place-items: center; }
.contact-dialog h2 { font-size: 56px; margin: 20px 0 13px; }
.contact-intro { color: var(--muted); font-size: 13px; line-height: 1.8; max-width: 340px; }
.contact-address { margin-top: 30px; border-block: 1px solid var(--line); padding-block: 22px; font-size: 24px; font-family: var(--serif); color: var(--gold); user-select: all; }
.contact-actions { display: flex; gap: 24px; align-items: center; margin-top: 25px; }
.contact-actions .button { min-height: 47px; padding: 11px 17px; font-size: 12px; }
.contact-actions > button { color: var(--gold); background: none; font-size: 11px; padding: 12px 0; }
.contact-feedback { min-height: 22px; margin-top: 13px; font-size: 11px; color: var(--gold); }
.contact-hint { color: var(--muted); font-size: 10px; line-height: 1.8; }
.contact-noscript { text-align: center; padding: 20px; color: var(--gold); font-size: 13px; }
html:not(.js) .contact-reveal { display: none; }
@media (max-width: 480px) {
  .contact-dialog { padding: 35px 25px 25px; }
  .contact-dialog h2 { font-size: 47px; }
  .contact-actions { gap: 18px; }
  .contact-address { font-size: 25px; }
  .contact-actions .button { padding-inline: 13px; }
}
@media (prefers-reduced-motion: reduce) { .contact-dialog[open] { animation: none; } }
