/* Privacy is part of the paper-and-ink site, not a blocking overlay. */
[hidden]{ display:none !important; }

.privacy-skip{
  position:fixed;
  left:20px;
  top:-100px;
  z-index:110;
  padding:12px 20px;
  color:var(--paper);
  background:var(--ink);
}
.privacy-skip:focus{ top:12px; }
.privacy-hero{ padding-block:clamp(60px, 8vw, 104px) 48px; }
.privacy-hero .label{ margin-bottom:24px; }
.privacy-hero .display{ max-width:12em; }
.privacy-hero .lede{ margin-top:24px; max-width:34em; }
.privacy-hero__date{ margin-top:24px; font:400 12px/1.6 var(--forj-font-data); color:var(--ink-label); }
.privacy-layout{
  display:grid;
  grid-template-columns:230px minmax(0, 760px);
  gap:clamp(36px, 6vw, 100px);
  align-items:start;
  padding-bottom:clamp(72px, 9vw, 128px);
}
.privacy-toc{ position:sticky; top:104px; border-top:1px solid var(--paper-line); padding-top:22px; }
.privacy-toc .label{ margin-bottom:16px; }
.privacy-toc a{ display:block; padding-block:5px; font-size:15px; text-decoration:none; }
.privacy-toc a:hover{ text-decoration:underline; text-underline-offset:4px; }
.privacy-copy{ min-width:0; }
.privacy-copy section{ padding-block:32px; border-top:1px solid var(--paper-line); scroll-margin-top:108px; }
.privacy-copy h2{ font-size:clamp(27px, 3vw, 36px); line-height:1.2; margin-bottom:20px; }
.privacy-copy h3{ font-size:21px; font-weight:500; line-height:1.4; margin-block:24px 10px; }
.privacy-copy p + p,.privacy-copy ul + p,.privacy-copy dl + p{ margin-top:16px; }
.privacy-copy a{ text-underline-offset:4px; overflow-wrap:anywhere; }
.privacy-copy ul{ list-style:disc; padding-left:22px; margin-block:16px; }
.privacy-copy li + li{ margin-top:10px; }
.privacy-copy address{ font-style:normal; margin-top:16px; }
.privacy-callout{ border-left:3px solid var(--ink-2); padding:18px 24px; margin-block:24px; background:var(--paper-raised); }
.privacy-settings-link{ margin-top:20px; }
.privacy-table-wrap{ overflow-x:auto; margin-block:20px; }
.privacy-table{ width:100%; border-collapse:collapse; font-size:15px; line-height:1.55; }
.privacy-table caption{ text-align:left; margin-bottom:12px; font-weight:500; color:var(--ink); }
.privacy-table th,.privacy-table td{ padding:14px 12px; border-bottom:1px solid var(--paper-line); text-align:left; vertical-align:top; }
.privacy-table th{ font-weight:500; color:var(--ink); }
.privacy-table thead th{ font:500 11px/1.6 var(--forj-font-data); letter-spacing:.08em; text-transform:uppercase; }
.privacy-table code{ font:400 12px/1.5 var(--forj-font-data); white-space:nowrap; }
.privacy-retention{ margin:0; }
.privacy-retention dt{ font-weight:500; color:var(--ink); margin-top:20px; }
.privacy-retention dd{ margin:5px 0 0; }
.privacy-links{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:12px 24px;
  padding-block:22px;
  font:400 14px/1.6 var(--forj-font-ui);
  color:var(--ink-body);
}
.privacy-links a{ text-underline-offset:4px; }
.privacy-links noscript{ font-size:13px; }
.site-footer .privacy-links{
  margin-top:28px;
  border-top:1px solid var(--dark-line);
  color:var(--on-dark);
}
.site-footer .privacy-links :focus-visible{ outline-color:var(--on-dark); }

.consent-panel{
  position:fixed;
  z-index:100;
  inset:auto 24px 24px auto;
  width:min(590px, calc(100% - 48px));
  max-height:calc(100dvh - 48px);
  overflow-y:auto;
  overscroll-behavior:contain;
  padding:26px 30px;
  border:1px solid rgba(17,18,20,.3);
  border-radius:var(--radius, 4px);
  background:var(--paper-raised, #F8F7F5);
  color:var(--ink-body, #3E4347);
  box-shadow:0 8px 40px rgba(17,18,20,.14);
  font:400 16px/1.55 var(--forj-font-ui, sans-serif);
}
.consent-panel__top{ display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:18px; }
.consent-panel .label{ font-size:10px; letter-spacing:.14em; }
.consent-panel h2{ font-size:27px; line-height:1.15; font-weight:400; margin:0 0 14px; }
.consent-panel__close{
  border:0;
  background:transparent;
  color:var(--ink-body);
  font:400 14px/1.4 var(--forj-font-ui);
  padding:8px;
  margin:-8px;
  min-height:40px;
  text-decoration:underline;
  text-underline-offset:3px;
  cursor:pointer;
}
.consent-panel__status{ font-size:14px; margin-top:14px; }
.consent-panel__actions{ display:flex; gap:12px; margin-top:20px; }
.consent-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:1;
  min-height:48px;
  padding:12px 18px;
  border:1px solid var(--ink, #111214);
  border-radius:var(--radius, 4px);
  background:transparent;
  color:var(--ink, #111214);
  font:500 15px/1.35 var(--forj-font-ui, sans-serif);
  text-align:center;
  text-decoration:none;
  cursor:pointer;
}
.consent-button:hover{ background:var(--ink, #111214); color:var(--paper, #F2F1EE); }
.consent-button:active{ background:var(--ink-2, #2B2E30); color:var(--paper, #F2F1EE); }
.consent-button:disabled{ cursor:default; opacity:.6; background:transparent; color:var(--ink); }
.consent-panel__policy{ display:inline-block; margin-top:17px; font-size:14px; text-underline-offset:4px; }
.consent-panel :focus-visible,.consent-button:focus-visible{ outline:2px solid var(--ink, #111214); outline-offset:4px; }

@media (max-width:800px){
  .privacy-layout{ grid-template-columns:1fr; gap:32px; }
  .privacy-toc{ position:static; }
  .privacy-toc__links{ columns:2; column-gap:24px; }
  .privacy-toc a{ break-inside:avoid; }
}
@media (max-width:480px){
  .consent-panel{ inset:auto 12px 12px; width:calc(100% - 24px); padding:20px; max-height:calc(100dvh - 24px); }
  .consent-panel h2{ font-size:24px; }
  .consent-panel__actions{ gap:10px; }
  .consent-button{ padding:12px 10px; font-size:14px; }
  .privacy-table th,.privacy-table td{ padding-inline:6px; font-size:13px; }
  .privacy-table code{ font-size:11px; }
  .privacy-callout{ padding:16px 18px; }
}
@media (prefers-reduced-motion:reduce){
  .consent-panel *,.privacy-settings-link{ transition:none; animation:none; scroll-behavior:auto; }
}
@media print{
  .consent-panel,.privacy-toc,.privacy-settings-link{ display:none !important; }
  .privacy-layout{ display:block; }
}
