/* ======================================================================
   PRIVACY — the notice, on its own page (/privacy)
   ====================================================================== */
/* read like a data sheet: who is responsible, then one row per flow (what · why · lawful basis · where it goes · how long),
   then who handles it (and where) and your rights. Static text: a notice is readable the moment /privacy lands on it. */
.c-privacy { padding: clamp(150px, 15vw, 220px) 0 clamp(88px, 10vw, 160px); }
.c-pv-head { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: clamp(16px, 2vw, 28px); row-gap: 28px; align-items: end; }
.c-pv-head .k { grid-column: 1 / -1; }
.c-pv-intro { grid-column: 1 / span 7; }
.c-pv-intro h1 em { padding-right: .08em; }
.c-pv-lede { margin-top: clamp(20px, 2.2vw, 30px); max-width: 50ch; font-size: clamp(17px, 1.3vw, 19.5px); line-height: 1.5; color: var(--bone-2); }
.c-pv-ctrl { grid-column: 9 / span 4; margin: 0; display: grid; gap: 16px; padding-left: clamp(20px, 2vw, 28px); border-left: 1px solid var(--line-2); }
.c-pv-ctrl dd { margin: 6px 0 0; font-size: 15.5px; line-height: 1.5; color: var(--bone); }
.c-pv-flows { margin-top: clamp(48px, 6vw, 88px); border-top: 1px solid var(--line-2); }
.c-pv-flow { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: clamp(16px, 2vw, 28px); row-gap: 20px; padding: clamp(28px, 3vw, 44px) 0; border-bottom: 1px solid var(--line); }
.c-pv-fh { grid-column: 1 / span 4; display: flex; align-items: baseline; gap: 18px; }
.c-pv-n { flex: none; font-variant-numeric: tabular-nums; }
.c-pv-fh h3 { font-weight: 300; font-size: clamp(24px, calc(2.1 * var(--type-vw, 1vw)), 32px); line-height: 1.08; letter-spacing: -.025em; max-width: 13ch; }
.c-pv-dl { grid-column: 5 / -1; margin: 0; display: grid; gap: 14px; }
.c-pv-dl > div { display: grid; grid-template-columns: 148px minmax(0, 1fr); column-gap: 24px; }
.c-pv-dl dt { padding-top: .4em; font-size: 11px; }
.c-pv-dl dd { margin: 0; max-width: 64ch; font-size: 16.5px; line-height: 1.55; color: var(--bone-2); }
.c-pv-more { margin-top: clamp(48px, 5.4vw, 80px); display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: clamp(32px, 6vw, 112px); row-gap: 48px; }
.c-pv-col h3 { font-weight: 300; font-size: clamp(24px, calc(2.1 * var(--type-vw, 1vw)), 32px); line-height: 1.08; letter-spacing: -.025em; }
.c-pv-prov { margin-top: 22px; border-top: 1px solid var(--line); }
.c-pv-prov li { display: grid; grid-template-columns: 148px minmax(0, 1fr); column-gap: 24px; padding: 13px 0; border-bottom: 1px solid var(--line); font-size: 16px; line-height: 1.5; }
.c-pv-prov b { font-weight: 500; color: var(--bone); }
.c-pv-prov span { color: var(--bone-2); }
.c-pv-p { margin-top: 18px; max-width: 58ch; font-size: 16.5px; line-height: 1.55; color: var(--bone-2); }
.c-pv-col h3 + .c-pv-p { margin-top: 22px; }
/* international transfers: one more row in the providers' rhythm, labelled like the flows */
.c-pv-xfer { display: grid; grid-template-columns: 148px minmax(0, 1fr); column-gap: 24px; align-items: baseline; margin-top: 18px; font-size: 15px; line-height: 1.55; color: var(--bone-2); }
.c-pv-xfer .mono { font-size: 11px; }
.c-privacy a.link-u { color: var(--bone); background-size: 100% 1px; background-image: linear-gradient(var(--line-3), var(--line-3)); }
.c-privacy a.link-u:hover, .c-privacy a.link-u:focus-visible { background-image: linear-gradient(var(--signal), var(--signal)); }
@media (max-width: 900px) {
  .c-pv-intro, .c-pv-ctrl { grid-column: 1 / -1; }
  .c-pv-ctrl { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 18px 24px; padding: 20px 0 0; border-left: 0; border-top: 1px solid var(--line-2); }
  .c-pv-fh, .c-pv-dl { grid-column: 1 / -1; }
  .c-pv-fh h3 { max-width: none; }
  .c-pv-more { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
  .c-pv-dl { gap: 18px; }
  .c-pv-dl > div, .c-pv-prov li, .c-pv-xfer { grid-template-columns: 1fr; row-gap: 6px; }
  .c-pv-dl dt, .c-pv-xfer .mono { padding-top: 0; font-size: 11.5px; }
  .c-pv-dl dd, .c-pv-p { font-size: 16px; }
}
