:root {
  color-scheme: dark;
  font-family: system-ui, -apple-system, sans-serif;
  color: #f4f6fa;
  background: #14171b;
  --muted: #c0c7d1;
  --line: #39404a;
  --surface: #20252c;
  --blue: #91caff;
}
* { box-sizing: border-box; }
body { margin: 0; }
.wrap { width: min(100% - 2rem, 64rem); margin-inline: auto; }
.top { border-bottom: 1px solid var(--line); background: #1a1e23; }
.top-inner, .footer, .actions { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; }
.top-inner { justify-content: space-between; padding-block: 1rem; }
.brand { font-size: 1.3rem; font-weight: 800; text-decoration: none; color: inherit; }
.brand span, a { color: var(--blue); }
.top nav { display: flex; flex-wrap: wrap; gap: 1rem; }
.top nav a { padding-block: .45rem; }
.content { padding-block: clamp(2rem, 6vw, 4rem); }
h1 { max-width: 22ch; font-size: clamp(2.15rem, 5vw, 3.65rem); line-height: 1.08; margin: 0 0 1rem; }
h2 { margin: 0 0 .75rem; font-size: clamp(1.3rem, 3vw, 1.7rem); line-height: 1.2; }
p, li, address { line-height: 1.55; }
p { margin: 0 0 .75rem; }
li + li { margin-top: .45rem; }
address { font-style: normal; }
.eyebrow, .footer { color: var(--muted); }
.lede { color: var(--muted); font-size: clamp(1.05rem, 2.5vw, 1.3rem); max-width: 55ch; }
section, .actions { margin-top: 1.7rem; }
.card { background: var(--surface); border: 1px solid var(--line); border-radius: .8rem; padding: clamp(1rem, 4vw, 1.5rem); }
.card > :last-child { margin-bottom: 0; }
.button, .secondary { display: inline-block; padding: .75rem 1rem; border-radius: .55rem; font-weight: 700; }
.button { background: var(--blue); color: #111923; text-decoration: none; }
.secondary { border: 1px solid var(--line); }
a:focus-visible { outline: 2px solid var(--blue); outline-offset: 3px; }
.locations { padding: 0; list-style: none; display: flex; flex-wrap: wrap; gap: 1rem 2rem; }
.locations li { margin: 0; }
.locations a { font-weight: 700; }
.service-links { margin: .5rem 0; padding-inline-start: 1.2rem; }
.footer { border-top: 1px solid var(--line); justify-content: space-between; padding-block: 1.25rem; }
