/* PRIVACY POLICY. Token-only, so light + dark both work with no overrides. */

.pv-hero{ padding:170px 0 56px; background:linear-gradient(180deg,var(--bg-alt),var(--bg)); }
.pv-hero .op-crumbs{ max-width:none; margin:0 0 22px; padding:0; }
.pv-hero h1{ font-weight:300; font-size:clamp(34px,4.8vw,62px); line-height:1.04; letter-spacing:-.028em; margin:14px 0 18px; max-width:15ch; }
.pv-hero .lede{ font-size:18px; color:var(--mist); line-height:1.65; max-width:62ch; }
.pv-hero .lede a{ color:var(--amber); }
.pv-updated{
  margin-top:26px; display:inline-block;
  font-family:var(--font-mono); font-size:11px; letter-spacing:.12em; text-transform:uppercase;
  color:var(--faint); border:1px solid var(--glass-bd); border-radius:999px; padding:8px 16px;
}

/* layout: sticky contents beside the copy */
.pv-body{ padding:20px 0 120px; }
.pv-grid{ display:grid; grid-template-columns:240px 1fr; gap:64px; align-items:start; }

.pv-toc{ position:sticky; top:110px; }
.pv-tocl{
  font-family:var(--font-mono); font-size:10.5px; letter-spacing:.14em;
  text-transform:uppercase; color:var(--faint); margin-bottom:14px;
}
.pv-toc ol{ list-style:none; margin:0; padding:0; counter-reset:pv; border-left:1px solid var(--glass-bd); }
.pv-toc li{ counter-increment:pv; }
.pv-toc a{
  display:block; padding:8px 0 8px 16px; margin-left:-1px;
  border-left:2px solid transparent;
  font-size:13.5px; color:var(--mist); text-decoration:none; line-height:1.45;
  transition:color .18s var(--ease), border-color .18s var(--ease);
}
.pv-toc a::before{ content:counter(pv,decimal-leading-zero) "  "; color:var(--faint); font-family:var(--font-mono); font-size:10.5px; }
.pv-toc a:hover{ color:var(--amber); border-left-color:var(--amber); }

/* sections */
.pv-sec{ scroll-margin-top:110px; padding:0 0 44px; }
.pv-sec + .pv-sec{ border-top:1px solid var(--glass-bd); padding-top:44px; }
.pv-sec h2{
  font-weight:300; font-size:clamp(24px,3vw,36px); letter-spacing:-.02em;
  color:var(--cream); margin:0 0 20px;
}
.pv-sec h3{
  font-size:17px; font-weight:600; color:var(--cream);
  margin:30px 0 10px; letter-spacing:-.005em;
}
.pv-sec p{ font-size:16px; color:var(--mist); line-height:1.75; margin:0 0 16px; max-width:68ch; }
.pv-sec p a{ color:var(--amber); }

.pv-list{ list-style:none; margin:0 0 18px; padding:0; max-width:68ch; }
.pv-list li{
  position:relative; padding:9px 0 9px 26px;
  font-size:15.5px; color:var(--mist); line-height:1.7;
}
.pv-list li::before{
  content:""; position:absolute; left:4px; top:19px;
  width:6px; height:6px; border-radius:50%; background:var(--amber);
}

/* the honest-disclosure callout */
.pv-note{
  margin:20px 0; padding:20px 22px; border-radius:14px;
  border:1px solid rgba(226,163,60,.34); background:rgba(226,163,60,.07);
  font-size:15px; color:var(--mist); line-height:1.7; max-width:68ch;
}

/* subprocessor table */
.pv-tablewrap{ margin:22px 0 8px; overflow-x:auto; -webkit-overflow-scrolling:touch; }
.pv-table{ width:100%; border-collapse:collapse; min-width:640px; font-size:14px; }
.pv-table th{
  text-align:left; padding:0 16px 12px 0;
  font-family:var(--font-mono); font-size:10px; letter-spacing:.13em;
  text-transform:uppercase; color:var(--faint); font-weight:400;
  border-bottom:1px solid var(--glass-bd);
}
.pv-table td{
  padding:15px 16px 15px 0; vertical-align:top;
  color:var(--mist); line-height:1.6; border-bottom:1px solid var(--glass-bd);
}
.pv-table td strong{ color:var(--cream); font-weight:600; }

/* closing */
.pv-end{ margin-top:20px; padding:34px 32px; border:1px solid var(--glass-bd); border-radius:20px; background:var(--glass); }
.pv-end h2{ font-weight:300; font-size:clamp(22px,2.6vw,30px); letter-spacing:-.02em; color:var(--cream); margin:0 0 12px; }
.pv-end p{ font-size:15.5px; color:var(--mist); line-height:1.7; margin:0 0 22px; max-width:62ch; }

/* ---------------- responsive ---------------- */
@media(max-width:980px){
  .pv-grid{ grid-template-columns:1fr; gap:34px; }
  /* contents becomes a plain block at the top, not a sticky rail */
  .pv-toc{ position:static; }
  .pv-toc ol{
    display:grid; grid-template-columns:repeat(auto-fill,minmax(210px,1fr));
    gap:2px 18px; border-left:none;
  }
  .pv-toc a{ padding:7px 0; border-left:none; }
  .pv-toc a:hover{ border-left-color:transparent; }
}
@media(max-width:680px){
  .pv-hero{ padding:140px 0 44px; }
  .pv-body{ padding:10px 0 90px; }
  .pv-sec p, .pv-list li{ font-size:15.5px; }
  .pv-end{ padding:26px 22px; }
  /* table reflows to stacked rows with their own labels */
  .pv-tablewrap{ overflow-x:visible; }
  .pv-table{ min-width:0; }
  .pv-table thead{ display:none; }
  .pv-table tr{ display:block; padding:16px 0; border-bottom:1px solid var(--glass-bd); }
  .pv-table td{ display:grid; grid-template-columns:96px 1fr; gap:12px; padding:5px 0; border:none; }
  .pv-table td::before{
    content:attr(data-l);
    font-family:var(--font-mono); font-size:9.5px; letter-spacing:.1em;
    text-transform:uppercase; color:var(--faint); padding-top:3px;
  }
}
