:root {
  color-scheme: light;
  --paper: #f2f7f7;
  --white: #ffffff;
  --ink: #253e40;
  --muted: #455b5d;
  --teal: #176e75;
  --brick: #a44835;
  --pale: #d5e8e9;
  --warm: #f4e5dd;
  --line: #a1b9ba;
  --focus: var(--brick);
  --display: 'Baskerville', 'Palatino Linotype', 'Book Antiqua', Georgia, serif;
  --body: 'Gill Sans', 'Gill Sans MT', 'Trebuchet MS', sans-serif;
  font-family: var(--body);
  font-size: 18px;
  line-height: 1.65;
}
* { box-sizing: border-box; }
html { scroll-padding-top: 1.5rem; }
body { margin: 0; background: var(--paper); color: var(--ink); font-size: 1.08rem; }
body, input, textarea, button { font-family: var(--body); }
button, input, textarea { font-size: 1rem; border-radius: 0; }
button, a, input, textarea { -webkit-tap-highlight-color: transparent; }
a { color: var(--brick); text-decoration-thickness: 1.5px; text-underline-offset: .2em; overflow-wrap: anywhere; }
a:hover { text-decoration-thickness: 3px; }
a, button { touch-action: manipulation; }
:focus-visible { outline: 3px solid var(--focus); outline-offset: 4px; }
h1, h2, h3, h4, h5, h6, p, ul, ol, figure { margin: 0; }
h1, h2, h3, h4, h5, h6 { font-family: var(--display); font-weight: 400; letter-spacing: 0; text-wrap: balance; }
h1 { font-size: clamp(2.7rem, 5.2vw, 4.5rem); line-height: 1.06; }
h2 { font-size: clamp(1.9rem, 3vw, 2.55rem); line-height: 1.15; }
h3 { font-size: 1.6rem; line-height: 1.25; }
p { text-wrap: pretty; }
p + p { margin-top: .85rem; }
ul, ol { padding-left: 1.3rem; }
::selection { background: var(--warm); color: var(--ink); }
.site-width { width: min(100% - 3rem, 72rem); margin-inline: auto; }
main.site-width { width: 100%; }
.text-link { display: inline-flex; align-items: center; min-height: 48px; padding-block: .4rem; }
.skip-link { position: absolute; left: 1rem; top: -8rem; z-index: 10; padding: .7rem 1rem; min-height: 48px; background: var(--white); color: var(--brick); }
.skip-link:focus { top: .5rem; }
.eyebrow { font-size: 1.05rem; font-weight: 600; color: var(--brick); letter-spacing: 0; text-transform: none; }
.quiet { color: var(--muted); }
[hidden] { display: none !important; }
@media (max-width: 640px) {
  :root { font-size: 17px; }
  .site-width { width: calc(100% - 2.5rem); }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; }
}
