body.food-policy {
  --paper: #fbf7ef;
  --ink: #1b2a20;
  --accent: #a83a13;
  --line: #ebe3d3;
}

body.food-not-found {
  --paper: #fbf7ef;
  --ink: #1b2a20;
  --accent: #a83a13;
}

.policy {
  box-sizing: border-box;
  margin: 0;
  color-scheme: light;
  background: var(--paper);
  color: var(--ink);
  font: 17px/1.7 system-ui, sans-serif;
}

.policy *,
.not-found * {
  box-sizing: border-box;
}

.policy header,
.policy main,
.policy footer {
  width: min(100% - 40px, 800px);
  margin: auto;
}

.policy header {
  padding: 25px 0;
  border-bottom: 1px solid var(--line);
}

.policy a {
  color: var(--accent);
  text-underline-offset: 3px;
}

.policy header a {
  font-weight: 700;
  text-decoration: none;
}

.policy main {
  padding: 48px 0 70px;
}

.policy h1,
.policy h2 {
  font-family: Georgia, serif;
  font-weight: 500;
  line-height: 1.12;
}

.policy h1 {
  font-size: clamp(40px, 8vw, 62px);
  margin: 0 0 16px;
}

.policy h2 {
  font-size: 25px;
  margin: 34px 0 8px;
}

.policy p,
.policy li {
  max-width: 70ch;
}

.policy footer {
  padding: 20px 0 35px;
  border-top: 1px solid var(--line);
  font-size: 14px;
}

.policy a:focus-visible {
  outline: 3px solid var(--accent);
  outline-offset: 3px;
}

.not-found {
  display: grid;
  min-height: 100vh;
  margin: 0;
  place-items: center;
  background: var(--paper);
  color: var(--ink);
  font: 18px/1.5 sans-serif;
}

.not-found main {
  max-width: 35rem;
  padding: 2rem;
}

.not-found a {
  color: var(--accent);
}
