@font-face {
  font-family: "DM Sans";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../fonts/dm-sans-latin.woff2") format("woff2");
}
@font-face {
  font-family: "DM Sans";
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
  src: url("../fonts/dm-sans-latin-italic.woff2") format("woff2");
}
:root {
  --hpr-color-text: #333333;
  --hpr-color-muted: #666666;
  --hpr-color-background: #ffffff;
  --hpr-color-surface: #f9f6f5;
  --hpr-color-highlight: #fdede8;
  --hpr-color-accent: #e74215;
  --hpr-color-action: #e74215;
  --hpr-color-accent-dark: #6c3c2b;
  --hpr-color-border: #e4e4e4;
  --hpr-content-width: 75rem;
  --hpr-reading-width: 65ch;
  --hpr-section-space: calc(5rem + 10px);
  --hpr-space-xs: .5rem;
  --hpr-space-sm: .75rem;
  --hpr-space-md: 1rem;
  --hpr-space-lg: 1.5rem;
  --hpr-space-xl: 2rem;
  --hpr-space-2xl: 3rem;
  --hpr-radius: 5px;
  --hpr-focus: #6c3c2b;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-padding-top: 2rem; }
body { margin: 0; background: var(--hpr-color-background); color: var(--hpr-color-text); font: 400 1rem/1.4 "DM Sans", system-ui, sans-serif; -webkit-font-smoothing: antialiased; overflow-wrap: break-word; }
h1, h2, h3, h4 { margin-block: 0 1rem; font-weight: 600; line-height: 1.3; }
h1 { font-size: 2.25rem; }
h2 { font-size: 1.75rem; }
h3 { font-size: 1.25rem; }
p { margin-block: 0 1rem; }
a { color: var(--hpr-color-accent); text-underline-offset: .2em; }
a:hover { text-decoration-thickness: 2px; }
button, input, select, textarea { font: inherit; }
button, a, input, select, textarea, summary { -webkit-tap-highlight-color: transparent; }
button, summary { cursor: pointer; }
input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]), select, textarea { max-width: 100%; width: 100%; padding: .8rem 1rem; border: 1px solid #aaa; border-radius: var(--hpr-radius); background: #fff; color: var(--hpr-color-text); }
label { display: block; margin-block-end: .4rem; font-weight: 600; }
textarea { resize: vertical; }
img, video { display: block; max-width: 100%; height: auto; }
figure { margin: 0 0 1.5rem; }
figcaption { color: var(--hpr-color-muted); font-size: .875rem; }
iframe { max-width: 100%; }
table { border-collapse: collapse; max-width: 100%; }
th, td { text-align: start; padding: .75rem; border: 1px solid var(--hpr-color-border); }
:focus-visible { outline: 3px solid var(--hpr-focus); outline-offset: 4px; }
[hidden] { display: none !important; }
.hpr-screen-reader, .screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.hpr-skip-link { position: fixed; z-index: 999999; inset-block-start: .5rem; inset-inline-start: .5rem; padding: .75rem; background: #fff; transform: translateY(-200%); }
.hpr-skip-link:focus { transform: translateY(0); }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; } }

@media (max-width: 921px) { html { font-size: 91.2%; } }
