:root {
  color-scheme: light;
  background: #f8f7f3;
  color: #30322f;
  font: 1rem/1.7 Verdana, Geneva, sans-serif;
}
* { box-sizing: border-box; }
body {
  max-width: calc(754px + 3rem);
  margin: 0 auto;
  padding: clamp(2rem, 7vw, 4.5rem) 1.5rem 3rem;
}
h1, h2 { line-height: 1.25; }
h1 {
  display: flex;
  align-items: center;
  gap: .6rem;
  font-size: clamp(1.65rem, 5vw, 2.1rem);
  margin: 0;
}
h2 { font-size: 1.2rem; margin: 0 0 .65rem; }
p { max-width: 62ch; margin: 0 0 .8rem; }
a { color: #3d5853; text-underline-offset: .2em; }
a:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
.intro { margin-bottom: 2rem; }
.intro p { margin-top: .75rem; }
nav { display: flex; flex-wrap: wrap; gap: .4rem 1.25rem; }
figure { margin: 0; }
figure a { display: block; }
figure img { display: block; max-width: 100%; height: auto; }
figcaption { margin-top: .45rem; color: #595d56; font-size: .84rem; }
section { margin: clamp(2rem, 5vw, 3rem) 0; }
dl { margin: 0; }
dt { font-weight: 700; }
dd { margin: 0 0 .7rem; }
code { overflow-wrap: anywhere; }
