/* Runway — ledger language.
   Deliberately unlike site-verdant, which is warm cream, serif and botanical. This is a
   statement of account: cool slate, ruled rows, tabular figures, right-aligned money.
   No rounded cards, no shadows, no gradient capsules anywhere. */

:root {
  --ink:    #14202e;
  --slate:  #4a5a6e;
  --paper:  #fbfbf9;
  --rule:   #dfe3e6;
  --hair:   #edf0f2;
  --blue:   #1f4e79;
  --amber:  #9a5b12;
}

* { box-sizing: border-box; }

body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font: 16px/1.6 ui-sans-serif, -apple-system, "Helvetica Neue", Arial, sans-serif;
  -webkit-text-size-adjust: 100%;
}

.wrap { max-width: 680px; margin: 0 auto; padding: 0 22px 88px; }

/* ---- masthead: a rule above and below, like a statement header ---- */

header {
  padding: 56px 0 0;
  margin-bottom: 36px;
}

.mark {
  display: block;
  width: 100%;
  height: 8px;
  margin-bottom: 22px;
  background: linear-gradient(
    to right,
    var(--blue) 0 62%,
    var(--amber) 62% 74%,
    var(--rule) 74% 100%
  );
}

h1 {
  font-size: 30px;
  font-weight: 650;
  letter-spacing: -0.015em;
  margin: 0 0 4px;
}

.tag {
  margin: 0 0 22px;
  color: var(--slate);
  font-size: 15px;
}

header .rule-b { border-bottom: 1px solid var(--rule); }

/* ---- section headings: small, lettered, no colour blocks ---- */

h2 {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: var(--slate);
  margin: 40px 0 0;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--rule);
}

h2 + p, h2 + ul, h2 + .row, h2 + .qa { margin-top: 14px; }

p { margin: 0 0 14px; }
a { color: var(--blue); }
a:hover { color: var(--amber); }

.lede {
  font-size: 18px;
  line-height: 1.55;
  border-left: 3px solid var(--blue);
  padding-left: 16px;
  margin: 0 0 8px;
}

ul { margin: 0 0 16px; padding-left: 20px; }
li { margin-bottom: 7px; }

/* ---- ruled rows: the statement metaphor, used for Q&A and figures ---- */

.qa { border-top: 1px solid var(--hair); padding: 14px 0 4px; }
.qa:first-of-type { border-top: 0; }
.q { margin: 0 0 5px; font-weight: 650; }
.a { margin: 0 0 10px; color: #33465c; }

.row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 16px;
  border-bottom: 1px solid var(--hair);
  padding: 11px 0;
}
.row span:last-child {
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum" 1;
  color: var(--slate);
  white-space: nowrap;
}

.note {
  color: var(--slate);
  font-size: 15px;
  border-left: 2px solid var(--rule);
  padding-left: 14px;
}

footer {
  margin-top: 56px;
  padding-top: 18px;
  border-top: 1px solid var(--rule);
  font-size: 14px;
  color: var(--slate);
}

@media (prefers-color-scheme: dark) {
  :root {
    --ink:   #e8edf2;
    --slate: #93a3b5;
    --paper: #0f1620;
    --rule:  #26313d;
    --hair:  #1c2530;
    --blue:  #7fb0e0;
    --amber: #d99a4e;
  }
  .a { color: #c2cdd9; }
}
