
/* ============================================================================
   legal.css — the four legal pages (privacy, terms, AI governance,
   clinical compliance). Sticky ToC rail + long-form document typography on
   the shared token stack. Everything scoped to .page-legal.
   ============================================================================ */

/* --- hero ------------------------------------------------------------------ */
.page-legal .lg-hero__pad{padding-bottom:clamp(24px,3vw,40px)}
.page-legal .lg-title{margin:14px 0 0;max-width:24ch}
.page-legal .lg-preface{font-family:var(--ds-font-display);font-style:italic;font-size:var(--ds-text-hero-lead);color:var(--ds-text-secondary);margin:clamp(14px,1.6vw,20px) 0 0;max-width:66ch;line-height:1.5}
.page-legal .lg-meta{font-family:var(--ds-font-ui);font-size:var(--ds-text-meta);font-weight:600;letter-spacing:.04em;color:var(--ds-color-copper-ink);margin:clamp(12px,1.4vw,18px) 0 0;text-transform:uppercase}

/* --- two-column body --------------------------------------------------------- */
.page-legal .lg-body .padding-global{padding-bottom:clamp(60px,7vw,110px)}
.page-legal .lg-cols{display:grid;grid-template-columns:280px minmax(0,1fr);gap:clamp(32px,4vw,64px);align-items:start}
.page-legal .lg-cols > *{min-width:0}
.page-legal .lg-toc{position:sticky;top:96px}
.page-legal .lg-toc__box{background:var(--ds-surface-raised);border:1px solid var(--ds-color-ink-a10);border-radius:var(--ds-radius-base,3px);box-shadow:var(--elev-1);padding:clamp(16px,1.8vw,22px)}
.page-legal .lg-toc__box summary{font-family:var(--ds-font-ui);font-size:var(--ds-text-micro);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ds-color-copper-ink);cursor:pointer;list-style:none}
.page-legal .lg-toc__box summary::-webkit-details-marker{display:none}
.page-legal .lg-toc__list{display:flex;flex-direction:column;gap:2px;margin-top:12px}
.page-legal .lg-toc__list a{font-family:var(--ds-font-ui);font-size:13.5px;font-weight:500;color:var(--ds-color-green-deep);text-decoration:none;line-height:1.35;padding:7px 10px;border-radius:3px;transition:background var(--ds-dur-fast) var(--ease),color var(--ds-dur-fast) var(--ease)}
.page-legal .lg-toc__list a:hover{background:var(--ds-color-green-50);color:var(--ds-color-green)}

/* --- document typography ------------------------------------------------------ */
.page-legal .legal-doc{max-width:76ch}
.page-legal .legal-doc h2{font-family:var(--ds-font-display);font-weight:500;font-size:var(--ds-text-h4);letter-spacing:-.02em;color:var(--ds-color-green-deep);margin:clamp(40px,4.5vw,60px) 0 14px;padding-top:clamp(18px,2vw,26px);border-top:1px solid var(--ds-color-ink-a10);max-width:none;position:relative}
.page-legal .legal-doc h2:first-child{margin-top:0;border-top:0;padding-top:0}
.page-legal .legal-doc h3{font-family:var(--ds-font-display);font-weight:500;font-size:var(--ds-text-card-title);letter-spacing:-.015em;color:var(--ds-color-green-deep);margin:clamp(24px,2.6vw,34px) 0 10px;max-width:none}
.page-legal .legal-doc p{font-family:var(--ds-font-body);font-size:var(--ds-text-section-desc);color:var(--ds-text-primary);line-height:1.62;margin:0 0 14px;max-width:76ch}
.page-legal .legal-doc li{font-family:var(--ds-font-body);font-size:var(--ds-text-section-desc);color:var(--ds-text-primary);line-height:1.65;margin:0 0 8px}
.page-legal .legal-doc ul,.page-legal .legal-doc ol{padding-left:1.3em;margin:0 0 16px}
.page-legal .legal-doc strong{color:var(--ds-color-green-deep)}
.page-legal .legal-doc a{color:var(--ds-color-green);text-decoration:underline;text-underline-offset:3px}
.page-legal .legal-doc blockquote{margin:0 0 16px;padding:clamp(14px,1.6vw,20px) clamp(16px,2vw,24px);background:color-mix(in srgb,var(--ds-color-sage) 45%,var(--ds-color-bone));border:1px solid var(--ds-color-ink-a10);border-radius:var(--ds-radius-base,3px);font-style:italic}
.page-legal .legal-doc blockquote p{margin:0}

/* the plain-language summary gets callout treatment */
.page-legal .legal-doc h2:first-of-type + p{background:var(--ds-surface-raised);border:1px solid var(--ds-color-ink-a10);border-radius:var(--ds-radius-base,3px);padding:clamp(18px,2.2vw,28px);box-shadow:var(--elev-1);font-size:var(--ds-text-hero-lead);line-height:1.6}

/* tables (subprocessors, retention, cookies, framework map, version history) */
.page-legal .legal-doc table{width:100%;border-collapse:collapse;margin:6px 0 22px;font-family:var(--ds-font-body);font-size:calc(var(--ds-text-section-desc) * 0.94)}
.page-legal .legal-doc th{font-family:var(--ds-font-ui);font-size:var(--ds-text-micro);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ds-color-copper-ink);text-align:left;padding:10px 14px;border-bottom:2px solid var(--ds-color-ink-a20);background:color-mix(in srgb,var(--ds-color-sage) 35%,var(--ds-color-bone))}
.page-legal .legal-doc td{padding:11px 14px;border-bottom:1px solid var(--ds-color-ink-a10);vertical-align:top;color:var(--ds-text-primary);line-height:1.55}
.page-legal .legal-doc tr:nth-child(even) td{background:color-mix(in srgb,var(--ds-color-sage) 16%,transparent)}
.page-legal .legal-doc .lg-tablewrap{overflow-x:auto;margin:6px 0 22px}
.page-legal .legal-doc .lg-tablewrap table{margin:0;min-width:560px}

/* placeholder chips — clearly marked client-owned blanks */
.page-legal .lg-ph{display:inline;background:color-mix(in srgb,var(--ds-color-copper) 14%,var(--ds-color-bone));border:1px dashed color-mix(in srgb,var(--ds-color-copper) 45%,transparent);border-radius:3px;padding:1px 7px;font-family:var(--ds-font-ui);font-size:.82em;font-weight:600;letter-spacing:.02em;color:var(--ds-color-copper-ink);white-space:normal}

/* back-to-top affordance on each clause heading */
.page-legal .lg-top{position:absolute;right:0;top:clamp(18px,2vw,26px);font-family:var(--ds-font-ui);font-size:14px;font-weight:600;color:var(--ds-color-copper-ink);text-decoration:none;opacity:0;transition:opacity var(--ds-dur-fast) var(--ease);padding:2px 8px;border:1px solid var(--ds-color-ink-a10);border-radius:3px}
.page-legal .legal-doc h2:hover .lg-top{opacity:1}
.page-legal .lg-top:hover{background:var(--ds-color-green-50)}

/* --- responsive ---------------------------------------------------------------- */
@media (max-width: 980px){
  .page-legal .lg-cols{grid-template-columns:1fr}
  .page-legal .lg-toc{position:static}
  .page-legal .lg-toc__box{padding:14px 16px}
  .page-legal .lg-toc__box[open] .lg-toc__list{margin-top:10px}
}
@media (max-width: 560px){
  .page-legal .legal-doc td,.page-legal .legal-doc th{padding:8px 9px}
  .page-legal .lg-top{display:none}
}

/* smooth anchor jumps land below the fixed nav */
.page-legal .legal-doc h2{scroll-margin-top:96px}
