
  :root {
    --bg: #f7f9fb;
    --surface: #ffffff;
    --border: #e3e8ef;
    --ink: #0f172a;
    --ink-muted: #5b6b7f;
    --brand: #0e7490;
    --navy: #102a43;
    --sans: 'Inter', -apple-system, 'Segoe UI', system-ui, sans-serif;
    --serif: 'Source Serif 4', Georgia, serif;
  }

  * { box-sizing: border-box; }

  html, body {
    margin: 0;
    padding: 0;
    background: var(--bg);
    color: var(--ink);
    font-family: var(--sans);
  }

  body {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0 20px;
    -webkit-font-smoothing: antialiased;
  }

  main {
    width: 100%;
    max-width: 720px;
    padding: 56px 0 60px;
  }

  a {
    color: var(--brand);
  }

  .back-link {
    display: inline-block;
    margin-bottom: 24px;
    font-size: 14px;
    font-weight: 500;
  }

  h1 {
    font-family: var(--serif);
    font-weight: 700;
    color: var(--navy);
    font-size: clamp(2rem, 5vw, 2.75rem);
    line-height: 1.1;
    margin: 0 0 8px;
  }

  .updated {
    font-size: 13px;
    color: var(--ink-muted);
    margin: 0 0 40px;
  }

  h2 {
    font-family: var(--sans);
    font-size: 18px;
    font-weight: 600;
    color: var(--navy);
    margin: 36px 0 12px;
  }

  p, li {
    font-size: 15px;
    line-height: 1.7;
    color: var(--ink);
  }

  p {
    margin: 0 0 14px;
  }

  ul {
    margin: 0 0 14px;
    padding-left: 22px;
  }

  li {
    margin-bottom: 6px;
  }

  footer {
    width: 100%;
    max-width: 720px;
    padding: 24px 0 32px;
    font-size: 13px;
    color: var(--ink-muted);
    border-top: 1px solid var(--border);
    margin-top: 24px;
  }

  nav.site-nav { display:flex; gap:16px; flex-wrap:wrap; font-size:14px; margin-bottom:28px; }
  nav.site-nav a { text-decoration:none; font-weight:500; }
  .lead { font-size:17px; color:var(--ink-muted); }
  .card-list { list-style:none; padding:0; display:grid; gap:12px; }
  .card-list li { border:1px solid var(--border); background:var(--surface); border-radius:10px; padding:14px 16px; margin:0; }
  details { border:1px solid var(--border); background:var(--surface); border-radius:10px; padding:12px 16px; margin-bottom:10px; }
  summary { cursor:pointer; font-weight:600; color:var(--navy); }
  details p { margin:10px 0 0; }
  footer a { color:inherit; }
