.protected-contact { display: inline-block; max-width: 100%; }
button.contact-reveal,
.legacy-content button.contact-reveal {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 4px 0;
  margin: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--red);
  font: inherit;
  text-align: left;
  text-decoration: underline;
  text-underline-offset: 4px;
  cursor: pointer;
}
button.contact-reveal:hover { color: var(--ink); }
button.contact-reveal:disabled { cursor: default; opacity: .65; }
.contact-revealed { overflow-wrap: anywhere; }
.footer-intro > .protected-contact {
  display: block;
  font-size: 13px;
  margin-bottom: 6px;
}
.protected-contact noscript,
form[data-astro-contact] > noscript { display: block; font-size: 12px; }
.contact-check {
  width: min(420px, calc(100vw - 32px));
  padding: 24px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
  color: var(--ink);
}
.contact-check::backdrop { background: rgb(24 31 29 / 55%); }
.contact-check h2 { font-size: 24px; margin-bottom: 16px; }
.contact-check p { font-size: 14px; }
.contact-check-widget { min-height: 72px; margin-block: 20px; }
.contact-check-actions { display: flex; flex-wrap: wrap; gap: 12px; justify-content: flex-end; }
.contact-check-actions button {
  border: 1px solid var(--line);
  background: var(--paper);
  color: var(--ink);
  padding: 10px 16px;
  border-radius: 6px;
  min-height: 44px;
}
.contact-check-actions button[hidden] { display: none; }
.contact-draft { margin-left: 12px; }
form[data-astro-contact] button[hidden] { display: none; }
@media(max-width: 500px) { .contact-draft { margin-left: 0; display: flex; } }
