/* Shared styling for VAGO's legal pages.
 *
 * These are read, not skimmed, and often by someone deciding whether to trust
 * you with their customer list. So: long-form measure, real hierarchy, and a
 * light ground — a dark legal document reads as a novelty. Theme-aware anyway,
 * because the rest of the product is. */

:root {
  --ground:   #FFFFFF;
  --surface:  #F7F8FA;
  --line:     #E3E7EE;
  --line-2:   #CBD3E0;
  --ink:      #14181F;
  --ink-dim:  #47536B;
  --ink-mute: #78859B;
  --brand:    #C8212E;
  color-scheme: light;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --ground:   #0B1422;
    --surface:  #0E1A2C;
    --line:     #1E2E4A;
    --line-2:   #2A3F60;
    --ink:      #F2F5FF;
    --ink-dim:  #B8C6E0;
    --ink-mute: #7B90B8;
    --brand:    #E02535;
    color-scheme: dark;
  }
}

* { box-sizing: border-box; }

body {
  margin: 0;
  background: var(--ground);
  color: var(--ink);
  font-family: 'Barlow', -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.62;
  -webkit-font-smoothing: antialiased;
}

.wrap { max-width: 760px; margin: 0 auto; padding: 40px 22px 96px; }

header.mast {
  border-bottom: 2px solid var(--brand);
  padding-bottom: 18px;
  margin-bottom: 30px;
}

.mark {
  font-family: 'Bebas Neue', 'Barlow Condensed', Impact, sans-serif;
  font-size: 34px;
  letter-spacing: .06em;
  line-height: 1;
  color: var(--brand);
  text-decoration: none;
  display: inline-block;
}

h1 {
  font-family: 'Bebas Neue', 'Barlow Condensed', Impact, sans-serif;
  font-size: clamp(30px, 5vw, 42px);
  letter-spacing: .02em;
  line-height: 1.05;
  margin: 12px 0 6px;
  font-weight: 400;
  text-wrap: balance;
}

.dates { font-size: 13px; color: var(--ink-mute); }

h2 {
  font-size: 19px;
  font-weight: 700;
  margin: 38px 0 10px;
  padding-top: 14px;
  border-top: 1px solid var(--line);
  text-wrap: balance;
}

h3 { font-size: 15px; font-weight: 700; margin: 22px 0 6px; }

p, li { color: var(--ink-dim); }
p { margin: 0 0 14px; }
strong { color: var(--ink); font-weight: 600; }

ul, ol { margin: 0 0 14px; padding-left: 22px; }
li { margin-bottom: 6px; }

a { color: var(--brand); }

.lede {
  font-size: 17px;
  color: var(--ink-dim);
  border-left: 3px solid var(--brand);
  padding-left: 16px;
  margin: 0 0 26px;
}

.table-scroll { overflow-x: auto; margin: 0 0 16px; }
table { border-collapse: collapse; width: 100%; min-width: 480px; font-size: 14.5px; }
th, td { text-align: left; padding: 9px 14px 9px 0; border-bottom: 1px solid var(--line); vertical-align: top; }
th {
  font-size: 11.5px; text-transform: uppercase; letter-spacing: .1em;
  color: var(--ink-mute); font-weight: 700; border-bottom: 1px solid var(--line-2);
}
td { color: var(--ink-dim); }

/* Anything the operator still has to fill in before this is a real document. */
.fill {
  background: rgba(200,33,46,.10);
  border-bottom: 1px dashed var(--brand);
  padding: 0 3px;
  color: var(--ink);
  font-weight: 600;
}

.callout {
  background: var(--surface);
  border: 1px solid var(--line-2);
  border-radius: 6px;
  padding: 16px 18px;
  margin: 0 0 20px;
}
.callout p:last-child { margin-bottom: 0; }

footer {
  margin-top: 46px;
  padding-top: 18px;
  border-top: 1px solid var(--line);
  font-size: 13px;
  color: var(--ink-mute);
  display: flex;
  flex-wrap: wrap;
  gap: 8px 20px;
}
