.site-dialog {
  width: min(92vw, 540px);
  max-height: 90dvh;
  padding: clamp(18px, 4vw, 38px);
  color: var(--slate);
  border: 1px solid var(--rule);
  background: white;
}
.site-dialog:modal { overscroll-behavior: contain; }
.site-dialog::backdrop {
  background: rgb(30 28 25 / 65%);
  overflow: hidden;
  overscroll-behavior: contain;
}
.site-dialog form { display: flex; justify-content: end; margin-bottom: .8rem; }
.dialog-close {
  min-height: 44px;
  padding: .35rem .8rem;
  border: 1px solid var(--rule);
  background: white;
  color: inherit;
  font: inherit;
  cursor: pointer;
}
.dialog-close:hover { background: #f5f2ed; }
.site-dialog h2 { font-size: clamp(1.8rem, 1.4rem + 2vw, 3.2rem); }
.gallery-dialog { width: min(94vw, 1040px); }
.gallery-dialog img { max-height: 65dvh; object-fit: contain; }
@media (prefers-reduced-motion: no-preference) {
  .site-dialog[open] { animation: dialog-in 180ms ease-out; }
  @keyframes dialog-in {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }
  }
}
