/* Local review candidate. Keep the painting and existing visual language. */
.hero { min-height:100svh; }
.hero-download-space { min-height:120px; padding-bottom:max(1.75rem,env(safe-area-inset-bottom)); }
.hero-download { min-height:64px; }
.site-header .menu-motion { display:none; }
.mobile-download { min-height:44px; }
/* Give quiet text links a forgiving hit area without adding visual buttons. */
.food-bottom a,.product-source a,.scene-lab,footer>a,.community-photo figcaption a {
  display:inline-flex; align-items:center; min-height:44px;
}
.product-source a { padding-block:.55rem; }
.community-photo figcaption a { padding-inline:.15rem; }
footer .brand { min-width:44px; }
.menu-toggle,.site-header nav>a { min-height:44px; }
@media (max-width:800px) {
  .site-header { height:76px; gap:.3rem; }
  .menu-toggle { display:flex; gap:.5rem; align-items:center; color:#f4f4e8; background:transparent; padding:.7rem .2rem; min-height:44px; font-size:.8rem; }
  .menu-toggle span { font-size:1.2rem; }
  .site-header nav { display:none; position:absolute; top:76px; left:0; right:0; background:#193c30; padding:1rem var(--gutter); border-bottom:1px solid #8ca583; box-shadow:0 15px 25px #071b2520; }
  .site-header nav.open { display:flex; flex-direction:column; gap:.25rem; align-items:stretch; }
  .site-header nav>a { padding:.8rem; font-size:1rem; }
  .site-header nav>.nav-cta { margin-top:.6rem; }
  .site-header nav>.menu-motion { display:flex; align-items:center; justify-content:space-between; text-align:left; min-height:48px; padding:.8rem; margin-top:.5rem; border-top:1px solid #f8f6e936; background:transparent; color:#f8f6e9; font-size:.85rem; }
  .menu-motion:disabled { opacity:.8; cursor:default; }
  .mobile-download { margin-right:.65rem; }
}
@media (max-width:600px) {
  .hero { min-height:max(640px,100svh); }
  .hero-inner { padding-top:7.5rem!important; padding-bottom:1rem!important; flex:1; }
  .hero-copy { max-width:100%; }
  .hero h1 { font-size:clamp(3.25rem,13.4vw,4.6rem); max-width:9ch; line-height:1.03; text-wrap:balance; }
  .hero-lede { max-width:30ch; margin-top:1.25rem; font-size:.95rem; }
  .hero-download-space { min-height:105px; padding:1rem var(--gutter) max(1.5rem,env(safe-area-inset-bottom)); }
  .hero-download { max-width:100%; background:#103e4bb3; gap:.65rem; padding:.9rem 1.1rem; }
  .hero-download>span { font-size:.82rem; }
  .hero-download svg { width:27px; height:27px; }
  .hero:after { background:linear-gradient(180deg,#082c457a 0%,#082c457a 34%,#082c4533 56%,#082c4510 77%,#082c455c 100%); }
  .community-photo figcaption { font-size:.65rem; padding-bottom:.75rem; }
}
@media (max-width:360px) {
  .mobile-download { font-size:.66rem; gap:.3rem; margin-right:.35rem; padding-inline:.5rem; }
  .site-header .brand { font-size:.8rem; }
  .hero-download { padding-inline:.9rem; }
  .hero-download>span { font-size:.75rem; }
}
.site-header>.brand { display:inline-flex; align-items:center; min-height:44px; }
.program-card a { min-height:44px; }
