/* A warm dining-table palette, with stable navigation and gentle input feedback. */
:root{--cream:#fffaf2;--mint:#eef3e4;--green:#245640;--muted:#52635b;--line:#dedfce;scroll-padding-top:110px}
body{background:var(--cream)}
.site-header{position:sticky;top:0;z-index:40;height:auto;min-height:82px;background:rgba(255,250,242,.97);box-shadow:0 3px 20px #3e49390c;backdrop-filter:blur(12px)}
.site-header .nav{min-height:82px;gap:20px}
.site-header .nav nav{display:flex;gap:6px;min-width:0}
.site-header nav a{padding:10px 12px;border-radius:24px;white-space:nowrap;font-size:14px;color:#365749}
.site-header nav a:hover,.site-header nav a[aria-current=location]{background:#e6eedb;color:#204735}
.section,.form-section,#results,#shopping-list{scroll-margin-top:110px}
.hero{padding-top:56px;padding-bottom:62px;position:relative}
.hero-copy .pill{background:#f5e5cb;border-color:#e7d4b1;color:#614b2f;text-transform:none;letter-spacing:0;font-size:15px}
.hero h1{font-family:Georgia,'Times New Roman',serif;font-weight:500;letter-spacing:-.05em}
.hero-description{font-size:18px;line-height:1.75;max-width:550px}
.meal-photo-grid{background:#f0e4d0;padding:12px;border-radius:36px;box-shadow:0 20px 45px #75553315}
.meal-photo{border-radius:24px}.meal-gallery>.eyebrow{color:#79583b;font-size:13px}
.meal-gallery .photo-caption{font-size:17px;font-weight:600}.meal-gallery>small{font-size:14px;line-height:1.65}
.form-card{border-radius:24px;box-shadow:0 14px 48px #5b633c09;background:#fffefb}
.form-section{background:#fffdf8;border-radius:18px;transition:border-color .2s,box-shadow .2s}
.form-section legend{font-size:20px}.field>span{font-size:15px}.field input,.field select{min-height:50px;background:#fff}
.field-complete input,.field-complete select{border-color:#92b793;box-shadow:0 0 0 3px #699e631a;background:#fcfff9}
.section-complete{border-color:#95b68d;box-shadow:0 0 0 3px #78a66c14}
.section-complete .section-number{background:#3b7249}
.field input:focus,.field select:focus{outline:2px solid #659257;outline-offset:2px;box-shadow:0 0 0 5px #78a66c22}
.field input[aria-invalid=true],.field input:invalid:not(:placeholder-shown){box-shadow:none}
.target-preview{padding:13px 16px;background:#eef3e4;border:1px solid #d6e1cd;border-radius:12px;color:#2e5339;font-size:14px;line-height:1.8}
.meal-time-settings{border-top:1px solid var(--line);padding-top:20px;margin-top:8px}.meal-time-settings h4{font-size:18px;margin:0 0 8px}.meal-time-settings>p{font-size:14px;line-height:1.7;margin-bottom:16px}
.food-preference-card,.pantry-editor{background:#fffefa}.generator-aside{background:#f0e8d7;border-radius:24px}
.how-step,.how-preview,.meal-card,.price-card,.shopping-section{border-radius:20px}
.benefit-strip{background:#f2e8d5}.button{border-radius:12px}.section-heading .eyebrow{color:#75603f}
@media(max-width:1100px){.site-header .nav{gap:10px}.site-header nav a{padding:9px 8px}.nav-actions .nav-cta{display:none}}
@media(max-width:760px){:root{scroll-padding-top:125px}.site-header .nav{display:grid;grid-template-columns:1fr auto;min-height:0;padding-block:12px;gap:10px}.site-header .brand{grid-column:1;grid-row:1}.site-header .nav-actions{grid-column:2;grid-row:1}.site-header .nav nav{grid-column:1/-1;grid-row:2;width:100%;overflow-x:auto;justify-content:flex-start;padding:2px 0;scrollbar-width:thin}.site-header nav a{font-size:14px;flex-shrink:0;padding:8px 11px;background:#f3eddf}.section,.form-section,#results,#shopping-list{scroll-margin-top:125px}.hero{padding-top:35px}.hero-description{font-size:17px}.meal-photo-grid{border-radius:24px;padding:8px}.form-section legend{font-size:18px}.target-preview{font-size:14px}.hero-copy .pill{font-size:14px;line-height:1.5}.family-label{font-size:14px}}
@media(prefers-reduced-motion:reduce){.field,.form-section{transition:none}}
