/* ============================================================
   BALLAST — decision instruments for expensive decisions
   Design system v1.0
   Themes: "The Study" (day) / "Night Desk" (night)
   Type: Instrument Serif (display) · Familjen Grotesk (body)
         Spline Sans Mono (data, labels, gauge)
   ============================================================ */

:root{
  /* Day — The Study */
  --bond:      #EFF0E9;   /* ledger paper */
  --panel:     #E7E9DE;   /* recessed panel */
  --ink:       #1C201B;   /* green-black ink */
  --muted:     #575F56;
  --rule:      #CFD2C2;
  --rule-soft: #DDDFD2;
  --accent:    #26584A;   /* bottle green */
  --accent-ink:#F2F3EC;
  --brass:     #9A7736;
  --oxblood:   #7A3030;
  --water:     rgba(38,88,74,.13);
  --water-line:#26584A;
  --shadow:    0 1px 0 rgba(28,32,27,.06);
  --focus:     #26584A;

  --f-display: "Instrument Serif", Georgia, "Times New Roman", serif;
  --f-body:    "Familjen Grotesk", "Helvetica Neue", Arial, sans-serif;
  --f-mono:    "Spline Sans Mono", "SF Mono", Consolas, monospace;

  --w-max: 1120px;
  --r: 3px;
}

[data-theme="night"]{
  /* Night Desk */
  --bond:      #101511;
  --panel:     #161D18;
  --ink:       #E7E5D8;
  --muted:     #99A399;
  --rule:      #2B332C;
  --rule-soft: #222A24;
  --accent:    #7FB29D;
  --accent-ink:#0F1511;
  --brass:     #C89D5C;
  --oxblood:   #D08B77;
  --water:     rgba(127,178,157,.14);
  --water-line:#7FB29D;
  --shadow:    none;
  --focus:     #7FB29D;
}

/* ---------- base ---------- */

*{ box-sizing:border-box; margin:0; padding:0; }

html{ scroll-behavior:smooth; }
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *, *::before, *::after{ transition:none !important; animation:none !important; }
}

body{
  background:var(--bond);
  color:var(--ink);
  font-family:var(--f-body);
  font-size:17px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  transition:background-color .25s ease, color .25s ease;
}

a{ color:inherit; }
img, svg{ display:block; max-width:100%; }
button{ font:inherit; color:inherit; background:none; border:0; cursor:pointer; }

.wrap{ max-width:var(--w-max); margin:0 auto; padding:0 28px; }

.eyebrow{
  font-family:var(--f-mono);
  font-size:11px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--muted);
}

.display{ font-family:var(--f-display); font-weight:400; letter-spacing:-.01em; }

.num{ font-family:var(--f-mono); font-variant-numeric:tabular-nums; }

hr.rule{ border:0; border-top:1px solid var(--rule); }

/* ---------- masthead ---------- */

.masthead{
  border-bottom:1px solid var(--rule);
  background:var(--bond);
  position:sticky; top:0; z-index:40;
  transition:background-color .25s ease;
}
.masthead .wrap{
  display:flex; align-items:center; gap:28px;
  height:64px;
}
.brand{
  display:flex; align-items:center; gap:10px;
  text-decoration:none;
}
.brand .mark{ width:22px; height:22px; color:var(--ink); }
.brand .word{
  font-family:var(--f-mono);
  font-size:15px; letter-spacing:.34em; text-transform:uppercase;
  transform:translateY(1px);
}
.mast-nav{ display:flex; gap:22px; margin-left:auto; }
.mast-nav a{
  text-decoration:none; font-size:14.5px; color:var(--muted);
  padding:4px 0; border-bottom:1px solid transparent;
}
.mast-nav a:hover{ color:var(--ink); border-bottom-color:var(--ink); }

.theme-toggle{
  display:flex; align-items:center; gap:8px;
  font-family:var(--f-mono); font-size:11px; letter-spacing:.18em; text-transform:uppercase;
  color:var(--muted);
  border:1px solid var(--rule); border-radius:999px;
  padding:6px 12px;
}
.theme-toggle:hover{ color:var(--ink); border-color:var(--ink); }
.theme-toggle .dot{
  width:8px; height:8px; border-radius:50%;
  background:var(--brass);
}

/* ---------- hero ---------- */

.hero{ padding:72px 0 56px; border-bottom:1px solid var(--rule); }
.hero .wrap{
  display:grid; grid-template-columns: 7fr 5fr; gap:56px; align-items:start;
}
.hero h1{
  font-family:var(--f-display);
  font-size:clamp(40px, 5.2vw, 62px);
  line-height:1.05;
  font-weight:400;
  margin:18px 0 20px;
}
.hero h1 em{ font-style:italic; color:var(--accent); }
.hero .lede{
  font-size:18.5px; color:var(--muted); max-width:56ch; margin-bottom:34px;
}

.decision-search{ max-width:560px; }
.decision-search label{ display:block; margin-bottom:10px; }
.decision-search .field{
  display:flex; align-items:center; gap:12px;
  border:1px solid var(--ink); border-radius:var(--r);
  background:var(--bond);
  padding:0 14px;
}
.decision-search input{
  flex:1; border:0; outline:none; background:transparent;
  font:inherit; color:var(--ink);
  padding:14px 0; font-size:16.5px;
}
.decision-search input::placeholder{ color:var(--muted); opacity:.85; }
.decision-search .go{
  font-family:var(--f-mono); font-size:11px; letter-spacing:.18em; text-transform:uppercase;
  color:var(--accent); white-space:nowrap;
}
.search-hint{
  margin-top:10px; font-size:13.5px; color:var(--muted);
}
.search-hint button{
  color:var(--ink); text-decoration:underline; text-underline-offset:3px; padding:0 2px;
}
.search-hint button:hover{ color:var(--accent); }

/* hero gauge card */
.hero-gauge{
  border:1px solid var(--rule);
  border-radius:var(--r);
  background:var(--panel);
  padding:22px 22px 18px;
  box-shadow:var(--shadow);
}
.hero-gauge .cap{ display:flex; justify-content:space-between; align-items:baseline; margin-bottom:8px; }
.hero-gauge .cap .num{ font-size:12px; color:var(--muted); }
.hero-gauge figcaption{
  margin-top:12px; padding-top:12px; border-top:1px solid var(--rule-soft);
  font-size:13.5px; color:var(--muted); line-height:1.5;
}
.hero-gauge figcaption b{ color:var(--ink); font-weight:600; }

/* ---------- doctrine ---------- */

.doctrine{ padding:64px 0; border-bottom:1px solid var(--rule); }
.doctrine .grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:44px; margin-top:34px;
}
.doctrine h2{ font-family:var(--f-display); font-size:30px; font-weight:400; }
.clause .eyebrow{ color:var(--accent); }
[data-theme="night"] .clause .eyebrow{ color:var(--accent); }
.clause h3{
  font-family:var(--f-display); font-size:22px; font-weight:400; margin:10px 0 8px;
}
.clause p{ font-size:15.5px; color:var(--muted); }

/* ---------- instrument index ---------- */

.index{ padding:64px 0; }
.index-head{
  display:flex; align-items:baseline; justify-content:space-between; gap:24px;
  margin-bottom:26px; flex-wrap:wrap;
}
.index-head h2{ font-family:var(--f-display); font-size:30px; font-weight:400; }
.index-head .count{ font-family:var(--f-mono); font-size:12px; color:var(--muted); letter-spacing:.1em; }

.instrument-list{ list-style:none; border-top:1px solid var(--ink); }
.instrument-list li{ border-bottom:1px solid var(--rule); }
.instrument-list a, .instrument-list .row{
  display:grid;
  grid-template-columns: 58px 1fr 150px 110px 96px;
  align-items:baseline; gap:18px;
  padding:16px 6px;
  text-decoration:none;
}
.instrument-list a{ transition:background-color .15s ease; }
.instrument-list a:hover{ background:var(--panel); }
.instrument-list .no{
  font-family:var(--f-mono); font-size:12px; color:var(--muted);
}
.instrument-list .name{ font-size:17.5px; }
.instrument-list a .name{ font-weight:600; }
.instrument-list a:hover .name{ color:var(--accent); }
.instrument-list .desk, .instrument-list .kind{
  font-family:var(--f-mono); font-size:11.5px; letter-spacing:.14em;
  text-transform:uppercase; color:var(--muted);
}
.instrument-list .state{
  font-family:var(--f-mono); font-size:11px; letter-spacing:.14em; text-transform:uppercase;
  text-align:right;
}
.state-live{ color:var(--accent); }
.state-live::before{
  content:""; display:inline-block; width:7px; height:7px; border-radius:50%;
  background:var(--accent); margin-right:7px; transform:translateY(-1px);
}
.state-prep{ color:var(--muted); opacity:.75; }
.row.prep .name{ color:var(--muted); }
.index-empty{
  display:none; padding:26px 6px; color:var(--muted); font-size:15.5px;
  border-bottom:1px solid var(--rule);
}
.index-empty a{ color:var(--ink); }

/* ---------- night band ---------- */

.night-band{
  border-top:1px solid var(--rule);
  border-bottom:1px solid var(--rule);
  background:var(--panel);
  padding:52px 0;
}
.night-band .wrap{ display:flex; align-items:center; justify-content:space-between; gap:32px; flex-wrap:wrap; }
.night-band h2{ font-family:var(--f-display); font-size:26px; font-weight:400; margin:8px 0 6px; }
.night-band p{ color:var(--muted); max-width:52ch; font-size:15.5px; }
.btn{
  display:inline-block;
  font-family:var(--f-mono); font-size:12px; letter-spacing:.2em; text-transform:uppercase;
  border:1px solid var(--ink); border-radius:var(--r);
  padding:13px 22px; text-decoration:none;
  transition:background-color .15s ease, color .15s ease;
}
.btn:hover{ background:var(--ink); color:var(--bond); }
.btn-accent{ border-color:var(--accent); color:var(--accent); }
.btn-accent:hover{ background:var(--accent); color:var(--accent-ink); }

/* ---------- footer ---------- */

footer{ padding:56px 0 40px; }
.foot-grid{
  display:grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap:40px;
  padding-bottom:36px; border-bottom:1px solid var(--rule);
}
.foot-grid h4{
  font-family:var(--f-mono); font-size:11px; letter-spacing:.2em; text-transform:uppercase;
  color:var(--muted); margin-bottom:14px; font-weight:400;
}
.foot-grid ul{ list-style:none; }
.foot-grid li{ margin-bottom:9px; }
.foot-grid a{ text-decoration:none; font-size:14.5px; color:var(--ink); opacity:.85; }
.foot-grid a:hover{ opacity:1; text-decoration:underline; text-underline-offset:3px; }
.foot-brand p{ color:var(--muted); font-size:14.5px; max-width:38ch; margin-top:12px; }
.colophon{
  padding-top:22px; display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap;
  font-family:var(--f-mono); font-size:11.5px; letter-spacing:.06em; color:var(--muted);
}

/* ============================================================
   INSTRUMENT PAGES
   ============================================================ */

.crumbs{
  padding:20px 0 0;
  font-family:var(--f-mono); font-size:11.5px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--muted);
}
.crumbs a{ color:var(--muted); text-decoration:none; }
.crumbs a:hover{ color:var(--ink); }
.crumbs span{ margin:0 8px; opacity:.5; }

.tool-head{ padding:26px 0 30px; border-bottom:1px solid var(--rule); }
.tool-head h1{
  font-family:var(--f-display); font-weight:400;
  font-size:clamp(34px, 4.4vw, 50px); line-height:1.06; margin:10px 0 12px;
}
.tool-head .lede{ font-size:17.5px; color:var(--muted); max-width:64ch; }
.tool-meta{
  display:flex; gap:22px; flex-wrap:wrap; margin-top:18px;
  font-family:var(--f-mono); font-size:11.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--muted);
}
.tool-meta b{ color:var(--ink); font-weight:500; }

/* manifest (inputs) + reading (results) */
.bench{ padding:44px 0 8px; }
.bench .wrap{
  display:grid; grid-template-columns: 5fr 7fr; gap:52px; align-items:start;
}

.manifest h2, .reading h2{
  font-family:var(--f-mono); font-size:11px; letter-spacing:.22em; text-transform:uppercase;
  color:var(--muted); font-weight:400; margin-bottom:18px;
  padding-bottom:10px; border-bottom:1px solid var(--ink);
}

.field-row{ margin-bottom:20px; }
.field-row label{
  display:flex; justify-content:space-between; align-items:baseline;
  font-size:14.5px; font-weight:600; margin-bottom:7px;
}
.field-row label .why{
  font-family:var(--f-mono); font-size:10.5px; letter-spacing:.1em;
  color:var(--muted); font-weight:400; text-transform:uppercase;
}
.field-row .control{
  display:flex; align-items:center;
  border:1px solid var(--rule); border-radius:var(--r); background:var(--bond);
  transition:border-color .15s ease;
}
.field-row .control:focus-within{ border-color:var(--focus); }
.field-row .unit{
  font-family:var(--f-mono); font-size:13px; color:var(--muted);
  padding:0 0 0 12px; white-space:nowrap;
}
.field-row .unit.tail{ padding:0 12px 0 0; }
.field-row input[type="number"], .field-row input[type="text"]{
  flex:1; width:100%;
  border:0; outline:none; background:transparent; color:var(--ink);
  font-family:var(--f-mono); font-size:16px;
  padding:12px;
  font-variant-numeric:tabular-nums;
  -moz-appearance:textfield;
}
.field-row input::-webkit-outer-spin-button,
.field-row input::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }
.field-row select{
  border:0; outline:none; background:transparent; color:var(--ink);
  font-family:var(--f-mono); font-size:14px; padding:12px;
  appearance:none; cursor:pointer; width:100%;
}
.field-row .help{ font-size:13px; color:var(--muted); margin-top:6px; line-height:1.45; }

.seg{
  display:flex; border:1px solid var(--rule); border-radius:var(--r); overflow:hidden;
}
.seg button{
  flex:1; padding:11px 8px;
  font-family:var(--f-mono); font-size:11.5px; letter-spacing:.06em; text-transform:uppercase;
  color:var(--muted);
  border-right:1px solid var(--rule);
  transition:background-color .12s ease, color .12s ease;
}
.seg button:last-child{ border-right:0; }
.seg button[aria-pressed="true"]{ background:var(--ink); color:var(--bond); }
.seg button:hover:not([aria-pressed="true"]){ color:var(--ink); }

.assumption-note{
  margin-top:26px; padding-top:16px; border-top:1px solid var(--rule-soft);
  font-size:13px; color:var(--muted); line-height:1.5;
}

/* reading panel */
.reading-card{
  border:1px solid var(--rule); border-radius:var(--r); background:var(--panel);
  padding:26px; box-shadow:var(--shadow);
  display:grid; grid-template-columns: 168px 1fr; gap:26px; align-items:start;
}
.reading-main .verdict-word{
  font-family:var(--f-display); font-size:30px; line-height:1.1; margin-bottom:4px;
}
.reading-main .verdict-word.ok{ color:var(--accent); }
.reading-main .verdict-word.warn{ color:var(--brass); }
.reading-main .verdict-word.stop{ color:var(--oxblood); }
.figure-lg{
  font-family:var(--f-mono); font-variant-numeric:tabular-nums;
  font-size:clamp(30px, 3.4vw, 40px); line-height:1.15;
  margin:8px 0 4px;
}
.figure-sub{ font-size:14.5px; color:var(--muted); }
.meaning{
  margin-top:16px; padding-top:16px; border-top:1px solid var(--rule-soft);
  font-size:15.5px; line-height:1.55;
}
.meaning b{ font-weight:600; }

/* the draft gauge */
.gauge{ width:100%; }
.gauge text{ font-family:var(--f-mono); }
.gauge .axis{ stroke:var(--ink); stroke-width:1.5; }
.gauge .tick{ stroke:var(--ink); stroke-width:1; }
.gauge .tick-label{ fill:var(--muted); font-size:10px; letter-spacing:.08em; }
.gauge .zone-label{ fill:var(--muted); font-size:9px; letter-spacing:.16em; }
.gauge .water{ fill:var(--water); }
.gauge .waterline{ stroke:var(--water-line); stroke-width:2; }
.gauge .waterline-cap{ fill:var(--water-line); font-size:10.5px; letter-spacing:.06em; }
.gauge .plimsoll{ stroke:var(--brass); stroke-width:2; fill:none; }
.gauge .plimsoll-line{ stroke:var(--brass); stroke-width:2; }
.gauge .plimsoll-cap{ fill:var(--brass); font-size:9px; letter-spacing:.14em; }
.gauge .water, .gauge .waterline{ transition:y .5s ease, height .5s ease, transform .5s ease; }

/* result sections */
.result-sections{ padding:36px 0 64px; }
.rsec{ padding:30px 0; border-top:1px solid var(--rule); }
.rsec:first-child{ border-top:0; }
.rsec h3{
  font-family:var(--f-mono); font-size:11px; letter-spacing:.22em; text-transform:uppercase;
  color:var(--muted); font-weight:400; margin-bottom:16px;
}

table.ledger{
  width:100%; border-collapse:collapse; font-size:15px;
}
table.ledger th{
  font-family:var(--f-mono); font-size:10.5px; letter-spacing:.16em; text-transform:uppercase;
  color:var(--muted); font-weight:400; text-align:left;
  padding:0 10px 10px 0; border-bottom:1px solid var(--ink);
}
table.ledger th.n, table.ledger td.n{ text-align:right; padding-right:0; padding-left:10px; }
table.ledger td{
  padding:11px 10px 11px 0; border-bottom:1px solid var(--rule-soft);
  vertical-align:baseline;
}
table.ledger td.n{ font-family:var(--f-mono); font-variant-numeric:tabular-nums; }
table.ledger tr.total td{ border-bottom:0; border-top:1px solid var(--ink); font-weight:600; }
table.ledger tr.total td.n{ font-weight:500; }
table.ledger .neg{ color:var(--accent); }

.drivers{ list-style:none; }
.drivers li{
  display:flex; justify-content:space-between; gap:18px; align-items:baseline;
  padding:10px 0; border-bottom:1px solid var(--rule-soft);
  font-size:15px;
}
.drivers .weight{ font-family:var(--f-mono); font-size:12px; color:var(--muted); letter-spacing:.08em; white-space:nowrap; }

.sink{ border-left:2px solid var(--oxblood); padding-left:20px; }
.sink p{ font-size:15.5px; margin-bottom:10px; }
.sink p:last-child{ margin-bottom:0; }

.next-desk{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.next-desk a, .next-desk .soon{
  border:1px solid var(--rule); border-radius:var(--r); padding:16px;
  text-decoration:none; font-size:15px; line-height:1.4;
  display:block;
}
.next-desk a:hover{ border-color:var(--accent); }
.next-desk a:hover .t{ color:var(--accent); }
.next-desk .k{
  display:block; font-family:var(--f-mono); font-size:10.5px; letter-spacing:.16em;
  text-transform:uppercase; color:var(--muted); margin-bottom:7px;
}
.next-desk .t{ font-weight:600; }
.next-desk .soon{ color:var(--muted); }

details.method{ border-top:1px solid var(--rule); }
details.method summary{
  cursor:pointer; list-style:none; padding:22px 0;
  display:flex; align-items:baseline; justify-content:space-between;
  font-family:var(--f-mono); font-size:11px; letter-spacing:.22em; text-transform:uppercase; color:var(--muted);
}
details.method summary::-webkit-details-marker{ display:none; }
details.method summary .ind::after{ content:"+ open"; letter-spacing:.14em; }
details.method[open] summary .ind::after{ content:"− close"; }
details.method .method-body{ padding:0 0 26px; max-width:72ch; }
details.method .method-body p{ font-size:15px; color:var(--muted); margin-bottom:12px; line-height:1.6; }
details.method .method-body code{
  font-family:var(--f-mono); font-size:13.5px; color:var(--ink);
  background:var(--panel); border:1px solid var(--rule-soft); border-radius:var(--r);
  padding:2px 6px;
}
details.method .method-body .formula{
  display:block; padding:14px 16px; margin:14px 0;
  overflow-x:auto; white-space:pre; line-height:1.7;
}

/* ---------- responsive ---------- */

@media (max-width: 960px){
  .hero .wrap{ grid-template-columns:1fr; gap:40px; }
  .bench .wrap{ grid-template-columns:1fr; gap:44px; }
  .doctrine .grid{ grid-template-columns:1fr; gap:30px; }
  .foot-grid{ grid-template-columns:1fr 1fr; }
  .next-desk{ grid-template-columns:1fr; }
  .instrument-list a, .instrument-list .row{
    grid-template-columns: 44px 1fr 96px;
  }
  .instrument-list .desk{ display:none; }
  .instrument-list .kind{ display:none; }
}

@media (max-width: 640px){
  .mast-nav{ display:none; }
  .reading-card{ grid-template-columns:1fr; }
  .gauge-wrap{ max-width:200px; }
  .hero{ padding:52px 0 44px; }
}

/* ---------- print: a reckoning you can file ---------- */

@media print{
  .masthead, .decision-search, .night-band, .theme-toggle,
  .next-desk, footer .foot-grid{ display:none !important; }
  body{ background:#fff; color:#000; font-size:12.5px; }
  .reading-card{ border:1px solid #000; background:#fff; box-shadow:none; }
  a{ text-decoration:none; color:#000; }
}

/* ---------- v1.1 additions: full house ---------- */

.skip-link{
  position:absolute; left:-9999px; top:0; z-index:100;
  background:var(--ink); color:var(--bond); padding:8px 14px;
  font-family:var(--mono); font-size:12px; letter-spacing:.06em; text-transform:uppercase;
}
.skip-link:focus{ left:8px; top:8px; }

.notice{
  margin-top:18px; padding:10px 14px; border-left:2px solid var(--brass);
  font-family:var(--mono); font-size:12.5px; line-height:1.55; color:var(--muted);
  max-width:640px;
}

.manifest-split{
  margin:26px 0 2px; padding-top:14px; border-top:1px solid var(--rule);
  font-family:var(--mono); font-size:11px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--accent);
}

.ledger.compare th:first-child{ width:38%; }
.ledger.compare td.n, .ledger.compare th.n{ white-space:nowrap; }

.faq{ margin-top:8px; }
.faq-list{ margin:0; }
.faq-list dt{
  padding:14px 0 4px; border-top:1px solid var(--rule);
  font-weight:600; font-size:15.5px;
}
.faq-list dt:first-child{ border-top:0; padding-top:4px; }
.faq-list dd{
  margin:0 0 14px; color:var(--muted); font-size:14.5px; line-height:1.65; max-width:62ch;
}

/* desks section (home) */
.desks{ padding:72px 0; border-top:1px solid var(--rule); }
.desks > .wrap > .eyebrow{ color:var(--accent); }
.desks h2{ font-family:var(--serif); font-weight:400; font-size:clamp(26px,3.4vw,38px); margin:6px 0 26px; }
.desk-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--rule); border:1px solid var(--rule); }
.desk-card{
  background:var(--bond); padding:22px 22px 18px; text-decoration:none; color:var(--ink);
  display:flex; flex-direction:column; gap:8px; min-height:100%;
}
.desk-card .eyebrow{ color:var(--muted); }
.desk-card h3{ font-family:var(--serif); font-weight:400; font-size:23px; margin:0; }
.desk-card p{ color:var(--muted); font-size:13.5px; line-height:1.6; margin:0; flex:1; }
.desk-card .go{
  font-family:var(--mono); font-size:12px; letter-spacing:.08em; text-transform:uppercase;
  color:var(--accent); margin-top:6px;
}
.desk-card:hover{ background:var(--panel); }
.desk-card:hover .go{ text-decoration:underline; text-underline-offset:3px; }

.hub-note{
  margin-top:22px; max-width:68ch; color:var(--muted); font-size:14px; line-height:1.65;
}
.hub-note a{ color:var(--accent); }

/* article (house pages) */
.bench .article{ max-width:760px; }
.article h2{
  font-family:var(--serif); font-weight:400; font-size:clamp(22px,2.6vw,30px);
  margin:44px 0 12px;
}
.article h2:first-child{ margin-top:0; }
.article p{ font-size:15.5px; line-height:1.75; margin:0 0 14px; color:var(--ink); }
.article p b{ font-weight:600; }
.article a{ color:var(--accent); }
.article .ledger{ margin:18px 0 22px; }
.article .ledger.conv th, .article .ledger.conv td{ font-size:13px; vertical-align:top; }
.article .ledger.conv td:last-child{ color:var(--muted); }

@media (max-width: 960px){
  .desk-grid{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 640px){
  .desk-grid{ grid-template-columns:1fr; }
  .ledger.compare{ font-size:12px; }
}
