/* Privacy notice: readable legal information using the portfolio's palette. */
.privacy-heading { padding-block:80px 54px; }
.privacy-heading h1 { margin-block:22px 28px; font-size:clamp(2.8rem,6.5vw,6.6rem); overflow-wrap:anywhere; }
.privacy-heading .large-copy { max-width:780px; }
.privacy-updated { margin-top:25px; font:11px/1.7 var(--mono); }
.privacy-layout { display:grid; grid-template-columns:230px minmax(0,850px); gap:clamp(35px,6vw,100px); padding-bottom:100px; align-items:start; }
.privacy-nav { display:grid; gap:12px; position:sticky; top:128px; }
.privacy-nav>a { color:var(--muted); font:12px/1.7 var(--mono); padding:5px 0; }
.privacy-nav>a:hover { color:var(--accent); }
.privacy-copy { min-width:0; }
.privacy-copy section { scroll-margin-top:125px; }
.privacy-copy section+section { margin-top:65px; padding-top:45px; border-top:1px solid var(--line); }
.privacy-copy h2 { font-size:clamp(1.8rem,3vw,2.7rem); margin-block:18px 24px; }
.privacy-copy h3 { font-size:1.25rem; margin-block:30px 15px; }
.privacy-copy p,.privacy-copy dd { font-size:15px; line-height:1.85; }
.privacy-copy a,.form-privacy a { color:var(--accent); text-decoration:underline; text-underline-offset:4px; overflow-wrap:anywhere; }
.privacy-source-links { display:flex; flex-wrap:wrap; gap:22px; }
.privacy-provider-list { list-style:none; padding:0; margin:0 0 26px; }
.privacy-provider-list li { border-left:2px solid var(--line); padding-left:22px; margin-bottom:25px; }
.privacy-provider-list strong { display:block; margin-bottom:8px; color:var(--text); }
.privacy-status { border:1px solid var(--line); border-left:3px solid var(--accent); background:var(--surface); padding:22px; margin-block:25px; }
.privacy-status strong { display:block; margin-bottom:10px; }
.privacy-retention { margin-block:28px; }
.privacy-retention>div { padding-block:20px; border-bottom:1px solid var(--line); }
.privacy-retention dt { color:var(--text); font-weight:600; margin-bottom:10px; }
.privacy-retention dd { color:var(--muted); }
@media (max-width:850px) {
  .privacy-layout { grid-template-columns:1fr; gap:40px; }
  .privacy-nav { position:static; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 24px; }
  .privacy-heading { padding-block:50px 35px; }
}
@media (max-width:420px) {
  .privacy-nav { grid-template-columns:1fr; }
  .privacy-status { padding:18px; }
}
