:root {
  --space-1: .25rem;
  --space-2: .5rem;
  --space-3: .75rem;
  --space-4: 1rem;
  --head-h: 1.75rem;
  --row-h: 1.75rem;
  --row-h-2: 2.75rem;
  --section-gap: .75rem;
  --panel-pad: .5rem;
  font-family: "Atkinson Hyperlegible Next", system-ui, sans-serif;
  color: #172f2b;
  background: #fcfaf6;
}
@media (pointer: coarse) {
  :root {
    --head-h: 2.75rem;
    --row-h: 2.75rem;
    --section-gap: 1rem;
  }
}
* { box-sizing: border-box; }
body { margin: 0; }
main { padding: var(--panel-pad); }
h1, a {
  display: flex;
  align-items: center;
  width: fit-content;
  max-width: 100%;
  margin: 0;
}
h1 { min-height: var(--head-h); font-size: 1.25rem; line-height: 1.3; }
a { min-height: var(--row-h); color: #125441; font-size: .875rem; }
a:focus-visible { outline: .15rem solid #135889; outline-offset: .1rem; }
img { display: block; max-width: 100%; object-fit: contain; }
