/* Shared Daypart website foundation. Use before a page-specific stylesheet. */
@font-face {
  font-family: "Geist";
  src: url("./assets/Geist-latin.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}
@font-face {
  font-family: "Geist Mono";
  src: url("./assets/GeistMono-latin.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}
:root {
  --dp-ink: #26382d;
  --dp-ink-muted: #415747;
  --dp-forest: #284634;
  --dp-forest-deep: #1f392b;
  --dp-wallpaper: #a9ba9d;
  --dp-wallpaper-dot: #829775;
  --dp-paper: #f5f3e9;
  --dp-cream: #fbfaf3;
  --dp-surface: #fffef7;
  --dp-surface-soft: #e9eee2;
  --dp-titlebar: #cbdabf;
  --dp-border-strong: #485e48;
  --dp-line: #809478;
  --dp-line-soft: #bdc9b8;
  --dp-lime: #a4d979;
  --dp-lime-hover: #b4e58b;
  --dp-focus: #1b6c42;
  --dp-font-sans: "Geist", Arial, sans-serif;
  --dp-font-mono: "Geist Mono", monospace;
  --dp-control-height: 44px;
  --dp-page-max: 1280px;
  --dp-border-control: 1px solid #607d5d;
  --dp-shadow-button: 1px 1px 0 #fffdf299 inset, 2px 2px 0 #60775c61;
  --dp-shadow-button-lime: 1px 1px 0 #e7ffc9 inset, 2px 2px 0 #50714570;
  --dp-shadow-button-pressed: 1px 1px 1px #788a7277 inset;
  --dp-shadow-card: 6px 6px 0 #42533b38;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; min-width: 320px; color: var(--dp-ink); background: var(--dp-paper); font: 400 16px/1.5 var(--dp-font-sans); -webkit-font-smoothing: antialiased; }
/* The old site's heading font rule must not replace the imported Geist face. */
h1, h2, h3, h4, h5, h6 { font-family: var(--dp-font-sans); letter-spacing: normal; }
h2, h3, h4, h5, h6 { font-weight: 700; }
button, input, select, textarea { font: inherit; }
a { color: inherit; }
img, svg { display: block; }
:focus-visible { outline: 2px solid var(--dp-focus); outline-offset: 3px; }
::selection { background: var(--dp-lime); color: var(--dp-ink); }
.dp-wallpaper { background-color: var(--dp-wallpaper); background-image: radial-gradient(var(--dp-wallpaper-dot) .6px, transparent .7px); background-size: 5px 5px; }
.dp-container { width: min(calc(100% - 48px), var(--dp-page-max)); margin-inline: auto; }
.dp-button { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: var(--dp-control-height); padding: 9px 16px; border: var(--dp-border-control); border-radius: 0; background: var(--dp-surface); box-shadow: var(--dp-shadow-button); color: var(--dp-ink); cursor: pointer; font: 700 14px/1.35 var(--dp-font-sans); text-decoration: none; }
.dp-button:hover:not(:disabled) { background: var(--dp-cream); }
.dp-button:active:not(:disabled) { transform: translate(1px, 1px); box-shadow: var(--dp-shadow-button-pressed); }
.dp-button--primary { border-color: #648c50; background: var(--dp-lime); box-shadow: var(--dp-shadow-button-lime); }
.dp-button--primary:hover:not(:disabled) { background: var(--dp-lime-hover); }
.dp-field { display: grid; gap: 7px; min-width: 0; }
.dp-field label { color: #314c37; font: 700 11px/1.4 var(--dp-font-mono); letter-spacing: .045em; text-transform: uppercase; }
.dp-field input, .dp-field select, .dp-field textarea { width: 100%; min-height: var(--dp-control-height); padding: 10px 12px; border: 1px solid var(--dp-line); border-radius: 0; background: #fffefb; color: var(--dp-ink); font: 400 14px/1.4 var(--dp-font-sans); }
.dp-field textarea { min-height: 112px; resize: vertical; }
@media (max-width: 650px) { .dp-container { width: min(calc(100% - 32px), var(--dp-page-max)); } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
