:root{--paper:#f3f0e7;--ink:#101510;--muted:#686d64;--line:#c8c9bf;--hot:#ef4b32;--green:#073d2e;--lime:#bedb72;--white:#fff;--pad:clamp(18px,3.5vw,58px)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}.top{height:70px;padding:0 var(--pad);display:flex;align-items:center;border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(243,240,231,.94);backdrop-filter:blur(14px);z-index:10}.brand{display:flex;align-items:center;gap:10px}.brand img{width:34px;height:34px}.brand span{font-size:19px;line-height:.85}.brand b{color:var(--hot)}.brand small{display:block;font:7px "IBM Plex Mono";letter-spacing:.08em;margin-top:7px}.top nav{display:flex;gap:22px;margin-left:45px;font-size:11px;font-weight:700}.top nav a[aria-current]{color:var(--hot)}.search-link{margin-left:auto;border-bottom:1px solid;padding:8px 0;font-size:11px}.eyebrow{font:10px "IBM Plex Mono";letter-spacing:.1em;color:var(--hot)}.hero{min-height:590px;display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line)}.hero-copy{padding:70px var(--pad);display:flex;flex-direction:column;justify-content:center}.hero h1,.section-head h2{font:clamp(62px,8vw,126px)/.82 Archivo Black;letter-spacing:-.075em;margin:24px 0}.intro{font-size:17px;line-height:1.6;max-width:54ch}.hero-actions{display:flex;gap:20px;align-items:center;margin-top:30px;font-size:12px;font-weight:700}.hero-actions a{border-bottom:1px solid;padding:13px 0}.hero-actions .primary{background:var(--hot);color:white;border:0;padding:14px 20px}.plate{background:var(--green);color:white;padding:clamp(35px,5vw,75px);display:grid;grid-template-rows:1fr auto;gap:28px}.plate-core{width:min(430px,80vw);aspect-ratio:1;border:1px solid #79988d;border-radius:50%;margin:auto;display:grid;grid-template-columns:1fr 1fr;overflow:hidden;transform:rotate(-7deg)}.plate-core span{display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;font:12px "IBM Plex Mono";border:1px solid #79988d}.plate-core b{font:24px Archivo Black;margin-top:5px}.veg{background:#bedb72;color:#10210f}.grain{background:#e8c875;color:#241a06}.protein{background:#ef765d}.fruit{background:#dca6b2;color:#2a1017}.plate-note{display:grid;grid-template-columns:90px 1fr auto;gap:18px;align-items:end;border-top:1px solid #79988d;padding-top:18px}.plate-note small{font:9px "IBM Plex Mono";color:var(--lime)}.plate-note b{font-size:15px;line-height:1.35}.plate-note a{font-size:11px;border-bottom:1px solid}.quick{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line)}.quick a{padding:20px var(--pad);display:flex;gap:15px;border-right:1px solid var(--line)}.quick i{width:38px;height:38px;background:white;display:grid;place-items:center;font-style:normal}.quick b,.quick small{display:block}.quick b{font-size:12px}.quick small{font:9px "IBM Plex Mono";color:var(--muted);margin-top:6px}.section-head{padding:80px var(--pad) 35px;display:grid;grid-template-columns:1fr minmax(260px,420px);align-items:end;gap:30px}.section-head h2{font-size:clamp(48px,6vw,86px);margin:18px 0 0}.section-head>p{font-size:13px;line-height:1.65;color:var(--muted)}.food-search{margin:0 var(--pad);padding:22px;background:var(--ink);color:white}.food-search label{display:block;font:9px "IBM Plex Mono";margin-bottom:10px;color:#b8bdb4}.food-search>div{display:grid;grid-template-columns:1fr auto}.food-search input{border:0;background:white;padding:17px;color:var(--ink);min-width:0}.food-search>div button{border:0;background:var(--hot);color:white;padding:0 28px;font-weight:700}.popular{font:9px "IBM Plex Mono";margin:15px 0 0;color:#aeb4aa}.popular button{border:0;background:transparent;color:white;text-decoration:underline;padding:2px 5px}.food-status{margin:20px var(--pad) 0;font:10px "IBM Plex Mono";color:var(--muted)}.food-results{margin:12px var(--pad) 80px;display:grid;grid-template-columns:repeat(4,1fr);border-top:2px solid var(--ink);border-left:1px solid var(--line)}.food-card{background:white;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px;min-height:220px;display:flex;flex-direction:column}.food-card .food-top{display:flex;justify-content:space-between;gap:10px}.food-card img{width:54px;height:54px;object-fit:contain;background:var(--paper)}.food-card>span,.food-card small{font:9px "IBM Plex Mono";color:var(--muted)}.food-card h3{font-size:17px;margin:25px 0 7px}.food-card .kcal{font:28px Archivo Black;margin-top:auto}.food-card .kcal small{font:9px "IBM Plex Mono"}.macros{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:16px;padding-top:12px;border-top:1px solid var(--line)}.macros b,.macros small{display:block}.macros b{font:11px "IBM Plex Mono"}.plate-section{background:var(--green);color:white;padding-bottom:70px}.section-head.light>p{color:#b7c9c1}.groups{margin:0 var(--pad);display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid #557569;border-left:1px solid #557569}.groups button{background:transparent;color:white;border:0;border-right:1px solid #557569;border-bottom:1px solid #557569;text-align:left;padding:22px;min-height:170px}.groups button:hover,.groups button.active{background:var(--lime);color:var(--ink)}.groups span,.groups small{display:block;font:9px "IBM Plex Mono"}.groups b{display:block;font-size:16px;margin:45px 0 8px}.group-detail{margin:18px var(--pad) 0;max-width:850px;font-size:16px;line-height:1.6;color:#d3ddd8}.tools{padding-bottom:80px}.tool-grid{margin:0 var(--pad);display:grid;grid-template-columns:1fr 1fr}.tool{border:1px solid var(--line);background:white;padding:30px}.tool.dark{background:var(--ink);color:white}.tool>span{font:9px "IBM Plex Mono";color:var(--hot)}.tool h3{font:32px/1 Archivo Black;letter-spacing:-.04em;margin:22px 0 35px}.inputs{display:grid;grid-template-columns:1fr 1fr;gap:10px}.tool label{font:10px "IBM Plex Mono";display:block;position:relative}.tool input{width:100%;margin-top:7px;padding:14px 42px 14px 12px;border:1px solid var(--line);background:var(--paper)}.tool label small{position:absolute;right:12px;bottom:16px;color:var(--muted)}.tool>button{margin-top:13px;border:0;background:var(--hot);color:white;padding:14px 20px;font-weight:700}.tool output{display:flex;justify-content:space-between;align-items:end;border-top:1px solid var(--line);margin-top:25px;padding-top:22px}.tool output b{font:26px Archivo Black}.tool output small{font:9px "IBM Plex Mono"}.tool>p{font-size:10px;line-height:1.5;color:#adb3aa;margin-top:20px}.guides{border-top:1px solid var(--line);padding-bottom:80px}.guide-grid{margin:0 var(--pad);display:grid;grid-template-columns:1.1fr .9fr;border-top:2px solid var(--ink)}.featured{background:var(--hot);color:white;padding:40px;display:flex;flex-direction:column;justify-content:space-between;min-height:470px}.featured span{font:9px "IBM Plex Mono"}.featured h3{font:clamp(35px,4vw,62px)/.95 Archivo Black;letter-spacing:-.05em;max-width:13ch}.featured p{max-width:43ch;line-height:1.55}.featured button{align-self:flex-start;background:white;border:0;padding:13px 18px;font-weight:700}.guide-list button{width:100%;border:0;border-bottom:1px solid var(--line);background:white;text-align:left;padding:20px;display:grid;grid-template-columns:45px 1fr;gap:5px}.guide-list button:hover{background:#e5e7df}.guide-list span{grid-row:1/3;font:9px "IBM Plex Mono";color:var(--hot)}.guide-list b{font-size:15px}.guide-list small{font:9px "IBM Plex Mono";color:var(--muted)}.notice{margin:0 var(--pad) 80px;background:#e6dfc9;padding:22px;display:grid;grid-template-columns:180px 1fr;gap:20px}.notice p{margin:0;font-size:12px;line-height:1.6}footer{border-top:1px solid var(--line);padding:40px var(--pad);display:grid;grid-template-columns:1fr 1fr 1fr;gap:30px}footer div b,footer div a{display:block;font-size:11px;margin-bottom:10px}footer div a{color:var(--muted)}dialog{max-width:620px;border:0;padding:45px;background:var(--paper);box-shadow:0 20px 80px #0005}dialog::backdrop{background:#07100dcc}.dialog-close{position:absolute;right:14px;top:12px;border:0;background:transparent;font-size:28px}.dialog-close+*{}dialog h2{font:36px Archivo Black;letter-spacing:-.04em}dialog>p:not(.eyebrow){line-height:1.7}dialog>small{font:9px "IBM Plex Mono";color:var(--muted)}
@media(max-width:900px){.top nav{display:none}.hero{grid-template-columns:1fr;min-height:0}.plate{min-height:550px}.quick{grid-template-columns:1fr 1fr}.food-results{grid-template-columns:1fr 1fr}.groups{grid-template-columns:1fr 1fr}.groups button:last-child{grid-column:1/-1}.tool-grid,.guide-grid{grid-template-columns:1fr}.section-head{grid-template-columns:1fr}.featured{min-height:400px}}
@media(max-width:560px){.top{height:62px}.search-link{font-size:0}.search-link span{font-size:20px}.hero-copy{padding:48px 18px}.hero h1{font-size:62px}.plate{padding:35px 18px;min-height:470px}.plate-note{grid-template-columns:1fr}.quick{grid-template-columns:1fr}.quick a{padding:15px 18px}.section-head{padding:55px 18px 28px}.section-head h2{font-size:48px}.food-search,.food-status,.food-results,.groups,.group-detail,.tool-grid,.guide-grid,.notice{margin-left:18px;margin-right:18px}.food-search{padding:14px}.food-search>div{grid-template-columns:1fr}.food-search>div button{padding:13px}.food-results{grid-template-columns:1fr}.groups{grid-template-columns:1fr}.groups button,.groups button:last-child{grid-column:auto;min-height:120px}.groups b{margin-top:22px}.tool-grid{grid-template-columns:1fr}.tool{padding:22px}.inputs{grid-template-columns:1fr}.tool output{display:block}.tool output small{display:block;margin-top:8px}.featured{padding:28px}.notice{grid-template-columns:1fr}footer{grid-template-columns:1fr 1fr}footer .brand{grid-column:1/-1}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
