/* Legal pages. Long prose read under obligation, so the job is legibility,
   not personality: generous measure, real hierarchy, tables that survive a
   phone. Tokens only, no literal colours. */

.legal-head{padding:120px 0 34px;border-bottom:1px solid var(--border)}
@media (max-width:640px){.legal-head{padding:96px 0 26px}}
.legal-head .eyebrow{font-size:12px;font-style:italic;color:var(--accent-text);margin:0 0 10px}
.legal-head .eyebrow a{color:inherit;border-bottom:1px solid var(--ink-200)}
.legal-head h1{font-size:clamp(30px,5vw,46px);font-weight:300;letter-spacing:-.02em;line-height:1.1;margin:0}
.legal-dates{margin:14px 0 0;font-size:13px;color:var(--ink-400)}

/* Vertical only. Setting the shorthand here zeroed the horizontal padding
   .wrap-narrow provides, so body prose ran flush to the edge of a phone. */
.legal-body{padding-top:38px;padding-bottom:110px;font-size:15.5px;line-height:1.75;color:var(--fg-2)}
.legal-body h2{font-size:19px;font-weight:600;color:var(--ink-900);letter-spacing:-.01em;margin:40px 0 12px;scroll-margin-top:90px}
.legal-body h3{font-size:16px;font-weight:600;color:var(--ink-900);margin:28px 0 8px;scroll-margin-top:90px}
.legal-body h2:first-child,.legal-body h3:first-child{margin-top:0}
.legal-body p{margin:0 0 15px;max-width:74ch}
.legal-body ul,.legal-body ol{margin:0 0 16px;padding-left:22px;max-width:74ch}
.legal-body li{margin:0 0 7px}
.legal-body strong{color:var(--ink-900);font-weight:600}
.legal-body a{color:var(--ink-900);border-bottom:1px solid var(--ink-200)}
.legal-body a:hover{border-color:var(--accent-deep)}
.legal-body code{font-size:.92em;background:var(--paper);padding:1px 5px;border-radius:3px}

/* Tables scroll inside their own box. Several of these have five columns of
   subprocessor detail, and without this the page itself scrolls sideways on a
   phone, which breaks every other section too. */
.legal-table-wrap{overflow-x:auto;margin:0 0 22px;border:1px solid var(--border);border-radius:8px;background:var(--white)}
.legal-table-wrap:focus-visible{outline:var(--focus-outline);outline-offset:2px}
.legal-table{border-collapse:collapse;width:100%;font-size:13.5px;line-height:1.6;min-width:460px}
.legal-table th,.legal-table td{text-align:left;padding:10px 14px;border-bottom:1px solid var(--border);vertical-align:top}
.legal-table th{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-400);background:var(--paper);white-space:nowrap}
.legal-table tr:last-child td{border-bottom:0}

/* The index */
.legal-intro{font-size:16px;max-width:70ch;margin:0 0 30px}
.legal-index{list-style:none;margin:0 0 34px;padding:0;max-width:74ch}
.legal-index li{margin:0 0 10px}
.legal-index a{display:block;padding:16px 18px;border:1px solid var(--border);border-radius:9px;background:var(--white);text-decoration:none;border-bottom:1px solid var(--border);transition:border-color .15s var(--ease-out),box-shadow .15s var(--ease-out)}
.legal-index a:hover{border-color:var(--accent-deep);box-shadow:var(--shadow-1)}
.legal-index .li-title{display:block;font-size:15.5px;font-weight:600;color:var(--ink-900);margin-bottom:3px}
.legal-index .li-blurb{display:block;font-size:13.5px;color:var(--fg-2);line-height:1.6}
.legal-index .li-date{display:block;font-size:11.5px;color:var(--ink-400);margin-top:6px}
.legal-note{font-size:13.5px;color:var(--ink-400);max-width:74ch;padding-top:20px;border-top:1px solid var(--border)}

@media (prefers-reduced-motion:reduce){.legal-index a{transition:none}}
html.sw-render .legal-index a{transition:none}
