/* Privacy follows the existing slate palette and stays usable without blocking
   the page. The detail dialog uses the browser's native focus management. */
body{padding-bottom:var(--privacy-banner-height,0px)}
.footer-bottom>div{flex-wrap:wrap}
.privacy-footer,.privacy-reset{background:none;padding:6px 0;color:inherit;font:inherit;text-decoration:underline;text-underline-offset:4px;min-height:36px;text-align:start}
.privacy-footer:hover,.privacy-reset:hover{color:var(--text)}
.privacy-banner{position:fixed;inset:auto 0 0;z-index:20;background:var(--surface);border-top:1px solid var(--line);max-height:65svh;overflow:auto;overscroll-behavior:contain}
.privacy-banner-inner{max-width:var(--content-max-width);margin-inline:auto;padding:25px clamp(24px,5vw,80px);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:38px;align-items:center}
.privacy-banner h2{font-family:Saira,Arial,sans-serif;font-size:23px;letter-spacing:-.02em;line-height:1.3;font-weight:500;margin-bottom:8px}
.privacy-banner-copy>p{font-size:16px;line-height:1.55;max-width:73ch}
.privacy-links{display:flex;flex-wrap:wrap;gap:10px 24px;margin-top:13px;font-size:14px;color:var(--muted)}
.privacy-links a{text-decoration:underline;text-underline-offset:4px}
.privacy-links a:hover{color:var(--text)}
.privacy-actions{display:flex;gap:12px;flex-wrap:wrap}
.privacy-button{justify-content:center;min-height:46px;padding:11px 20px;font-size:15px;white-space:normal;text-align:center}
.privacy-button-secondary{background:transparent;color:var(--text);border:1px solid var(--line)}
.privacy-button-secondary:hover{background:var(--raised)}
.privacy-dialog{width:min(700px,calc(100% - 40px));padding:42px;scrollbar-color:var(--line) var(--bg)}
.privacy-dialog h2{font-family:Saira,Arial,sans-serif;font-size:30px;font-weight:500;line-height:1.2;letter-spacing:-.025em;padding-right:30px}
.privacy-intro{margin-top:18px;font-size:17px}
.privacy-section{margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}
.privacy-section h3{font-size:19px;margin-bottom:10px}
.privacy-section p{font-size:16px;line-height:1.65}
.privacy-storage{margin:20px 0 0;display:grid;gap:12px;font-size:14px}
.privacy-storage>div{display:grid;grid-template-columns:100px minmax(0,1fr);gap:18px}
.privacy-storage dt{color:var(--muted)}
.privacy-storage dd{margin:0;overflow-wrap:anywhere}
.privacy-storage code{font-family:inherit;font-size:inherit}
.privacy-status{margin-top:22px;font-size:14px;line-height:1.6}
.privacy-status[role=status]:not([hidden]){color:var(--text)}
.privacy-dialog-actions{display:flex;align-items:center;gap:18px;margin-top:22px;flex-wrap:wrap}
.privacy-reset{font-size:14px;color:var(--muted)}
.privacy-dialog>.privacy-links{margin-top:24px}
body:has(dialog[open]) .privacy-banner{visibility:hidden}
@media(max-width:1023px){
  .privacy-banner-inner{grid-template-columns:1fr;gap:18px;padding-block:22px}
}
@media(max-width:767px){
  .privacy-banner-inner{padding:20px 24px;gap:18px}
  .privacy-banner h2{font-size:21px}
  .privacy-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}
  .privacy-button{padding-inline:12px;font-size:14px}
  .privacy-dialog{width:calc(100% - 24px);max-height:calc(100dvh - 24px);padding:34px 23px 26px}
  .privacy-dialog h2{font-size:26px;padding-right:25px}
  .privacy-intro{font-size:16px}
  .privacy-storage>div{grid-template-columns:78px minmax(0,1fr);gap:12px}
}
@media(max-width:374px){.privacy-banner-inner{padding-inline:20px}}
