/* Readable hierarchy and comfortable controls, with progressive disclosure on mobile. */
:root{--ink:#203d31;--muted:#52634f;--green:#234e3b;--line:#d8dfd0;--shadow:0 8px 30px #203d3107}
body{line-height:1.55}.topbar{position:sticky;top:0;z-index:20;background:#fafbf5f5;backdrop-filter:blur(16px)}.topbar nav a{font-size:14px;font-weight:550;padding:14px 2px}.topbar nav a[aria-current]{color:#1c4b36;box-shadow:inset 0 -2px #6f874d}.brand{letter-spacing:-.8px}.hero{min-height:450px;padding-top:50px;padding-bottom:50px}.hero h1{font-weight:600;letter-spacing:-2.2px}.hero h1 span{color:#5f7049}.hero-copy{font-size:17px;max-width:490px;line-height:1.7;color:var(--muted)}.hero-note{font-size:12px}.eyebrow{letter-spacing:1.7px;font-size:11px}.trust-strip{font-size:13px;color:#465d3e;padding:22px 0;gap:45px}.section{padding-top:64px}.section-head{margin-bottom:30px}.section-head h2{font-size:clamp(28px,3vw,36px);font-weight:580}
.location-bar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px;padding:20px 24px;background:#eaf0df;border:1px solid #d1ddbd;border-radius:12px}.location-bar strong{font-size:16px;display:block}.location-bar p{font-size:12px;margin:5px 0 0;color:#4e6144;max-width:630px}.location-bar-actions{display:flex;gap:12px;flex-shrink:0}.location-bar .button{padding:11px 16px}.location-bar .text-button{font-size:12px}.location-status{font-size:12px;line-height:1.6}.source-link{font-size:11px;color:#4c633e}.discovery-layout{grid-template-columns:304px minmax(0,1fr);gap:28px}.filter-panel{padding:24px}.filter-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.filter-head h3{margin:0;font-size:19px}#filter-toggle{display:none;border:1px solid #a6b397;border-radius:8px;padding:9px 13px;min-height:44px;font-size:13px;font-weight:650}.filter-content>.subtle{margin:9px 0 22px;font-size:13px}.filter-content[hidden]{display:none!important}.filter-summary{margin:8px 0 0;color:var(--muted);font-size:12px;line-height:1.65}.filter-panel .field-help,.field-help{font-size:12px;line-height:1.65;color:var(--muted)}.filter-panel label:not(.chip),label,legend{font-size:13px;line-height:1.5}.filter-panel select,input:not([type=checkbox]):not([type=range]),select,textarea{font-size:14px;padding:12px;border-color:#b7c2ae;background:#fdfef9}.range-labels{color:#58674d;font-size:11px}.interests,.allergens{border-top:1px solid var(--line);padding-top:22px;margin-top:24px}.interests legend,.allergens legend{padding-top:5px}.chips{gap:7px}.chip{font-size:12px}.chip span{min-height:40px;padding:8px 11px;display:flex;align-items:center;border-color:#c8d1bf;background:#fbfcf6}.chip input:checked+span{background:#e3edcf;border-color:#637e47;color:#284a30;font-weight:650}.local-note,.local-note button{font-size:12px}
.button{padding:14px 20px;font-size:14px;min-height:48px;border-radius:9px;transition:background-color .15s,box-shadow .15s}.button:hover{box-shadow:0 4px 12px #1c3e2e18}.text-button{font-size:13px;min-height:44px}.segmented{padding:5px;background:#e6ebdc;border:1px solid #d9e0cd}.segmented button{min-height:44px;font-size:12px;padding:10px 12px}.segmented button[aria-pressed=true]{box-shadow:0 1px 5px #253b2520}.small-pill,.demo-badge{font-size:12px;color:#475a3e;border-color:#cbd5be;background:#f3f6e9}.map-heading{padding:18px 20px;gap:12px}.map-heading strong{font-size:16px}.map-heading span{font-size:12px;line-height:1.5}.map-actions button{min-height:44px;min-width:44px;font-size:13px;border:1px solid #d0dac6}#map{height:360px}.map-foot{padding:14px 20px;gap:18px;align-items:flex-start}.map-foot span{font-size:12px;max-width:63%;line-height:1.55}.map-foot button{font-size:12px;min-height:44px;line-height:1.5}.map-marker{min-width:44px;min-height:44px;font-size:14px}.maplibregl-ctrl-attrib{font-size:10px!important}#map-fallback{padding:70px 30px;max-width:530px;font-size:14px;color:#405937}#map-fallback::before{content:'◇';display:block;font-size:48px;font-weight:300;color:#5c7c44;margin-bottom:8px}.map-paused{background:radial-gradient(circle at 50% 50%,#eff4e4,#e0e8d1)!important}
.results-head{margin-top:28px}.results-head h3{font-size:18px}#results-note{font-size:13px;margin-bottom:18px}.store-grid{gap:14px}.store-card{padding:19px;border-radius:12px;box-shadow:0 2px 5px #203d3103;transition:border-color .15s,box-shadow .15s}.store-card:hover,.store-card:focus-within{border-color:#92a57e;box-shadow:0 5px 15px #294c3b0a}.store-monogram{width:44px;height:44px;border-radius:12px}.store-kind{font-size:11px;color:#536149}.store-card h4{font-size:17px;line-height:1.3}.store-card p{font-size:13px;line-height:1.6;margin-bottom:16px}.store-card .distance{font-size:12px;color:#46613b;line-height:1.5}.store-card .text-button{font-size:13px;min-height:44px;margin-top:14px;padding-top:12px}.visit-card{margin-top:28px;padding:25px;gap:17px;border:1px solid #d7e1c7}.visit-card .eyebrow{font-size:11px}.visit-card h3{font-size:20px;line-height:1.35;margin:8px 0}.visit-card .subtle{font-size:13px}.visit-signals>div{padding:15px}.visit-signals span{font-size:12px}.visit-signals strong{font-size:16px}.visit-signals small{font-size:12px;color:#53654b;line-height:1.5}.visit-time{grid-template-columns:130px 1fr;gap:12px}.visit-time select{font-size:13px}
.plan-controls{padding:22px;gap:16px}.plan-controls label{font-size:12px}.plan-controls input,.plan-controls select{font-size:14px}.pantry-controls{grid-template-columns:220px 1fr;padding:22px 0 5px}.pantry-controls select{font-size:13px}.plan-layout{grid-template-columns:minmax(0,1fr) 340px;gap:28px;margin-top:30px}.meal-grid{gap:16px}.meal-art{height:132px;background:#e7ecd9}.meal-art .mini-plate{margin-top:10px;height:122px;width:122px}.meal-day{font-size:11px;padding:5px 8px;color:#42563b}.meal-body{padding:18px}.meal-body h4{font-size:16px;line-height:1.4;margin-bottom:10px}.meal-body p{font-size:13px;line-height:1.6;min-height:61px}.meal-meta{flex-wrap:wrap;gap:8px;font-size:12px}.meal-meta strong{font-size:14px;color:#3f602e}.meal-body details{font-size:12px}.meal-body summary{min-height:44px;padding-top:10px;line-height:1.55}.nutrition-note{padding:28px 0}.nutrition-note strong{font-size:16px}.nutrition-note p,.nutrition-note a{font-size:13px}.shopping-card{padding:25px}.shopping-card .eyebrow{font-size:11px}.shopping-card h3{font-size:22px}.total-row strong{font-size:42px}.total-row span{font-size:12px}#budget-status{font-size:13px;line-height:1.55}.pantry-total{font-size:14px;font-weight:650;color:#36582c}.ingredient-search label{font-size:12px;font-weight:500}.ingredient-search input{font-size:13px}.shopping-list{max-height:425px}.shopping-item{padding:13px 0;gap:10px;min-height:56px}.shopping-item>span,.shopping-item em{font-size:13px}.shopping-item small{font-size:12px}.shopping-card>.text-button{font-size:12px}
.partner-section{padding:55px;margin-top:55px;gap:65px}.partner-section p{font-size:15px;line-height:1.75}.partner-section .partner-note{font-size:12px!important;color:#dce5ca}.partner-example p,.partner-example dl,.partner-example .field-help{font-size:12px;color:#52624a}.partner-example .small-pill{font-size:10px}.partner-example h3{font-size:20px}.transparency{padding-top:72px}.transparency h3{font-size:16px}.transparency p{font-size:14px;line-height:1.75}footer p,footer a:not(.brand),footer button{font-size:12px}dialog{padding:34px}dialog p{font-size:14px}dialog label{font-size:13px}.error{font-size:13px;color:#9a351e;line-height:1.5}.dialog-close{min-height:44px;min-width:44px}.detail-facts dt{font-size:12px}.detail-facts dd{font-size:14px}.empty-state{padding:28px;border-color:#a2b38b}.empty-state p{font-size:14px}.empty-state .button{margin-top:18px}:focus-visible{outline:3px solid #a14421;outline-offset:4px}.skip-link{z-index:100}
@media(max-width:1100px){.discovery-layout{grid-template-columns:280px minmax(0,1fr);gap:22px}.store-grid,.meal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.plan-layout{grid-template-columns:minmax(0,1fr) 320px;gap:22px}.filter-panel{padding:20px!important}.plan-controls{gap:12px}.section-head{align-items:flex-start;flex-wrap:wrap}}
@media(max-width:760px){.topbar{position:relative;padding:0 20px}.topbar nav{gap:18px}.topbar nav a{font-size:12px}.hero{min-height:370px;padding:36px 0}.hero-copy{font-size:15px!important}.hero-note{font-size:12px!important}.trust-strip{font-size:12px!important;gap:14px!important;padding:20px 0!important}.section{padding-top:44px}.discovery-layout,.plan-layout{grid-template-columns:1fr}.filter-panel{padding:20px!important}.filter-head h3{font-size:18px}#filter-toggle{display:block;flex-shrink:0}.filter-content{margin-top:18px;border-top:1px solid var(--line);padding-top:5px}.filter-summary{max-width:90%}.filter-content>.subtle{font-size:13px}.filter-panel .local-note>div{display:block}.segmented{width:100%}.segmented button{flex:1;font-size:12px!important}.store-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.plan-controls{grid-template-columns:repeat(2,minmax(0,1fr))!important}.plan-controls>div:last-child{grid-column:1/-1}.pantry-controls{grid-template-columns:1fr}.meal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.shopping-list{grid-template-columns:1fr 1fr}.partner-section{padding:32px!important}.transparency>div{grid-template-columns:1fr;gap:12px!important}.transparency h2{margin-bottom:25px}.location-bar{align-items:flex-start;flex-direction:column}.location-bar-actions{flex-wrap:wrap}}
@media(max-width:520px){.page{padding-left:20px;padding-right:20px}.topbar{height:76px}.topbar .brand{font-size:20px!important}.topbar nav{gap:14px}.topbar nav a{font-size:11px}.topbar nav a:last-child{display:none}.hero{min-height:382px;padding:30px 0 35px}.hero h1{font-size:clamp(35px,10vw,42px);line-height:1.12;letter-spacing:-1.5px}.hero-copy{font-size:14px!important;max-width:285px!important}.hero-art{right:-115px;bottom:-58px;opacity:.55;transform:scale(.52)}.hero-note{max-width:230px}.trust-strip{font-size:12px!important;gap:8px!important}.section-head h2{font-size:29px}.filter-panel{padding:18px!important}.map-heading{padding:15px!important;align-items:flex-start}.map-heading strong{font-size:15px}.map-heading span{font-size:11px!important;max-width:180px}.map-actions{gap:5px!important}.map-actions button{font-size:12px!important;padding:8px!important;min-width:40px}#map{height:300px!important}.map-foot{display:block;padding:13px 15px!important}.map-foot span{display:block;max-width:100%!important;font-size:12px!important}.map-foot button{font-size:12px!important;padding-top:8px}.results-head{align-items:flex-start;gap:10px}.results-head h3{font-size:17px!important;line-height:1.35}.small-pill{font-size:11px!important}.store-grid{grid-template-columns:1fr;gap:13px}.store-card{padding:18px!important}.store-card p{margin-bottom:12px}.store-card .text-button{margin-top:12px}.visit-card{padding:20px!important}.visit-signals{grid-template-columns:1fr;gap:10px!important}.visit-signals small{font-size:12px!important}.plan-controls{padding:18px!important;gap:16px!important}.plan-controls label{font-size:12px}.meal-grid{grid-template-columns:1fr}.meal-card{display:grid;grid-template-columns:92px minmax(0,1fr)}.meal-art{height:100%;min-height:220px}.meal-art .mini-plate{transform:rotate(-18deg) translateX(-8px);width:112px;height:112px}.meal-day{top:13px;left:9px;font-size:10px}.meal-body{padding:18px 16px!important}.meal-body h4{font-size:16px!important}.meal-body p{font-size:13px!important;min-height:0}.meal-body details p{font-size:12px!important}.shopping-card{padding:23px}.shopping-list{grid-template-columns:1fr}.partner-section{padding:28px!important}.partner-section h2{font-size:30px!important}.partner-section p{font-size:14px}.partner-example p,.partner-example dl,.partner-example .field-help{font-size:12px}.partner-example .small-pill{font-size:9px!important;white-space:normal;display:inline-block}.partner-example dl div{display:block}.partner-example dd{text-align:left;margin-top:5px}footer p{font-size:12px!important;flex-basis:100%}footer>div{flex-wrap:wrap;gap:10px 22px}dialog{padding:27px 24px!important}.location-bar{padding:18px}.segmented button{font-size:11px!important;padding:8px!important}}
.empty-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:18px}.empty-state .empty-actions .button{margin-top:0}.location-bar-actions{align-items:center;gap:14px}.location-bar-actions .text-button{white-space:nowrap}
@media(max-width:760px){.location-bar-actions{flex-wrap:wrap}.empty-actions{gap:8px 14px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}}
