html,
body {
  min-height: 100%;
  min-height: 100svh;
}

.dh-transition {
  position: fixed;
  z-index: 9999;
  inset: 0;
  display: grid;
  place-items: center;
  background: rgba(247, 250, 248, .94);
  backdrop-filter: blur(10px);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .3s ease, visibility 0s linear .3s;
}
.dh-transition.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition: opacity .3s ease;
}
.dh-transition-inner {
  display: grid;
  justify-items: center;
}
.dh-progress {
  width: 104px;
  height: 3px;
  overflow: hidden;
  border-radius: 99px;
  background: rgba(28, 28, 28, .09);
}
.dh-progress span {
  display: block;
  width: 44%;
  height: 100%;
  border-radius: inherit;
  background: rgba(28, 28, 28, .62);
  transform: translateX(-110%);
}
.dh-transition.is-active .dh-progress span {
  animation: dh-progress 1.4s ease-in-out infinite;
}
.dh-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
@keyframes dh-progress {
  0% { transform: translateX(-110%); }
  55% { transform: translateX(92%); }
  100% { transform: translateX(230%); }
}
@media (prefers-reduced-motion: reduce) {
  .dh-transition { transition-duration: .12s; }
  .dh-progress span { animation: none !important; width: 70%; transform: none; }
}

html[data-theme="light"] {
  --bg: #fafafa;
  --paper: #f7faf8;
  --ink: #1c1c1c;
  --ink-soft: #5a5a5a;
  --soft: #66635d;
  --line: rgba(28, 28, 28, .14);
  --card: #ffffff;
}

html[data-theme="dark"] {
  --bg: #141716;
  --paper: #141716;
  --ink: #f3f0e8;
  --ink-soft: #d0ccc3;
  --soft: #d0ccc3;
  --line: rgba(243, 240, 232, .16);
  --card: #1d211f;
  --white: #1d211f;
  --blue: #263d4e;
  --yellow: #44364d;
  --gold: #44364d;
  --butter: #3b3528;
  --regular: #504923;
  --page-bg: #141716;
  --page-ink: #f3f0e8;
  --page-soft: #d0ccc3;
  --page-line: rgba(243, 240, 232, .16);
  --page-card: #1d211f;
  color-scheme: dark;
}

html[data-theme="dark"],
html[data-theme="dark"] body { background:#141716; color:var(--ink); }
html[data-theme="dark"] .slide-four { background:#211d1b; }
html[data-theme="dark"] .slide-five { background:#44364d; }
html[data-theme="dark"] .slide-four .feeding-card {
  background:#292522;
  border-color:rgba(243,240,232,.18);
  box-shadow:0 22px 42px rgba(0,0,0,.2);
}
html[data-theme="dark"] .slide-four .feeding-step.done {
  background:#34312e;
  color:#c0bbb2;
  border-color:rgba(243,240,232,.12);
}
html[data-theme="dark"] .slide-four .feeding-step.now {
  background:#faefb4;
  color:#1c1c1c;
  border-color:#d8ca7c;
}
html[data-theme="dark"] .slide-three::after { background:rgba(28,31,27,.82); }
html[data-theme="dark"] .quiet { background:#191d1b; }
html[data-theme="dark"] .form-section { background:#101312; color:#f3f0e8; }
html[data-theme="dark"] .tool,
html[data-theme="dark"] .price-card,
html[data-theme="dark"] .balance-card,
html[data-theme="dark"] .question-card { background:#1d211f; }
html[data-theme="dark"] .product.regular { background:#504923; }
html[data-theme="dark"] .challenge { background:#44364d; }
html[data-theme="dark"] .systems { background:#504923; }
html[data-theme="dark"] .product.upkeep,
html[data-theme="dark"] .role { background:#263d4e; }
html[data-theme="dark"] .work-note {
  background:#1b3040;
  border-color:rgba(243,240,232,.24);
  color:#f3f0e8;
}
html[data-theme="dark"] .product.pantry,
html[data-theme="dark"] .pantry { background:#3b3528; }
html[data-theme="dark"] .example,
html[data-theme="dark"] .privacy,
html[data-theme="dark"] .pantry-list { background:#202522; color:var(--ink); }
html[data-theme="dark"] .url,
html[data-theme="dark"] .field input,
html[data-theme="dark"] .field textarea,
html[data-theme="dark"] .updates-form input,
html[data-theme="dark"] .updates-form textarea { background:rgba(255,255,255,.07); color:var(--ink); }
html[data-theme="dark"] .booking,
html[data-theme="dark"] .app-card,
html[data-theme="dark"] .challenge-card,
html[data-theme="dark"] .systems-card,
html[data-theme="dark"] .pantry-phone { background:rgba(255,255,255,.07); }
html[data-theme="dark"] .challenge-day { background:rgba(15,18,17,.62); color:#f3f0e8; border-color:rgba(243,240,232,.25); }
html[data-theme="dark"] .number { color:#d0ccc3; }
html[data-theme="dark"] .principle,
html[data-theme="dark"] .circle { border-color:rgba(243,240,232,.34) !important; }
html[data-theme="dark"] .principles-label,
html[data-theme="dark"] .orbit-label { color:#f3f0e8; text-shadow:.35px .2px rgba(243,240,232,.3),-.25px .45px rgba(243,240,232,.2); }
html[data-theme="dark"] .status { background:#294333; color:#e6f4e9; }
html[data-theme="dark"] .pantry-count { background:#263d4e; color:#dcebf6; }
html[data-theme="dark"] .stock-chip { background:#50382f; color:#ffd8ca; }
html[data-theme="dark"] .stock-chip.low { background:#4d421e; color:#fae7a6; }
html[data-theme="dark"] button:not(.theme-toggle),
html[data-theme="dark"] .button:not(.secondary),
html[data-theme="dark"] .apply-link { background:#f3f0e8; color:#141716; border-color:#f3f0e8; }
html[data-theme="dark"] .button.secondary { background:transparent; color:#f3f0e8; border-color:#f3f0e8; }
html[data-theme="dark"] button.arrow {
  background:rgba(20,23,22,.5);
  color:#fff;
  border-color:rgba(243,240,232,.34);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
html[data-theme="dark"] button.arrow:hover { background:rgba(20,23,22,.68); color:#fff; border-color:rgba(255,255,255,.62); }
html[data-theme="dark"] input::placeholder,
html[data-theme="dark"] textarea::placeholder { color:#aaa69e; opacity:1; }
html[data-theme="dark"] .dh-transition { background:rgba(20,23,22,.95); }
html[data-theme="dark"] .dh-progress { background:rgba(243,240,232,.16); }
html[data-theme="dark"] .dh-progress span { background:#f3f0e8; }
html[data-theme="dark"] .brand-mark span:first-child { background:rgba(250,239,180,.34); }
html[data-theme="dark"] .brand-mark span:last-child { background:rgba(133,177,211,.34); }
html[data-theme="dark"] .jobs,
html[data-theme="dark"] .job,
html[data-theme="dark"] .state,
html[data-theme="dark"] .decision,
html[data-theme="dark"] .fit-card { background:#1d211f; }
html[data-theme="dark"] .state.after { background:#263d32; }
html[data-theme="dark"] .proof-band { background:#263d32; }
html[data-theme="dark"] .peach { background:#422f2a; }
html[data-theme="dark"] .choice-spectrum { background:#1d211f; }
html[data-theme="dark"] .document-sheet { background:#1d211f; box-shadow:0 22px 55px rgba(0,0,0,.22); }
html[data-theme="dark"] .document-stage::before { background:#292d2a; }
html[data-theme="dark"] .document-stage::after,
html[data-theme="dark"] .document-row i { background:#263d32; color:#f3f0e8; }
html[data-theme="dark"] .format-list span { background:#1d211f; }
html[data-theme="dark"] .spectrum-range::-webkit-slider-runnable-track { background:linear-gradient(90deg,#454945 0 43%,#55705b 43% 57%,#454945 57%); }
html[data-theme="dark"] .spectrum-range::-moz-range-track { background:linear-gradient(90deg,#454945 0 43%,#55705b 43% 57%,#454945 57%); }
html[data-theme="dark"] .spectrum-range::-webkit-slider-thumb { border-color:#f3f0e8; background:#1d211f; box-shadow:0 0 0 5px rgba(29,33,31,.72); }
html[data-theme="dark"] .spectrum-range::-moz-range-thumb { border-color:#f3f0e8; background:#1d211f; box-shadow:0 0 0 5px rgba(29,33,31,.72); }
html[data-theme="dark"] .register p { color:#d0ccc3; }
html[data-theme="dark"] .form-card {
  background:#504923;
  border-color:#766d37;
}
html[data-theme="dark"] .freebie {
  background:#504923;
  border-color:#766d37;
  color:#f3f0e8;
}
html[data-theme="dark"] .freebie p { color:#e4dfc7; }
html[data-theme="dark"] .form-freebie {
  background:#ddd5b6;
  border-color:rgba(28,28,28,.14);
  color:#1c1c1c;
}
html[data-theme="dark"] .form-freebie p { color:#5f5d58; }
html[data-theme="dark"] .form-card button:not(.theme-toggle) {
  background:#f3f0e8;
  color:#141716;
  border-color:#f3f0e8;
}
html[data-theme="dark"] input,
html[data-theme="dark"] textarea,
html[data-theme="dark"] select { background:#292c2a; color:#f3f0e8; border-color:rgba(243,240,232,.3); }
html[data-theme="dark"] .jobs.is-building .job[data-advance] { animation-name:step-handled-dark; }
html[data-theme="dark"] .jobs.is-building .job.in-moment { animation-name:step-remains-dark; }
html[data-theme="dark"] .job.in-moment { --remaining-dark:#4b451f; }
html[data-theme="dark"] .job.in-moment.reduced { --remaining-dark:#34331f; }
html[data-theme="dark"] .job::after { background:#f3f0e8; color:#141716; }
html[data-theme="dark"] .takeaway {
  background:#504923;
  border-color:#766d37;
}
html[data-theme="dark"] .takeaway li { border-color:rgba(243,240,232,.22); }
html[data-theme="dark"] .event-card {
  background:#504923;
  border-color:#766d37;
}
html[data-theme="dark"] .event-meta { border-color:rgba(243,240,232,.2); }
@keyframes step-handled-dark { to { background:#252a27; color:#aaa69e; } }
@keyframes step-remains-dark { to { background:var(--remaining-dark); } }

.theme-toggle {
  position:relative;
  width:auto;
  min-height:24px;
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  margin-left:12px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--ink, #1c1c1c);
  box-shadow:none;
  font:500 12px/1.2 'Geist',system-ui,sans-serif;
  cursor:pointer;
}
.theme-toggle-icon { display:inline-grid; width:13px; place-items:center; font-size:14px; line-height:1; }
footer { align-items:center; }
footer.global-footer {
  width:100%;
  display:block;
  padding:28px clamp(22px,4vw,56px) 32px;
  color:var(--soft,#66635d);
  font:400 12px/1.3 'Geist',system-ui,sans-serif;
}
.global-footer-main { display:flex; align-items:center; flex-wrap:wrap; gap:18px; }
.global-footer a { color:inherit; text-decoration:none; }
.global-footer-links { display:flex; align-items:center; flex-wrap:wrap; gap:16px; }
.global-footer-links a { white-space:nowrap; }
.global-footer .theme-toggle { min-height:24px; margin-left:auto; padding:0; border:0; }
.site-menu { position:relative; flex:0 0 auto; }
.site-menu-toggle {
  min-height:32px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:4px 0;
  border:0;
  background:transparent;
  color:var(--ink,#1c1c1c);
  font:600 12px/1.2 'Geist',system-ui,sans-serif;
  cursor:pointer;
}
.site-menu-toggle svg { display:block; flex:none; }
.site-menu-panel {
  position:absolute;
  z-index:40;
  left:0;
  bottom:calc(100% + 14px);
  width:min(360px,calc(100vw - 44px));
  max-height:calc(100dvh - 105px);
  overflow-y:auto;
  padding:21px 23px 23px;
  border:1px solid var(--line,rgba(28,28,28,.14));
  border-radius:20px;
  background:var(--paper,#f7faf8);
  color:var(--ink,#1c1c1c);
  box-shadow:0 18px 60px rgba(20,23,22,.18);
}
.site-menu-panel[hidden] { display:none; }
.site-menu-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:9px; }
.site-menu-heading strong { font-size:15px; letter-spacing:-.02em; }
.site-menu-close {
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  padding:0;
  border:0;
  background:transparent;
  color:inherit;
  font:400 24px/1 'Geist',system-ui,sans-serif;
  cursor:pointer;
}
.site-menu-panel a { display:flex; justify-content:space-between; gap:16px; padding:9px 0; font-size:13px; line-height:1.25; }
.site-menu-panel a:hover,.site-menu-panel a:focus-visible { text-decoration:underline; text-underline-offset:3px; }
.site-menu-panel a[aria-current="page"] { font-weight:600; }
.site-menu-panel a span { color:var(--soft,#66635d); }
.site-menu-about { border-bottom:1px solid var(--line,rgba(28,28,28,.14)); }
.site-menu-group { padding-top:10px; }
.site-menu-group + .site-menu-group { border-top:1px solid var(--line,rgba(28,28,28,.14)); }
.site-menu-group p { margin:6px 0 3px; color:var(--soft,#66635d); font-size:10px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; }
html[data-theme="dark"] button.site-menu-toggle,
html[data-theme="dark"] button.site-menu-close { border:0; background:transparent; color:var(--ink); }
html[data-theme="dark"] .site-menu-panel { background:#1d211f; box-shadow:0 18px 60px rgba(0,0,0,.4); }
footer.global-footer:not(.global-footer--overlay) { padding-bottom:82px; background:var(--paper,#f7faf8); }
footer.global-footer:not(.global-footer--overlay) .site-menu {
  position:fixed;
  z-index:45;
  left:clamp(16px,4vw,56px);
  bottom:18px;
  padding:2px 14px;
  border:1px solid var(--line,rgba(28,28,28,.14));
  border-radius:999px;
  background:rgba(247,250,248,.92);
  box-shadow:0 6px 28px rgba(20,23,22,.12);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}
html[data-theme="dark"] footer.global-footer:not(.global-footer--overlay) .site-menu { background:rgba(29,33,31,.94); box-shadow:0 6px 28px rgba(0,0,0,.3); }
footer.global-footer--overlay {
  position:fixed;
  z-index:30;
  left:clamp(22px,4vw,56px);
  right:auto;
  bottom:30px;
  width:auto;
  padding:0;
}
@media(max-width:760px) {
  footer.global-footer { padding-bottom:24px; font-size:11px; }
  footer.global-footer:not(.global-footer--overlay) { padding-bottom:75px; }
  footer.global-footer:not(.global-footer--overlay) .site-menu { left:10px; bottom:10px; }
  .global-footer-main { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; column-gap:12px; }
  .site-menu { grid-column:1; grid-row:1; }
  .global-footer .theme-toggle { grid-column:2; grid-row:1; margin:0; justify-self:end; }
  .global-footer-links { grid-column:1; grid-row:1; gap:10px 13px; }
  .site-menu-panel { bottom:calc(100% + 24px); }
  footer.global-footer--overlay {
    position:static;
    width:100%;
    padding:20px 22px 62px;
    background:var(--paper,#f7faf8);
  }
  footer.global-footer--overlay .site-menu {
    position:fixed;
    z-index:45;
    left:10px;
    bottom:10px;
    padding:2px 14px;
    border:1px solid var(--line,rgba(28,28,28,.14));
    border-radius:999px;
    background:rgba(247,250,248,.92);
    box-shadow:0 6px 28px rgba(20,23,22,.12);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
  }
  html[data-theme="dark"] footer.global-footer--overlay .site-menu {
    background:rgba(29,33,31,.94);
    box-shadow:0 6px 28px rgba(0,0,0,.3);
  }
}
.theme-toggle:focus-visible { outline:2px solid var(--ink); outline-offset:3px; }

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible { outline:2px solid var(--ink); outline-offset:3px; }

/* A quiet, shared motion language for the whole site. */
html.dh-motion-ready .dh-reveal {
  opacity: 0;
  transform: translateY(18px);
  transition:
    opacity .58s cubic-bezier(.22,1,.36,1),
    transform .58s cubic-bezier(.22,1,.36,1);
  transition-delay: var(--dh-delay, 0ms);
}
html.dh-motion-ready .dh-reveal.dh-reveal-soft {
  transform: translateY(10px);
}
html.dh-motion-ready .dh-reveal.is-visible {
  opacity: 1;
  transform: none;
}

a.button,
a.primary-link,
a.article,
button:not(.theme-toggle),
.tool,
.fit-card,
.decision,
.price-card,
.product,
.event-card {
  transition:
    transform .22s cubic-bezier(.22,1,.36,1),
    box-shadow .22s ease,
    border-color .22s ease,
    opacity .22s ease;
}
a.button:hover,
button:not(.theme-toggle):hover {
  transform: translateY(-2px);
}
a.button:active,
button:not(.theme-toggle):active {
  transform: translateY(0) scale(.985);
}
a.primary-link:hover,
a.article:hover,
.tool:hover,
.fit-card:hover,
.decision:hover,
.price-card:hover,
.product:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 34px rgba(28,28,28,.065);
  border-color: rgba(28,28,28,.24);
}

@media (prefers-reduced-motion: reduce) {
  html.dh-motion-ready .dh-reveal,
  html.dh-motion-ready .dh-reveal.dh-reveal-soft,
  html.dh-motion-ready .dh-reveal.is-visible {
    opacity: 1;
    transform: none;
    transition: none;
  }
  a.button,
  a.primary-link,
  a.article,
  button:not(.theme-toggle),
  .tool,
  .fit-card,
  .decision,
  .price-card,
  .product,
  .event-card {
    transition: none;
  }
}
