/* Shared styling for the legal pages. Same tokens as index.html, trimmed to
   what a text page needs. Edit colours in index.html first, then mirror the
   four brand tokens here so the pages stay in step. */

:root {
  --canvas:    #FFFFFF;
  --raise:     #FAFAFB;
  --sink:      #F5F6F8;
  --line:      #E4E6EA;
  --line-soft: #EEEFF2;
  --ink:       #101418;
  --ink-2:     #4B535C;
  --ink-3:     #7C848D;
  --accent:    #16202B;

  --s2: 8px;  --s3: 12px; --s4: 16px; --s5: 24px;
  --s6: 32px; --s7: 48px; --s8: 64px;

  --sans: "Inter Embedded", Inter, ui-sans-serif, system-ui, -apple-system,
          "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --display: "GT Walsheim Pro", "GT Walsheim", "Inter Embedded",
             ui-sans-serif, system-ui, sans-serif;

  color-scheme: light;
}

@media (prefers-color-scheme: dark) {
  :root {
    --canvas:    #0B0E12;
    --raise:     #12161B;
    --sink:      #10141A;
    --line:      #232A32;
    --line-soft: #1B2128;
    --ink:       #EDEFF2;
    --ink-2:     #A8B0B9;
    --ink-3:     #78818B;
    --accent:    #E4E8EC;
    color-scheme: dark;
  }
}

@font-face {
  font-family: "Inter Embedded";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../fonts/inter-subset.woff2") format("woff2");
}

*, *::before, *::after { box-sizing: border-box; }
body {
  margin: 0;
  background: var(--canvas);
  color: var(--ink);
  font-family: var(--sans);
  font-size: 17px;
  line-height: 1.68;
  font-optical-sizing: auto;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; border-radius: 3px; }

.wrap { width: min(760px, calc(100% - 48px)); margin-inline: auto; }

/* Header */
.bar { border-bottom: 1px solid var(--line-soft); }
.bar-inner { display: flex; align-items: center; gap: var(--s5); height: 64px; }
.mark {
  display: flex; align-items: center;
  font-family: var(--display); font-weight: 640;
  letter-spacing: -0.014em; text-decoration: none; font-size: 17.5px;
}
.bar-inner .back { margin-left: auto; font-size: 15px; color: var(--ink-2); text-decoration: none; }
.bar-inner .back:hover { color: var(--ink); }

/* Document */
main { padding: var(--s8) 0 var(--s8); }
h1 {
  font-family: var(--display);
  font-size: clamp(32px, 4vw, 44px);
  line-height: 1.1; letter-spacing: -0.028em; font-weight: 640;
  margin: 0 0 var(--s4);
  text-wrap: balance;
}
h2 {
  font-family: var(--display);
  font-size: 21px; line-height: 1.3; letter-spacing: -0.016em; font-weight: 620;
  margin: var(--s7) 0 var(--s3);
}
h3 { font-size: 17px; font-weight: 620; margin: var(--s5) 0 var(--s2); }
p, li { color: var(--ink-2); }
p { margin: 0 0 var(--s4); max-width: 68ch; }
ul, ol { margin: 0 0 var(--s4); padding-left: var(--s5); }
li { margin-bottom: var(--s2); }
strong { color: var(--ink); font-weight: 580; }
a[href]:not(.mark):not(.back) { color: var(--ink); text-underline-offset: 3px; }

.updated {
  font-size: 13.5px; color: var(--ink-3);
  padding-bottom: var(--s5); margin-bottom: var(--s6);
  border-bottom: 1px solid var(--line-soft);
}

/* A placeholder someone still has to fill in. Deliberately loud. */
.fill {
  background: var(--sink);
  border-bottom: 2px solid var(--ink-3);
  padding: 1px 5px; border-radius: 3px;
  font-weight: 560; color: var(--ink);
  white-space: nowrap;
}

.note {
  background: var(--raise);
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: var(--s5);
  margin: var(--s6) 0;
}
.note p:last-child { margin-bottom: 0; }
.note .k {
  display: block; font-size: 11.5px; font-weight: 580;
  letter-spacing: .12em; text-transform: uppercase;
  color: var(--ink-3); margin-bottom: var(--s2);
}

dl.contact { margin: 0 0 var(--s4); }
dl.contact dt { font-size: 13.5px; color: var(--ink-3); margin-top: var(--s3); }
dl.contact dd { margin: 2px 0 0; color: var(--ink); }

/* Footer */
footer { border-top: 1px solid var(--line-soft); padding: var(--s7) 0 var(--s8); font-size: 14px; color: var(--ink-3); }
.foot-links { display: flex; flex-wrap: wrap; gap: var(--s5); margin-bottom: var(--s4); }
.foot-links a { text-decoration: none; }
.foot-links a:hover { color: var(--ink); }

@media (max-width: 560px) {
  body { font-size: 16px; }
  .wrap { width: calc(100% - 32px); }
}
