/* ── Legal documents — shared shell for /legal/* ──────────────────────────── */

.doc { max-width: 820px; margin: 0 auto; padding: 0 clamp(16px, 4vw, 40px); }

.doc__head { padding: clamp(40px, 6vw, 72px) 0 clamp(26px, 3vw, 38px); border-bottom: 1px solid var(--rule); }
.doc__eyebrow {
  font-family: var(--mono); font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--accent); display: flex; align-items: center; gap: 12px; margin-bottom: 18px;
}
.doc__eyebrow::before { content: ''; width: 28px; height: 1px; background: var(--accent); flex: none; }
.doc__title {
  font-family: var(--display); font-weight: 400;
  font-size: clamp(34px, 5vw, 54px); line-height: 1.04; letter-spacing: -0.03em;
  color: var(--ink); margin: 0 0 18px; text-wrap: balance;
}
.doc__meta { display: flex; flex-wrap: wrap; gap: 8px 28px; font-family: var(--mono); font-size: 11.5px; color: var(--ink-3); }
.doc__meta b { color: var(--ink-2); font-weight: 400; }

.doc__lede {
  font-family: var(--sans); font-size: clamp(16px, 1.5vw, 18px); line-height: 1.6;
  color: var(--ink-2); margin: clamp(26px, 3vw, 36px) 0 0; text-wrap: pretty;
}
.doc__lede a { color: var(--accent); border-bottom: 1px solid var(--rule); }
.doc__lede a:hover { border-bottom-color: var(--accent); }

.doc__body { padding: clamp(30px, 4vw, 48px) 0 clamp(50px, 7vw, 90px); }

.doc h2 {
  font-family: var(--display); font-weight: 400;
  font-size: clamp(22px, 2.4vw, 29px); letter-spacing: -0.02em; line-height: 1.2;
  color: var(--ink); margin: clamp(38px, 4.5vw, 58px) 0 6px;
}
.doc h2:first-child { margin-top: 0; }
.doc h2 + .doc__note { margin-top: 0; }
.doc h3 {
  font-family: var(--sans); font-weight: 600; font-size: 16px; letter-spacing: -0.01em;
  color: var(--ink); margin: 26px 0 4px;
}
.doc p { font-family: var(--sans); font-size: 15.5px; line-height: 1.65; color: var(--ink-2); margin: 12px 0; max-width: 68ch; }
.doc p a, .doc li a { color: var(--accent); border-bottom: 1px solid var(--rule-2); }
.doc p a:hover, .doc li a:hover { border-bottom-color: var(--accent); }
.doc ul { margin: 12px 0; padding-left: 20px; }
.doc li { font-family: var(--sans); font-size: 15.5px; line-height: 1.6; color: var(--ink-2); margin: 5px 0; }
.doc code { font-family: var(--mono); font-size: 0.9em; background: var(--paper-2); border: 1px solid var(--rule-2); padding: 1px 5px; border-radius: 2px; color: var(--ink); }

.doc__note {
  background: var(--paper-2); border-left: 2px solid var(--accent);
  padding: 16px 20px; margin: 22px 0;
}
.doc__note p { margin: 0; font-size: 14.5px; }
.doc__note p + p { margin-top: 8px; }

/* ── sub-processor entries ── */
.sp { border-top: 1px solid var(--rule); margin-top: 10px; }
.sp__item { padding: 22px 0; border-bottom: 1px solid var(--rule-2); }
.sp__item:last-child { border-bottom: 0; }
.sp__top { display: flex; align-items: baseline; gap: 14px; flex-wrap: wrap; margin-bottom: 8px; }
.sp__name { font-family: var(--display); font-size: 21px; letter-spacing: -0.02em; color: var(--ink); }
.sp__links { font-family: var(--mono); font-size: 11px; letter-spacing: 0.06em; color: var(--ink-3); display: flex; gap: 12px; }
.sp__links a { color: var(--ink-3); border-bottom: 1px solid var(--rule-2); }
.sp__links a:hover { color: var(--accent); border-bottom-color: var(--accent); }
.sp__what { font-family: var(--sans); font-size: 15px; line-height: 1.6; color: var(--ink-2); margin: 0 0 12px; max-width: 68ch; }
.sp__rows { display: grid; grid-template-columns: 116px 1fr; gap: 6px 16px; }
@media (max-width: 560px) { .sp__rows { grid-template-columns: 1fr; gap: 2px; } .sp__rows dt { margin-top: 10px; } }
.sp__rows dt { font-family: var(--mono); font-size: 10.5px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--ink-3); padding-top: 3px; }
.sp__rows dd { font-family: var(--sans); font-size: 14.5px; line-height: 1.55; color: var(--ink-2); margin: 0; }

/* ── document footer ── */
.doc__foot { border-top: 1px solid var(--rule); padding: 26px 0 60px; }
.doc__foot-links { display: flex; flex-wrap: wrap; gap: 8px 22px; font-family: var(--mono); font-size: 11.5px; }
.doc__foot-links a { color: var(--ink-3); }
.doc__foot-links a:hover { color: var(--accent); }
.doc__foot-legal { font-family: var(--mono); font-size: 11px; color: var(--ink-4); margin-top: 14px; line-height: 1.6; }
