.privacy-overlay {
  box-sizing:border-box;
  width:min(760px,calc(100vw - 32px));
  max-height:calc(100dvh - 32px);
  margin:auto;
  padding:0;
  border:1px solid var(--line,#d5cfc3);
  background:var(--paper,#f5f2e9);
  color:var(--ink,#191b1c);
  overflow:auto;
  overscroll-behavior:contain;
}
.privacy-overlay::backdrop { background:rgba(0,0,0,.55); }
.privacy-overlay-heading {
  position:sticky; top:0; z-index:1;
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding:20px 24px; background:var(--paper,#f5f2e9);
  border-bottom:1px solid var(--line,#d5cfc3);
}
.privacy-overlay h2 { font:400 1.65rem/1.25 Georgia,'Times New Roman',serif; color:inherit; margin:0; }
.privacy-overlay-close {
  flex:none; display:grid; place-items:center; width:44px; height:44px;
  padding:0; border:1px solid var(--line,#d5cfc3); background:transparent;
  color:inherit; font:400 26px/1 sans-serif; cursor:pointer;
}
.privacy-overlay-content { padding:24px; font-size:16px; line-height:1.65; overflow-wrap:anywhere; }
.privacy-overlay-content section { margin:0 0 24px; padding:0; }
.privacy-overlay-content section:last-child { margin-bottom:0; }
.privacy-overlay-content h2 { font-size:1.3rem; margin:0 0 10px; }
.privacy-overlay-content p { margin:0 0 12px; }
.privacy-overlay-content a { color:inherit; text-decoration:underline; text-underline-offset:3px; }
.privacy-overlay :focus-visible { outline:2px solid #765726; outline-offset:3px; }
html.privacy-overlay-open { overflow:hidden; }
@media(max-width:480px) {
  .privacy-overlay-heading { padding:16px; gap:10px; }
  .privacy-overlay-heading h2 { font-size:1.3rem; }
  .privacy-overlay-content { padding:20px 16px; }
}
