:root {
  color: #16233a;
  background: #f7f8fa;
  font: 100%/1.65 "Inter", "Segoe UI", sans-serif;
}
* { box-sizing: border-box; }
body { margin: 0; }
header, footer { padding: 1.25rem max(6vw, calc((100vw - 62rem) / 2)); }
header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
  background: #fff;
  border-bottom: 1px solid #d7deea;
}
.brand { color: #102b55; font-weight: 750; text-decoration: none; }
nav { display: flex; gap: 1.25rem; }
a { color: #164e9a; text-underline-offset: .2em; }
a:focus-visible { outline: 2px solid #164e9a; outline-offset: 4px; }
main { width: min(88vw, 46rem); margin: 0 auto; padding: clamp(2rem, 7vw, 5rem) 0 3rem; }
h1, h2 { color: #102b55; line-height: 1.2; }
h1 { font-size: clamp(2.15rem, 7vw, 3.35rem); letter-spacing: -.035em; margin: 0 0 .6em; }
h2 { font-size: 1.3rem; margin: 1.8em 0 .5em; }
p { margin: 0 0 1em; }
.lead { color: #40546e; font-size: 1.2rem; }
footer { border-top: 1px solid #d7deea; font-size: .95rem; }
