:root{
  --navy:#1d3a64;
  --blue:#326cbd;
  --blue-soft:#e8f0fb;
  --ink:#1c2430;
  --muted:#5b6575;
  --line:#dde3ec;
  --bg:#ffffff;
  --bg-soft:#f6f8fb;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  color:var(--ink);
  background:var(--bg);
  line-height:1.6;
  font-size:1.0625rem;
}
a{color:var(--blue)}
a:focus-visible,.btn:focus-visible{outline:3px solid var(--blue);outline-offset:3px;border-radius:4px}
.wrap{max-width:46rem;margin:0 auto;padding-inline:1.25rem}
header.site{padding-block:1.5rem}
.brand{display:inline-flex;align-items:center;gap:.75rem;text-decoration:none}
.brand img{height:2.25rem;width:auto;display:block}
.wordmark{font-size:1.65rem;font-weight:700;letter-spacing:-.01em;color:var(--navy);line-height:1}
.wordmark span{color:var(--blue)}
.hero{padding-block:3rem 3.25rem}
.hero h1{
  font-size:clamp(2rem,6vw,3.1rem);
  line-height:1.12;
  letter-spacing:-.02em;
  color:var(--navy);
  margin:0 0 1.25rem;
  text-wrap:balance;
}
.hero h1 em{font-style:normal;color:var(--blue)}
.lead{font-size:1.2rem;color:var(--muted);max-width:36rem;margin:0 0 1.75rem}
.btn{
  display:inline-block;
  background:var(--blue);
  color:#fff;
  text-decoration:none;
  font-weight:600;
  padding:.85rem 1.4rem;
  border-radius:.5rem;
}
.btn:hover{background:var(--navy)}
section.block{padding-block:2.5rem;border-top:1px solid var(--line)}
section.block h2{font-size:1.35rem;color:var(--navy);margin:0 0 .75rem;letter-spacing:-.01em}
section.block p{margin:0 0 1rem;max-width:38rem}
.topics{list-style:none;margin:1.25rem 0 0;padding:0;display:grid;gap:.75rem}
.topics li{background:var(--bg-soft);border-radius:.5rem;padding:.9rem 1.1rem}
.topics strong{color:var(--navy)}
.contact dl{margin:1rem 0 0;display:grid;grid-template-columns:max-content 1fr;gap:.35rem 1.25rem}
.contact dt{color:var(--muted)}
.contact dd{margin:0}
footer.site{border-top:1px solid var(--line);padding-block:1.5rem 2.5rem;color:var(--muted);font-size:.95rem}
footer.site .wrap{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;justify-content:space-between}
footer.site a{color:var(--muted)}
.legal h1{font-size:1.9rem;color:var(--navy);margin:2rem 0 1.25rem;letter-spacing:-.01em}
.legal h2{font-size:1.2rem;color:var(--navy);margin:2rem 0 .5rem}
.legal p,.legal li{max-width:40rem}
.legal address{font-style:normal;margin:0 0 1rem}
.back{display:inline-block;margin-top:1rem}
@media (max-width:30rem){
  .contact dl{grid-template-columns:1fr}
  .contact dt{margin-top:.5rem}
}
@media (prefers-reduced-motion:no-preference){
  .btn{transition:background .15s ease}
}
