*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#182018;background:#fbfcf8}.topbar{height:72px;display:flex;align-items:center;justify-content:space-between;max-width:1120px;margin:auto;padding:0 24px}.brand{font-size:22px;font-weight:850;color:#182018;text-decoration:none}.topbar nav{display:flex;gap:8px}.nav-btn,.quick button,.back,.chips button{border:1px solid #dce3d8;background:#fff;border-radius:999px;padding:10px 14px;cursor:pointer}.hero{max-width:900px;margin:66px auto 38px;text-align:center;padding:0 20px}.eyebrow,.label{font-size:13px;font-weight:850;letter-spacing:.08em;color:#52794b}.hero h1{font-size:clamp(44px,7vw,76px);line-height:1;margin:12px 0 18px}.sub{font-size:18px;color:#667066}.search-box{display:flex;background:#fff;border:1px solid #dce3d8;border-radius:18px;padding:7px;box-shadow:0 14px 40px rgba(48,72,42,.08);margin:32px auto 16px;max-width:760px}.search-box input{flex:1;border:0;outline:0;padding:16px;font-size:18px;background:transparent}.search-box button{border:0;border-radius:13px;background:#315c2c;color:#fff;padding:0 28px;font-size:16px;font-weight:800;cursor:pointer}.quick,.chips{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.coverage{font-size:13px;color:#8a9386;margin-top:15px}.result,.explorer,.recipe{max-width:1040px;margin:44px auto;padding:0 22px}.hidden{display:none}.ingredient-card{display:flex;justify-content:space-between;align-items:center;gap:30px;background:#eef5e9;border-radius:24px;padding:30px}.ingredient-card h2{font-size:40px;margin:5px 0}.ingredient-card p{margin:0;color:#657060}.kcal{text-align:right;min-width:140px}.kcal strong{font-size:44px;display:block}.kcal span{color:#657060}.macro-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:12px 0 46px}.macro-grid div{background:#fff;border:1px solid #e1e6de;border-radius:17px;padding:20px}.macro-grid span{display:block;color:#758070;font-size:14px}.macro-grid strong{font-size:25px}.filter-head h2,.section-heading h2,.country-title h2{font-size:32px;margin:6px 0}.dish-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.dish-card{background:#fff;border:1px solid #e2e6df;border-radius:20px;padding:22px;cursor:pointer;transition:.18s}.dish-card:hover,.country-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(44,65,39,.10)}.dish-card .country{font-size:13px;color:#57804f;font-weight:850}.dish-card h3{font-size:21px;margin:9px 0}.dish-card p{color:#6c7568;line-height:1.55}.dish-card .open{font-weight:850;color:#315c2c}.country-title{margin:54px 0 20px}.country-title p{color:#6c7568}.country-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.country-card{background:#fff;border:1px solid #e2e6df;border-radius:22px;padding:22px;transition:.18s}.country-head{display:flex;align-items:center;gap:12px;cursor:pointer}.flag{font-size:34px;line-height:1}.country-head h3{margin:0;font-size:23px}.country-head small{display:block;color:#788274;margin-top:3px}.region-links{display:flex;flex-wrap:wrap;gap:7px;margin-top:18px}.region-links button{border:1px solid #dce3d8;background:#f8faf6;border-radius:999px;padding:8px 11px;cursor:pointer;color:#315c2c;font-weight:700}.region-links button:hover{background:#315c2c;color:#fff}.country-all{display:block;margin-top:16px;color:#315c2c;font-weight:850;cursor:pointer}.explorer{background:#f3f7ef;border-radius:28px;padding:34px}.section-heading{text-align:center;margin:10px 0 30px}.section-heading p{color:#6c7568}.big-flag{font-size:50px;display:block;margin-bottom:8px}.step{margin:24px 0}.step b{display:block;text-align:center;margin-bottom:12px}.chips button.active{background:#315c2c;color:#fff;border-color:#315c2c}.recipe{background:#fff;border:1px solid #e1e6de;border-radius:24px;padding:32px}.recipe h2{font-size:38px;margin:8px 0}.recipe-layout{display:grid;grid-template-columns:1fr 1.4fr;gap:44px;margin-top:28px}.recipe li{margin-bottom:10px;line-height:1.55}.empty{grid-column:1/-1;text-align:center;background:#fff;border:1px dashed #cfd8cb;border-radius:20px;padding:32px;color:#657060}footer{max-width:1040px;margin:80px auto 30px;padding:25px 22px;border-top:1px solid #e3e7e0;display:flex;justify-content:space-between;color:#758070}@media(max-width:760px){.topbar{height:auto;padding-top:16px;align-items:flex-start}.topbar nav{flex-direction:column}.hero{margin-top:48px}.search-box{flex-direction:column}.search-box button{padding:14px}.ingredient-card{align-items:flex-start}.kcal strong{font-size:32px}.dish-grid,.country-grid{grid-template-columns:1fr}.recipe-layout{grid-template-columns:1fr}.macro-grid{grid-template-columns:repeat(3,1fr)}.explorer{margin-left:12px;margin-right:12px;padding:24px}footer{flex-direction:column;gap:8px}}.amount-card{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:18px;background:#fff;border:1px solid #e1e6de;border-radius:18px;padding:18px 20px;margin:12px 0}.amount-card h3{margin:4px 0 0;font-size:18px}.amount-control{display:flex;align-items:center;border:1px solid #d8dfd4;border-radius:12px;background:#fbfcf8;padding:6px 10px}.amount-control input{width:90px;border:0;outline:0;background:transparent;font-size:22px;font-weight:800;text-align:right;padding:5px}.amount-control span{font-weight:800;color:#657060}.amount-presets{display:flex;gap:6px;flex-wrap:wrap}.amount-presets button{border:1px solid #dce3d8;background:#fff;border-radius:999px;padding:8px 11px;cursor:pointer}.amount-presets button:hover,.amount-presets button.active{background:#315c2c;color:#fff;border-color:#315c2c}@media(max-width:760px){.amount-card{grid-template-columns:1fr}.amount-control{width:max-content}.amount-presets{justify-content:flex-start}}.info-grid{display:grid;grid-template-columns:1.25fr .95fr;gap:16px;margin:16px 0 54px}.info-card{background:#fff;border:1px solid #e1e6de;border-radius:22px;padding:24px}.info-head{display:flex;gap:12px;align-items:center;margin-bottom:18px}.info-icon{font-size:28px}.info-head h3{margin:3px 0 0;font-size:22px}.nutrition-list{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.nutrition-list div{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid #edf0eb}.nutrition-list span{color:#697365}.nutrition-list strong{white-space:nowrap}.data-note,.allergy-note{font-size:12px;color:#8a9386;line-height:1.5;margin:16px 0 0}.allergy-content{background:#f8faf6;border-radius:15px;padding:18px;min-height:150px}.allergy-status{font-size:18px;font-weight:850;margin:0 0 8px}.allergy-content p{color:#657060;line-height:1.55;margin:6px 0}.recipe-search-section{margin:58px 0 10px;text-align:center}.recipe-search-section h2{font-size:32px;margin:6px 0}.recipe-search-section>p{color:#6c7568}.recipe-search{display:flex;max-width:760px;margin:20px auto 22px;background:#fff;border:1px solid #dce3d8;border-radius:16px;padding:6px}.recipe-search input{flex:1;border:0;outline:0;background:transparent;padding:14px;font-size:16px}.recipe-search button{border:0;border-radius:11px;background:#315c2c;color:#fff;padding:0 22px;font-weight:800;cursor:pointer}.recipe-results{text-align:left}.recipe-no-result{grid-column:1/-1;padding:24px;border:1px dashed #cfd8cb;border-radius:18px;color:#657060;background:#fff}@media(max-width:760px){.info-grid{grid-template-columns:1fr}.nutrition-list{grid-template-columns:1fr}.recipe-search{flex-direction:column}.recipe-search button{padding:13px}}.country-search{display:flex;max-width:680px;margin:24px auto 0;background:#fff;border:1px solid #dce3d8;border-radius:15px;padding:6px}.country-search input{flex:1;border:0;outline:0;background:transparent;padding:13px;font-size:15px}.country-search button{border:0;border-radius:10px;background:#315c2c;color:#fff;padding:0 18px;font-weight:800;cursor:pointer}.country-search-results{max-width:680px;margin:10px auto 0}.country-result{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;border:1px solid #e2e6df;border-radius:14px;padding:12px 15px;cursor:pointer}.country-result span{font-size:22px}.country-result b{flex:1}.ad-reserve{width:100%;pointer-events:none}.ad-wide{min-height:90px;margin:34px 0 8px}.ad-inline{min-height:90px;margin:24px 0 8px}@media(max-width:760px){.country-search{flex-direction:column}.country-search button{padding:12px}.ad-wide,.ad-inline{min-height:50px}}.country-grid{grid-template-columns:repeat(4,1fr)}.recipe-search-section{margin:34px 0 48px;padding:30px 24px;background:#f4f8f0;border-radius:24px}.country-search{margin:18px 0 20px;max-width:100%}@media(max-width:980px) and (min-width:761px){.country-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:760px){.country-grid{grid-template-columns:1fr}.recipe-search-section{margin:24px 0 34px;padding:24px 16px}}
.ingredient-suggestions{display:none;max-width:760px;margin:-8px auto 14px;background:#fff;border:1px solid #dce3d8;border-radius:16px;overflow:hidden;text-align:left;box-shadow:0 14px 32px rgba(48,72,42,.08)}
.ingredient-suggestions.show{display:grid;grid-template-columns:1fr 1fr}
.ingredient-suggestion{display:flex;align-items:center;justify-content:space-between;gap:12px;border:0;border-bottom:1px solid #edf0eb;background:#fff;padding:13px 16px;cursor:pointer;text-align:left}
.ingredient-suggestion:hover,.ingredient-suggestion.active{background:#f4f8f0;outline:2px solid #315c2c;outline-offset:-2px}.ingredient-suggestion strong{font-size:15px}.ingredient-suggestion small{color:#879083}
@media(max-width:760px){.ingredient-suggestions.show{grid-template-columns:1fr}}

.ingredient-fallback{max-width:760px;margin:18px auto 0;padding:22px;background:#fff8e8;border:1px solid #ead9a8;border-radius:18px;text-align:left}
.ingredient-fallback h3{margin:0 0 7px;font-size:18px}.ingredient-fallback p{margin:0 0 15px;color:#6f705f;line-height:1.55}
.fallback-chips{display:flex;flex-wrap:wrap;gap:8px}.fallback-chips button,.fallback-retry{border:1px solid #d8c993;background:#fff;border-radius:999px;padding:9px 13px;cursor:pointer;font-weight:750}
.fallback-chips button:hover{background:#315c2c;color:#fff;border-color:#315c2c}.fallback-retry{margin-top:14px;background:transparent}

.ingredient-recipes{margin:52px 0 20px}.ingredient-recipe-head{text-align:left;margin-bottom:20px}.ingredient-recipe-head h2{font-size:32px;margin:6px 0}.ingredient-recipe-head p{margin:0;color:#6c7568}
@media(max-width:760px){.ingredient-recipes{margin-top:36px}.ingredient-recipe-head h2{font-size:27px}}

.ingredient-suggestion-main{display:grid;gap:3px;min-width:0}.ingredient-suggestion-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ingredient-suggestion-meta{font-size:12px;color:#6f786b}.ingredient-suggestion-basis{flex:0 0 auto;color:#879083}

.food-source{display:grid;gap:9px}.food-source>div{display:flex;justify-content:space-between;gap:16px;padding:8px 0;border-bottom:1px solid #edf0eb}.food-source>div:last-child{border-bottom:0}.food-source span{color:#737c70}.food-source strong{text-align:right;overflow-wrap:anywhere}.source-card{grid-column:1/-1}

@media(max-width:600px){.food-source>div{display:grid;gap:4px}.food-source strong{text-align:left}.source-card{grid-column:auto}.ingredient-suggestion{padding:12px 13px}.ingredient-suggestion-main strong{white-space:normal}}

@media(max-width:760px){.ingredient-card{flex-direction:column;gap:18px;padding:22px}.ingredient-card h2{font-size:32px;line-height:1.2;overflow-wrap:anywhere}.kcal{text-align:left;min-width:0}.amount-presets button{min-height:44px;padding:10px 14px}.amount-control input{min-height:40px}.nutrition-list div{min-height:44px;align-items:center}.info-card{padding:20px}}
@media(max-width:420px){.ingredient-card h2{font-size:28px}.kcal strong{font-size:36px}.amount-control{width:100%;box-sizing:border-box}.amount-control input{flex:1;width:0}.amount-presets{display:grid;grid-template-columns:1fr 1fr}.amount-presets button{width:100%}}

.recipe-amount{border:1px solid #d8dfd4;border-radius:9px;padding:7px 8px;font:inherit}.recipe-remove{border:1px solid #dce3d8;background:#fff;border-radius:999px;padding:7px 11px;cursor:pointer}.recipe li.removed{opacity:.55;text-decoration:line-through}.recipe li.removed .recipe-remove{text-decoration:none;opacity:1}.recipe-nutrition-live{margin-top:18px;background:#f4f8f0;border:1px solid #dce7d7;border-radius:16px;padding:16px;line-height:1.65}.recipe-nutrition-live strong{display:block;margin-bottom:5px}@media(max-width:600px){.recipe{padding:22px 18px}.recipe h2{font-size:30px}.recipe-layout{gap:26px}.recipe li{margin-bottom:14px}.recipe-amount{min-height:42px}.recipe-remove{min-height:42px;margin-left:4px}}

/* Search, calculation and keyboard usability */
button,input{font:inherit}button:focus-visible,[role="button"]:focus-visible,a:focus-visible{outline:3px solid #315c2c;outline-offset:3px}input:focus-visible{outline:2px solid #315c2c;outline-offset:2px;border-radius:8px}
.search-box input,.recipe-search input,.country-search input{min-width:0;width:100%}.ingredient-card>div{min-width:0}.ingredient-card h2{overflow-wrap:anywhere}.ingredient-suggestion-meta{font-size:14px;line-height:1.5}.ingredient-suggestion-basis{font-size:14px}.coverage,.data-note,.allergy-note{font-size:14px;line-height:1.6;color:#64705f}.amount-error{grid-column:1/-1;color:#a52b28;font-size:14px;margin:0}.amount-error:empty{display:none}.amount-control:has([aria-invalid="true"]){border-color:#a52b28}.quick button,.nav-btn,.chips button,.region-links button,.back{min-height:44px}.ad-reserve:empty{display:none}
@media(max-width:420px){.topbar{padding-left:16px;padding-right:16px;gap:12px}.brand{font-size:20px}.hero{margin-top:30px}.hero h1{font-size:42px;line-height:1.15}.info-head h3{font-size:20px}.ingredient-suggestion{align-items:flex-start}.ingredient-suggestion-main strong{line-height:1.5}.recipe-search-section h2,.country-title h2{font-size:26px}.nutrition-list strong{white-space:normal;text-align:right}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

/* Narrow-screen recipe controls and readable product names */
.recipe li[data-ri]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.recipe li[data-ri]>span{flex:1 1 140px;overflow-wrap:anywhere}.recipe-remove{min-height:44px}.recipe-amount{min-height:44px}.ingredient-suggestion-main strong{white-space:normal;overflow-wrap:anywhere}.country-result{min-height:48px}
@media(max-width:420px){.recipe li[data-ri]>span{flex-basis:100%}.ingredient-card{flex-wrap:wrap;gap:16px}.kcal{text-align:left;min-width:0}.recipe h2{overflow-wrap:anywhere}}

.data-guide{max-width:760px;margin:20px auto;text-align:left;border:1px solid #dce3d8;border-radius:16px;background:#fff;padding:0 18px}.data-guide summary{min-height:44px;padding:14px 0;cursor:pointer;font-weight:700;color:#315c2c}.data-guide summary:focus-visible{outline:3px solid #315c2c;outline-offset:2px}.data-guide p{font-size:14px;line-height:1.7;color:#64705f}.amount-basis-note{grid-column:1/-1;margin:0;line-height:1.6}

/* Beta launch round 1: narrow screens and touch input */
.ingredient-suggestions.show{grid-template-columns:repeat(2,minmax(0,1fr))}.ingredient-suggestion{min-width:0}.ingredient-suggestion-meta{overflow-wrap:anywhere}.info-grid>*{min-width:0}.food-source a,.allergy-content a{overflow-wrap:anywhere}
@media(max-width:760px){.ingredient-suggestions.show{grid-template-columns:minmax(0,1fr)}.country-search input,.recipe-search input,.recipe-amount{font-size:16px}.result,.recipe,.explorer{min-width:0}.recipe-layout>*{min-width:0}.search-box button,.recipe-search button,.country-search button{min-height:48px}.sub{line-height:1.65}.topbar nav{flex-direction:row;flex-wrap:wrap;justify-content:flex-end}.nav-btn{font-size:14px;padding:10px 12px}}
@media(max-width:360px){.topbar{padding-left:12px;padding-right:12px}.brand{font-size:18px}.nav-btn{padding:9px}.hero{padding:0 14px}.result{padding:0 14px}.info-card{padding:16px}}

.data-guide h3{font-size:15px;margin:18px 0 4px;color:#315c2c}.data-guide h3+p{margin-top:4px}.data-guide p:last-child{margin-bottom:20px}

.service-info{max-width:1040px;margin:48px auto;padding:0 22px}.service-info details{border:1px solid #dce3d8;border-radius:16px;background:#fff;padding:0 18px;margin:12px 0;scroll-margin-top:20px}.service-info summary{padding:16px 0;min-height:48px;cursor:pointer;font-weight:750;color:#315c2c}.service-info p{font-size:15px;line-height:1.75;color:#64705f}.service-info a{display:inline-block;margin:0 0 18px;color:#315c2c;overflow-wrap:anywhere}.service-info .report-link{padding:12px 16px;border:1px solid #315c2c;border-radius:12px;min-height:48px;text-decoration:none;font-weight:750}.service-info summary:focus-visible{outline:3px solid #315c2c;outline-offset:3px}@media(max-width:420px){.service-info{padding:0 14px}.service-info details{padding:0 16px}}
