/* AstroQuant — legal page styles. Generated from inline <style>. */
  /* ─── LEGAL — Observatory language, quiet & editorial ──────────────────── */

  /* Static calm tint at the very top, fading to pure black (no scroll sweep —
     a legal page should feel settled, not animated). */
  .legal-bg {
    position: fixed; inset: 0; z-index: -1; pointer-events: none;
    background:
      radial-gradient(
        ellipse 90% 42% at 50% -8%,
        color-mix(in srgb, var(--aq-tint-calm) 48%, transparent) 0,
        transparent 56%
      ),
      var(--aq-bg);
  }
  .legal-bg::before {
    content: ""; position: absolute; inset: 0;
    background-image:
      radial-gradient(circle 1.5px at 14% 16%, rgba(255,255,255,0.45), transparent 60%),
      radial-gradient(circle 1px   at 82% 10%, rgba(255,255,255,0.3),  transparent 60%),
      radial-gradient(circle 1px   at 30% 30%, rgba(255,255,255,0.25), transparent 60%);
  }

  /* ─── HERO ─────────────────────────────────────────────────────────────── */
  .lg-hero {
    max-width: 1180px;
    margin: 0 auto;
    padding: 64px 56px 48px;
  }
  .lg-hero__eyebrow {
    font-size: 11px; font-weight: 500;
    letter-spacing: 0.24em; text-transform: uppercase;
    color: var(--aq-fg-tertiary);
    margin-bottom: 22px;
  }
  .lg-hero__title {
    font-size: clamp(48px, 6.5vw, 96px);
    font-weight: var(--aq-w-bold);
    letter-spacing: -0.035em; line-height: 0.94;
    margin: 0 0 24px; text-wrap: balance;
  }
  .lg-hero__title em { font-style: italic; font-weight: var(--aq-w-regular); color: var(--aq-fg-secondary); }
  .lg-hero__sub {
    font-size: 18px; line-height: 1.6;
    color: var(--aq-fg-secondary);
    max-width: 600px; margin: 0; text-wrap: pretty;
  }
  .lg-hero__sub em { color: var(--aq-fg); font-style: normal; font-weight: 500; }

  /* ─── LAYOUT — sticky TOC + documents ──────────────────────────────────── */
  .lg-layout {
    max-width: 1180px;
    margin: 0 auto;
    padding: 24px 56px 40px;
    display: grid;
    grid-template-columns: 232px 1fr;
    gap: 72px;
    align-items: start;
  }

  /* TOC */
  .lg-toc {
    position: sticky; top: 96px;
    border-top: 1px solid var(--aq-divider);
    padding-top: 22px;
  }
  .lg-toc__label {
    font-size: 10px; font-weight: 500;
    letter-spacing: 0.2em; text-transform: uppercase;
    color: var(--aq-fg-tertiary);
    margin-bottom: 18px;
  }
  .lg-toc__list { display: flex; flex-direction: column; gap: 2px; }
  .lg-toc__link {
    display: flex; align-items: baseline; gap: 12px;
    padding: 9px 0;
    font-size: 15px; color: var(--aq-fg-secondary);
    transition: color var(--aq-d-fast) var(--aq-ease);
    border-bottom: 1px solid transparent;
  }
  .lg-toc__link .num {
    font-size: 11px; color: var(--aq-fg-tertiary);
    font-variant-numeric: tabular-nums; letter-spacing: 0.04em;
    min-width: 18px;
  }
  .lg-toc__link:hover { color: var(--aq-fg); }
  .lg-toc__link.active { color: var(--aq-fg); }
  .lg-toc__link.active .num { color: var(--aq-tint-calm); }
  .lg-toc__updated {
    margin-top: 26px; padding-top: 20px;
    border-top: 1px solid var(--aq-divider);
    font-size: 12px; line-height: 1.6; color: var(--aq-fg-tertiary);
  }
  .lg-toc__updated strong { color: var(--aq-fg-secondary); font-weight: 500; display: block; margin-top: 4px; }

  /* Documents column */
  .lg-docs { min-width: 0; }
  .lg-doc { padding-bottom: 88px; scroll-margin-top: 92px; }
  .lg-doc:last-child { padding-bottom: 24px; }

  .lg-doc__head {
    border-top: 1px solid var(--aq-divider);
    padding-top: 26px; margin-bottom: 32px;
  }
  .lg-doc__index {
    font-size: 11px; font-weight: 500;
    letter-spacing: 0.22em; text-transform: uppercase;
    color: var(--aq-fg-tertiary);
    margin-bottom: 16px;
    display: flex; align-items: center; gap: 12px;
  }
  .lg-doc__index .dot { width: 7px; height: 7px; border-radius: 50%; background: var(--aq-tint-calm); box-shadow: 0 0 10px var(--aq-tint-calm); }
  .lg-doc__title {
    font-size: clamp(32px, 4vw, 46px);
    font-weight: var(--aq-w-bold);
    letter-spacing: -0.03em; line-height: 1;
    margin: 0 0 16px;
  }
  .lg-doc__title em { font-style: italic; font-weight: var(--aq-w-regular); color: var(--aq-fg-secondary); }
  .lg-doc__lede {
    font-size: 16px; line-height: 1.65; color: var(--aq-fg-secondary);
    max-width: 620px; margin: 0; text-wrap: pretty;
  }
  .lg-doc__lede em { color: var(--aq-fg); font-style: normal; font-weight: 500; }

  /* Prose blocks */
  .lg-block { margin-bottom: 38px; }
  .lg-block:last-child { margin-bottom: 0; }
  .lg-block__h {
    font-size: 13px; font-weight: 600;
    letter-spacing: 0.14em; text-transform: uppercase;
    color: var(--aq-fg);
    margin: 0 0 14px;
    display: flex; align-items: baseline; gap: 12px;
  }
  .lg-block__h .k {
    font-size: 11px; color: var(--aq-fg-tertiary);
    font-variant-numeric: tabular-nums; font-weight: 500; letter-spacing: 0.04em;
  }
  .lg-block p {
    font-size: 15px; line-height: 1.72; color: var(--aq-fg-secondary);
    margin: 0 0 14px; max-width: 640px; text-wrap: pretty;
  }
  .lg-block p:last-child { margin-bottom: 0; }
  .lg-block p em { color: var(--aq-fg); font-style: normal; font-weight: 500; }
  .lg-block a.inline { color: var(--aq-fg); border-bottom: 1px solid var(--aq-glass-stroke); transition: border-color var(--aq-d-fast) var(--aq-ease); }
  .lg-block a.inline:hover { border-color: var(--aq-fg); }

  /* Bullet list — restrained, no markers, hanging glyph */
  .lg-list { list-style: none; padding: 0; margin: 4px 0 14px; max-width: 640px; }
  .lg-list li {
    position: relative; padding-left: 22px;
    font-size: 15px; line-height: 1.7; color: var(--aq-fg-secondary);
    margin-bottom: 11px; text-wrap: pretty;
  }
  .lg-list li:last-child { margin-bottom: 0; }
  .lg-list li::before {
    content: ""; position: absolute; left: 2px; top: 0.7em;
    width: 5px; height: 5px; border-radius: 50%;
    background: var(--aq-fg-tertiary);
  }
  .lg-list li strong { color: var(--aq-fg); font-weight: 500; }

  /* Definition rows — used for data-sources & retention table */
  .lg-defs {
    border-top: 1px solid var(--aq-divider);
    margin: 6px 0 14px;
  }
  .lg-def {
    display: grid; grid-template-columns: 184px 1fr; gap: 28px;
    padding: 18px 0;
    border-bottom: 1px solid var(--aq-divider);
    align-items: start;
  }
  .lg-def__term {
    font-size: 14px; font-weight: 500; color: var(--aq-fg);
    letter-spacing: -0.005em;
  }
  .lg-def__term small {
    display: block; margin-top: 4px;
    font-size: 11px; font-weight: 400; color: var(--aq-fg-tertiary);
    letter-spacing: 0.08em; text-transform: uppercase;
  }
  .lg-def__val { font-size: 14px; line-height: 1.65; color: var(--aq-fg-secondary); text-wrap: pretty; }

  /* Quiet callout note */
  .lg-note {
    background: var(--aq-card);
    border-radius: var(--aq-radius-lg);
    padding: 22px 24px;
    margin: 20px 0;
    max-width: 640px;
    display: grid; grid-template-columns: 26px 1fr; gap: 16px; align-items: start;
  }
  .lg-note__glyph {
    width: 26px; height: 26px; border-radius: 50%;
    background: rgba(255,255,255,0.06);
    display: grid; place-items: center;
    font-size: 13px; color: var(--aq-fg-secondary);
  }
  .lg-note p { margin: 0; font-size: 14px; line-height: 1.65; color: var(--aq-fg-secondary); }
  .lg-note p strong { color: var(--aq-fg); font-weight: 500; }

  /* Plain-English summary strip atop each doc */
  .lg-summary {
    display: flex; align-items: baseline; gap: 14px;
    padding: 14px 18px;
    background: rgba(255,255,255,0.025);
    border-radius: var(--aq-radius-md);
    margin-bottom: 30px; max-width: 640px;
  }
  .lg-summary__tag {
    flex-shrink: 0;
    font-size: 10px; font-weight: 600;
    letter-spacing: 0.16em; text-transform: uppercase;
    color: var(--aq-tint-calm);
    padding-top: 2px;
  }
  .lg-summary p { margin: 0; font-size: 14px; line-height: 1.6; color: var(--aq-fg-secondary); }
  .lg-summary p em { color: var(--aq-fg); font-style: normal; font-weight: 500; }

  /* Back-to-top / contact closing */
  .lg-closing {
    border-top: 1px solid var(--aq-divider);
    max-width: 1180px; margin: 0 auto;
    padding: 56px 56px 24px;
    display: flex; align-items: center; justify-content: space-between;
    gap: 24px; flex-wrap: wrap;
  }
  .lg-closing p { margin: 0; font-size: 14px; color: var(--aq-fg-secondary); line-height: 1.6; max-width: 460px; }
  .lg-closing p strong { color: var(--aq-fg); font-weight: 500; }
  .lg-closing a.inline { color: var(--aq-fg); border-bottom: 1px solid var(--aq-glass-stroke); }
  .lg-closing a.inline:hover { border-color: var(--aq-fg); }

  /* ─── RESPONSIVE ───────────────────────────────────────────────────────── */
  @media (max-width: 980px) {
    .lg-hero { padding: 48px 24px 36px; }
    .lg-layout { grid-template-columns: 1fr; gap: 0; padding: 16px 24px 24px; }
    .lg-toc {
      position: static; top: auto;
      margin-bottom: 40px;
    }
    .lg-toc__list { flex-direction: row; flex-wrap: wrap; gap: 8px 22px; }
    .lg-toc__updated { display: none; }
    .lg-closing { padding: 48px 24px 24px; }
    .lg-def { grid-template-columns: 1fr; gap: 6px; }
  }
