/* 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 existing app assigns its old serif display face to every heading.
   The imported homepage uses Geist throughout, as in the supplied file. */
h1, h2, h3, h4, h5, h6 { font-family: var(--dp-font-sans); letter-spacing: normal; }
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; } }

/* The new homepage keeps its in-page navigation and the existing contact and
   social destinations. At tablet widths the full set moves into the menu. */
.footer-links { display:flex; align-items:center; flex-wrap:wrap; gap:12px 18px; }
.footer-links a, .footer-links button { font: 600 11px/1.5 var(--dp-font-mono); color:inherit; text-decoration:none; }
.footer-links button { border:0; padding:0; background:none; cursor:pointer; }
.footer-links a:hover, .footer-links button:hover { text-decoration:underline; }
@media (max-width: 980px) {
  .site-header .site-nav { display:none; position:absolute; top:100%; left:0; right:0; z-index:80; margin:0; padding:10px max(16px,calc((100vw - 1280px)/2)); background:#e6e9dc; border-bottom:1px solid #91a78c; box-shadow:0 7px 0 #8da58b29; }
  .site-header .site-nav[data-open="true"] { display:flex; flex-direction:column; align-items:stretch; gap:0; }
  .site-header .site-nav a { display:flex; align-items:center; min-height:44px; padding:10px; border-bottom:1px solid #dbe5d7; font-size:13px; }
  .site-header .nav-signup { margin-left:auto; }
  .site-header .menu-toggle { display:inline-flex; }
}
@media (min-width: 981px) {
  .site-header .nav-inner { height:46px; gap:9px; }
  .site-header .brand { font-size:16px; gap:6px; }
  .site-header .brand img { width:25px; height:25px; }
  .site-header .site-nav { gap:1px; margin-left:7px; }
  .site-header .site-nav a { min-height:29px; padding:5px 7px; border:1px solid transparent; font-size:11px; }
  .site-header .site-nav a:hover, .site-header .site-nav a[aria-current="location"] { border-color:#809d78; }
  .site-header .nav-signup { min-height:30px; padding:5px 10px; font-size:11px; }
  .site-header .menu-toggle { display:none; }
}
.hero-actions .primary-action .button,
.hero-actions .button-outline {
  justify-content:flex-start;
  gap:7px;
  text-align:left;
}
.hero-actions .primary-action>span {
  align-self:stretch;
  width:100%;
  font-size:10px;
  letter-spacing:-.01em;
  white-space:nowrap;
  text-align:left;
}
.final-actions > a.button.button-green {
  display:inline-flex;
  align-items:center;
  justify-content:flex-start;
  gap:7px;
  width:208px;
  min-height:50px;
  margin-top:0;
  padding:10px 13px;
  border:1px solid #6f975e;
  border-radius:2px;
  background:var(--green);
  box-shadow:var(--raised-green);
  color:#213927;
  font-size:14px;
  font-weight:720;
  line-height:1.2;
  text-align:left;
  text-decoration:none;
}
.final-actions > a.button.button-green:hover { background:#b4e58b; }
@media (max-width: 650px) {
  .site-footer .footer-inner { flex-wrap:wrap; }
  .site-footer .footer-links { width:100%; }
}
