/* Legal pages: typography for privacy, terms, etc. Uses ds.css tokens. */

.legal{max-width:760px;margin:0 auto;padding:clamp(56px,8vw,96px) 28px clamp(80px,10vw,120px);color:var(--ink);}
.legal .legal-eyebrow{font-family:var(--mono);font-size:12.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted-2);}
.legal h1{font-size:clamp(34px,5vw,52px);font-weight:900;letter-spacing:-.035em;color:var(--head);margin:16px 0 12px;line-height:1.05;}
.legal .legal-meta{font-size:14px;color:var(--muted);margin:0 0 44px;}
.legal h2{font-size:22px;font-weight:800;letter-spacing:-.018em;color:var(--head);margin:38px 0 12px;}
.legal h3{font-size:16.5px;font-weight:700;color:var(--head);margin:24px 0 8px;}
.legal p,.legal li{font-size:16px;line-height:1.65;color:var(--ink);}
.legal p{margin:0 0 14px;}
.legal ul,.legal ol{padding-left:22px;margin:0 0 18px;}
.legal li{margin-bottom:6px;}
.legal strong{font-weight:700;color:var(--head);}
.legal a{color:var(--acc);font-weight:600;}
.legal hr{border:none;border-top:1px solid var(--border);margin:40px 0;}
.legal .callout{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-lg);padding:18px 22px;margin:18px 0 22px;font-size:15px;color:var(--ink);}
.legal .legal-back{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--muted);margin-bottom:32px;}
.legal .legal-back:hover{color:var(--ink);text-decoration:none;}
.legal .legal-back svg{width:16px;height:16px;}

.legal table{width:100%;border-collapse:collapse;margin:12px 0 22px;font-size:14.5px;}
.legal th,.legal td{text-align:left;padding:10px 13px;border:1px solid var(--border);vertical-align:top;line-height:1.5;}
.legal th{background:var(--surface-2);font-weight:700;color:var(--head);font-size:13px;letter-spacing:.02em;}
@media(max-width:560px){.legal table{font-size:13px;} .legal th,.legal td{padding:8px 9px;}}
/* Mobile: the sub-processor table is wider than small screens; scroll it
   sideways inside the article instead of overflowing the page. */
@media(max-width:560px){
  .legal table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;}
  .legal th,.legal td{min-width:110px;}
}

/* Overflow fixes (inert on desktop, where everything already fits on one line):
   long unbreakable strings (Google OAuth scope URLs, emails) may wrap anywhere,
   and the legal footer link row wraps instead of forcing a wider page. */
.legal code,.legal a{overflow-wrap:anywhere;}
.legal-foot .foot-links{flex-wrap:wrap;}
.legal-foot .foot-copy{overflow-wrap:anywhere;}

.legal-foot{border-top:1px solid var(--border);background:var(--bg);}
.legal-foot .foot{max-width:1180px;margin:0 auto;padding:28px;display:flex;align-items:center;gap:28px;flex-wrap:wrap;}
.legal-foot .foot-links{display:flex;gap:22px;font-size:13.5px;color:var(--muted);}
.legal-foot .foot-links a{color:var(--muted);font-weight:500;}
.legal-foot .foot-links a:hover{color:var(--ink);text-decoration:none;}
.legal-foot .foot-copy{font-size:13px;color:var(--muted-2);margin-left:auto;}
