:root {
  color-scheme: light;
  --bg: #f3f5f9;
  --text: #002053;
  --muted: #3d4f6f;
  --line: #d5dbe6;
  --card: #ffffff;
}
@media (prefers-color-scheme: dark) {
  :root {
    color-scheme: dark;
    --bg: #001433;
    --text: #ffffff;
    --muted: #c5d0e4;
    --line: #1c3a66;
    --card: #002053;
  }
}
* { box-sizing: border-box; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font: 17px/1.45 "Barlow", ui-sans-serif, system-ui, sans-serif;
}
a { color: inherit; }
header.top, main, footer {
  width: min(42rem, calc(100% - 2rem));
  margin-inline: auto;
}
header.top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: 4rem;
}
header.top nav, footer nav { display: flex; flex-wrap: wrap; gap: 0.75rem 1rem; }
header.top img { display: block; }
main { padding-bottom: 2rem; }
h1, h2 { font-family: "Barlow Semi Condensed", "Barlow", sans-serif; line-height: 1.05; }
h1 { font-size: 2rem; }
h2 { font-size: 1.35rem; margin-top: 1.6rem; }
p, li { color: var(--text); }
.crumbs, footer, .affiliate-slot { color: var(--muted); font-size: 0.95rem; }
.team-index { padding-left: 1.1rem; }
.team-index a { font-weight: 700; }
footer { border-top: 1px solid var(--line); padding: 1.25rem 0 2rem; }
.affiliate-slot {
  border: 1px dashed var(--line);
  border-radius: 0.8rem;
  padding: 0.75rem 1rem;
}
