:root {
  --navy: #0b2238;
  --blue: #2d4b61;
  --gold: #b87911;
  --ink: #14283b;
  --paper: #f4f1e8;
  --paper-dark: #e9e5db;
  --muted: #5d6c77;
  --line: #b7c0c3;
  color-scheme: light;
  font-family: "Avenir Next", Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
body { background: var(--paper); color: var(--ink); margin: 0; }
a { color: #174f83; text-underline-offset: 3px; }
a:hover { color: var(--gold); }

header {
  background: var(--navy);
  color: white;
  padding: 56px max(6vw, 28px) 48px;
}
header > div, main, footer { margin: 0 auto; max-width: 1180px; }
.eyebrow { color: #f0cf8d; font-size: 13px; font-weight: 800; letter-spacing: 1.6px; text-transform: uppercase; }
h1 { font-size: clamp(42px, 6vw, 76px); letter-spacing: -2px; line-height: .98; margin: 18px 0; }
header p { color: #dbe5ea; font-size: 20px; line-height: 1.45; max-width: 850px; }
.toplinks { display: flex; flex-wrap: wrap; gap: 12px 24px; margin-top: 26px; }
.toplinks a { color: white; font-weight: 700; }

main { padding: 48px max(6vw, 28px) 72px; }
section { border-top: 3px solid var(--navy); padding: 26px 0 38px; }
h2 { color: var(--navy); font-size: 30px; letter-spacing: -.4px; margin: 0 0 10px; }
.section-intro { color: var(--muted); font-size: 17px; line-height: 1.45; margin: 0 0 24px; max-width: 900px; }
.link-grid { display: grid; gap: 0 34px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.link-item { border-bottom: 1px solid var(--line); min-height: 84px; padding: 15px 0; }
.link-item a { color: var(--navy); font-size: 18px; font-weight: 760; }
.link-item p { color: var(--muted); font-size: 14px; line-height: 1.35; margin: 7px 0 0; }
.raw-grid { display: grid; gap: 30px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.raw-group { border-top: 2px solid var(--line); padding-top: 16px; }
.raw-group h3 { color: var(--navy); font-size: 20px; margin: 0 0 6px; }
.raw-group small { color: var(--muted); display: block; margin-bottom: 13px; }
.raw-group a { border-bottom: 1px solid var(--line); display: block; font-size: 15px; padding: 9px 0; text-decoration: none; }
.caveat { background: var(--paper-dark); border-left: 7px solid var(--gold); font-size: 16px; line-height: 1.45; padding: 18px 22px; }
footer { color: var(--muted); font-size: 14px; padding: 0 max(6vw, 28px) 42px; }

@media (max-width: 800px) {
  .link-grid, .raw-grid { grid-template-columns: 1fr; }
  .raw-grid { gap: 24px; }
}

