:root {
  color-scheme: light;
  font-family: system-ui, sans-serif;
  color: #122c4c;
  background: #f5f8fc;
  line-height: 1.6;
}
body { max-width: 63rem; margin: auto; padding: 1.5rem clamp(1rem, 4vw, 3rem); }
a { color: #174e80; }
.brand { font-weight: 750; text-decoration: none; }
.brand span { margin-inline-start: .5rem; }
header { margin-block: 1.5rem 2.5rem; padding: clamp(1.2rem, 5vw, 3.5rem); border-radius: 1.1rem; color: white; background: #071e48; }
header p { max-width: 65ch; }
.eyebrow { color: #c4def5; font-size: .9rem; font-weight: 700; }
h1 { margin-block: .5rem 1rem; font-size: clamp(2rem, 6vw, 3.75rem); line-height: 1.1; }
h2 { font-size: 1.5rem; }
.button { display: inline-block; margin-top: .75rem; padding: .65rem 1rem; border-radius: .45rem; background: #e1f2ff; color: #071e48; font-weight: 750; }
.address a { color: #daebff; overflow-wrap: anywhere; }
section { margin-bottom: 2rem; }
.categories { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr)); gap: .85rem; margin: 0; padding: 0; list-style: none; }
.categories li, details { padding: 1rem; border: 1px solid #d5e0eb; border-radius: .65rem; background: white; }
.categories span { display: block; margin-top: .35rem; }
details { margin-bottom: .5rem; }
summary { font-weight: 700; cursor: pointer; }
details p { margin-bottom: 0; }
footer { border-top: 1px solid #d5e0eb; padding-block: 1rem; }
