:root {
  color-scheme: light;
  --cream: #fff9f1;
  --ink: #292421;
  --muted: #65574e;
  --coral: #a73525;
  --line: #deccbc;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--ink);
  background: var(--cream);
  line-height: 1.7;
}
* { box-sizing: border-box; }
body { margin: 0; overflow-wrap: anywhere; }
a { color: var(--coral); text-underline-offset: .2em; }
a:hover { text-decoration-thickness: .15em; }
a:focus-visible { outline: 3px solid var(--ink); outline-offset: 5px; }
.skip-link { position: absolute; left: 1rem; top: 1rem; transform: translateY(-200%); background: var(--cream); padding: .7rem 1rem; z-index: 1; }
.skip-link:focus { transform: none; }
.site-header, main, .site-footer { width: min(100% - 2rem, 50rem); margin-inline: auto; }
.site-header { padding-block: 1.3rem; border-bottom: 1px solid var(--line); }
.brand { color: var(--ink); font-size: 1.15rem; font-weight: 750; }
main { padding-block: 2.5rem; }
.eyebrow { color: var(--coral); font-size: .8rem; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
h1, h2, h3 { line-height: 1.2; text-wrap: balance; }
h1 { font-size: clamp(2.1rem, 7vw, 3.6rem); letter-spacing: -.035em; margin: .5rem 0 1.2rem; }
h2 { font-size: clamp(1.4rem, 4vw, 1.8rem); margin-top: 2.4rem; }
h3 { font-size: 1.1rem; }
p, li { max-width: 70ch; }
.lede { font-size: 1.2rem; color: var(--muted); }
nav ul { list-style: none; padding: 0; }
nav a, .site-footer a { display: inline-block; padding-block: .6rem; }
li + li { margin-top: .65rem; }
ol, ul { padding-inline-start: 1.5rem; }
.note, .next-step { background: #f6e9dc; border: 1px solid var(--line); border-radius: 1rem; padding: clamp(1rem, 4vw, 1.7rem); margin-block: 2rem; }
.note > :first-child, .next-step > :first-child { margin-top: 0; }
.note > :last-child, .next-step > :last-child { margin-bottom: 0; }
.cta { display: inline-block; background: var(--coral); color: #fff; border-radius: .6rem; padding: .8rem 1.2rem; font-weight: 700; }
.sources { border-top: 1px solid var(--line); margin-top: 2.5rem; }
.sources p, .site-footer { color: var(--muted); font-size: .95rem; }
.site-footer { border-top: 1px solid var(--line); padding-block: 1.5rem 2.5rem; }
[id] { scroll-margin-top: 1rem; }
@media (max-width: 360px) { main { padding-block: 1.5rem; } .lede { font-size: 1.1rem; } }
@media print { .skip-link, .next-step { display: none; } :root { background: white; color: black; } main { padding-block: 0; } }
