/* Legal documents: /terms, /privacy, /cookies. One readable column, numbered clauses, tables where they belong. */

.lg-head { padding-top: clamp(40px, 6vw, 80px); padding-bottom: clamp(28px, 4vw, 48px); }
.lg-head-in { max-width: calc(70ch + 88px); border-bottom: 2px solid var(--ink); padding-bottom: 28px; }
.lg-head h1 { font-size: clamp(40px, 5.6vw, 76px); margin-bottom: .25em; }
.lg-meta { font: 500 13px/1.5 var(--f-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--muted); margin: 0 0 18px; }
.lg-intro { font-size: clamp(18px, 1.4vw, 20px); max-width: 38em; margin: 0; }

.lg-doc { padding-bottom: clamp(56px, 8vw, 112px); }
.lg-sec { position: relative; max-width: calc(70ch + 88px); padding: 28px 0 8px 88px; border-bottom: 1px solid var(--line); scroll-margin-top: 84px; }
.lg-sec:last-of-type { border-bottom: 0; }
.lg-sec h2 { font-size: clamp(24px, 2.4vw, 32px); line-height: 1.1; margin-bottom: .6em; }
.lg-sec h2 .lg-n { position: absolute; left: 0; top: 32px; font: 500 15px/1 var(--f-mono); letter-spacing: .04em; color: var(--blue);
  border: 1.5px solid var(--blue); padding: 6px 8px 5px; min-width: 44px; text-align: center; }
.lg-sec h3 { font-size: 20px; margin: 1.4em 0 .5em; }
.lg-sec p, .lg-sec li { font-size: 17px; line-height: 1.65; }
.lg-sec ul, .lg-sec ol { margin: 0 0 1em; padding-left: 1.3em; }
.lg-sec li { margin-bottom: .35em; }
.lg-sec li::marker { color: var(--blue); }
.lg-sec strong { font-weight: 600; }
.lg-sec a { overflow-wrap: anywhere; }
.lg-sec code { font: 500 15px/1 var(--f-mono); background: var(--surface-2); padding: 2px 6px; }
.lg-key { border-left: 4px solid var(--navy); padding: 4px 0 4px 18px; margin: 0 0 1em; }

/* tables: spec-sheet style, scroll sideways on narrow screens */
.lg-scroll { overflow-x: auto; margin: 8px 0 24px; border-top: 2px solid var(--ink); }
.lg-table { width: 100%; min-width: 560px; border-collapse: collapse; font-size: 15px; line-height: 1.45; }
.lg-table th, .lg-table td { text-align: left; vertical-align: top; padding: 12px 14px 12px 0; border-bottom: 1px solid var(--line); }
.lg-table thead th { font: 500 13px/1.3 var(--f-mono); letter-spacing: .07em; text-transform: uppercase; color: var(--muted); }
.lg-table tbody th { font-weight: 600; }
.lg-table code { font-size: 14px; white-space: nowrap; }

.lg-foot { max-width: calc(70ch + 88px); padding: 24px 0 0 88px; border-top: 2px solid var(--ink); }
.lg-foot p { margin: 0; font-size: 16px; }
.lg-foot a { font-weight: 600; margin-right: 18px; }

/* text stays at ~70ch; tables may run wider than the text column on large screens */
@media (min-width: 1024px) {
  .lg-scroll { width: min(980px, calc(100vw - 2 * var(--gut) - 88px)); }
}

@media (max-width: 720px) {
  .lg-sec, .lg-foot { padding-left: 0; }
  .lg-sec h2 .lg-n { position: static; display: inline-block; vertical-align: middle; margin: 0 10px 4px 0; font-size: 14px; min-width: 0; }
  .lg-sec p, .lg-sec li { font-size: 16.5px; }
}

@media print {
  .lg-scroll { overflow: visible; }
  .lg-table { min-width: 0; }
}
