  :root{
    --ink:#1a1a19; --ink-2:#4a4844; --ink-3:#78746c;
    --paper:#faf9f7; --card:#ffffff; --line:#e5e1da;
    --accent:#7a3e2f; --accent-soft:#f2e9e5;
    --gold:#73561a; --gold-soft:#f7f0dc;
    --good:#2f6b4f; --good-soft:#e6f0ea;
    --warn:#9a6a12; --warn-soft:#fbf0dc;
    --bad:#9c3b32; --bad-soft:#f8e7e5;
    --blue:#2c5470; --blue-soft:#e7eef3;
  }
  *{box-sizing:border-box}
  body{margin:0;background:var(--paper);color:var(--ink);
    font:16px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
    -webkit-font-smoothing:antialiased}
  .wrap{max-width:1180px;margin:0 auto;padding:48px 24px 96px}

  header{border-bottom:3px solid var(--ink);padding-bottom:24px;margin-bottom:32px}
  .eyebrow{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:10px}
  h1{font-size:36px;line-height:1.12;margin:0 0 12px;letter-spacing:-.02em}
  .sub{color:var(--ink-2);font-size:16px;margin:0;max-width:80ch}
  .profile{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
  .chip{background:var(--accent-soft);color:var(--accent);border-radius:100px;padding:4px 13px;font-size:13px;font-weight:600;white-space:nowrap}

  .toc{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:16px 22px;margin-bottom:26px;font-size:13.5px}
  .toc b{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);display:block;margin-bottom:7px}
  .toc a{margin-right:18px;white-space:nowrap;text-decoration:none;color:var(--accent);border-bottom:1px solid var(--accent-soft)}

  h2{font-size:24px;margin:56px 0 6px;letter-spacing:-.01em;padding-bottom:8px;border-bottom:1px solid var(--line)}
  h2 .n{color:var(--ink-3);font-weight:400;margin-right:10px;font-size:18px}
  .lede{color:var(--ink-2);margin:10px 0 22px;max-width:80ch}
  p{color:var(--ink-2)}
  strong{color:var(--ink)}

  .callout{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:0 8px 8px 0;padding:18px 22px;margin:20px 0}
  .callout.alert{border-left-color:var(--bad)}
  .callout.win{border-left-color:var(--good)}
  .callout.gold{border-left-color:var(--gold)}
  .callout p{margin:0 0 10px} .callout p:last-child{margin:0}

  .cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:16px;margin:22px 0}
  .card{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--line);border-radius:10px;padding:20px 22px}
  .card.t1{border-left-color:var(--good)}
  .card.t2{border-left-color:var(--blue)}
  .card.t3{border-left-color:var(--warn)}
  .card.t4{border-left-color:var(--accent)}
  .card.t5{border-left-color:var(--bad)}
  .card h4{margin:0 0 2px;font-size:18px}
  .card .why{color:var(--accent);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:12px}
  .card p{margin:0 0 10px;font-size:14px;color:var(--ink-2)}
  .card .stat{display:flex;justify-content:space-between;gap:10px;font-size:13px;padding:6px 0;border-top:1px solid var(--line)}
  .card .stat span{color:var(--ink-3)}
  .card .stat b{font-variant-numeric:tabular-nums;text-align:right}
  .muted{color:var(--ink-3);font-size:12.5px}

  table{width:100%;border-collapse:collapse;margin:18px 0;font-size:13px;background:var(--card)}
  th{text-align:left;font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);padding:10px 8px;border-bottom:2px solid var(--ink);font-weight:700;vertical-align:bottom}
  td{padding:11px 8px;border-bottom:1px solid var(--line);vertical-align:top}
  tbody tr:hover{background:#fdfcfa}
  .school{font-weight:700;color:var(--ink);display:block;line-height:1.3}
  .school small{display:block;font-weight:400;color:var(--ink-3);font-size:11.5px;margin-top:2px}
  .num{font-variant-numeric:tabular-nums;white-space:nowrap}
  .net{font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
  .scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}

  .tag{display:inline-block;border-radius:5px;padding:2px 8px;font-size:11px;font-weight:700;white-space:nowrap}
  .t-likely{background:var(--good-soft);color:var(--good)}
  .t-target{background:var(--blue-soft);color:var(--blue)}
  .t-reach{background:var(--warn-soft);color:var(--warn)}
  .t-highreach{background:var(--bad-soft);color:var(--bad)}
  .t-skip{background:#edece8;color:var(--ink-3)}

  ul{padding-left:20px;margin:12px 0} li{margin-bottom:9px;color:var(--ink-2)}
  li strong{color:var(--ink)}

  .cal{width:100%;border-collapse:collapse;font-size:14px}
  .cal td{padding:10px 12px;border-bottom:1px solid var(--line)}
  .cal .date{font-weight:700;white-space:nowrap;width:120px;font-variant-numeric:tabular-nums}
  .cal tr.hot{background:var(--warn-soft)}
  .cal tr.hot .date{color:var(--warn)}

  footer{margin-top:64px;padding-top:22px;border-top:1px solid var(--line);color:var(--ink-3);font-size:12.5px}
  @media (max-width:760px){
    .wrap{padding:28px 14px 64px} h1{font-size:26px}
    table{font-size:12px} td,th{padding:8px 5px}
  }
  @media print{body{background:#fff}.card{break-inside:avoid}}

/* ---- site nav (shared across all pages) ---- */
.sitenav{position:sticky;top:0;z-index:50;background:rgba(250,249,247,.94);
  -webkit-backdrop-filter:saturate(180%) blur(10px);backdrop-filter:saturate(180%) blur(10px);
  border-bottom:1px solid var(--line);margin-bottom:0}
.sitenav .navwrap{max-width:1180px;margin:0 auto;padding:0 24px;
  display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-height:52px}
.sitenav .brand{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:var(--accent);text-decoration:none;margin-right:14px;white-space:nowrap}
.sitenav a.nl{font-size:13.5px;color:var(--ink-2);text-decoration:none;
  padding:6px 11px;border-radius:6px;white-space:nowrap;line-height:1.3}
.sitenav a.nl:hover{background:var(--accent-soft);color:var(--accent)}
.sitenav a.nl[aria-current="page"]{background:var(--ink);color:var(--paper);font-weight:600}
.sitenav .navgroup{display:flex;align-items:center;gap:2px;flex-wrap:wrap}
.sitenav .sep{width:1px;height:20px;background:var(--line);margin:0 8px}
@media (max-width:760px){
  .sitenav .navwrap{padding:8px 14px;gap:4px}
  .sitenav .brand{margin-right:0;width:100%;margin-bottom:2px}
  .sitenav a.nl{font-size:12.5px;padding:5px 8px}
  .sitenav .sep{display:none}
}
@media print{.sitenav{display:none}}

/* ---- doc pages (markdown-derived) ---- */
.doc h3{font-size:17px;margin:30px 0 8px;letter-spacing:-.005em}
.doc table{font-size:13.5px}
.doc table td:last-child.num,.doc td.num{font-variant-numeric:tabular-nums}
.doc tbody tr.total{background:var(--accent-soft)}
.doc tbody tr.total td{border-bottom:none;font-weight:700;color:var(--ink)}
.doc tbody tr.nolist td{color:var(--ink-3)}
.doc hr{border:none;border-top:1px solid var(--line);margin:44px 0}
.doc em.flag{color:var(--warn);font-style:normal;font-size:11.5px;font-weight:600}
.doc .note{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--gold);
  border-radius:0 8px 8px 0;padding:16px 20px;margin:22px 0;font-size:14px}
.doc .note p{margin:0}
