
@import url("https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Inter:wght@500;650;750;850;900&display=swap");
:root{
  --ink:#15100c;
  --muted:#6d6258;
  --paper:#f6efe5;
  --cream:#fffaf2;
  --line:#e7d9c7;
  --coffee:#342017;
  --tomato:#e95f43;
  --leaf:#597f4c;
  --gold:#dca846;
  --shadow:0 34px 100px rgba(45,31,21,.16);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:linear-gradient(140deg,#fbf6ed 0%,#f4eadc 48%,#f8efe1 100%);
  color:var(--ink);
  font-family:Inter,"Avenir Next",system-ui,sans-serif;
  -webkit-font-smoothing:antialiased;
  text-rendering:geometricPrecision;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  opacity:.16;
  background-image:linear-gradient(rgba(21,16,12,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(21,16,12,.04) 1px,transparent 1px);
  background-size:68px 68px;
  mask-image:linear-gradient(to bottom,transparent,black 18%,black 78%,transparent);
}
a{color:inherit}
.skip{position:absolute;left:-999px}
.skip:focus{left:1rem;top:1rem;z-index:10;background:#fff;padding:.75rem;border-radius:10px}
.site-header{
  position:sticky;
  top:0;
  z-index:20;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:1rem 1.35rem;
  border-bottom:1px solid rgba(21,16,12,.08);
  background:rgba(246,239,229,.78);
  backdrop-filter:blur(22px);
}
.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;font-weight:900;letter-spacing:-.02em}
.brand-mark{width:42px;height:42px;flex:0 0 auto}
.site-header nav,.site-footer nav{display:flex;gap:1.1rem;flex-wrap:wrap}
.site-header nav a,.site-footer nav a{font-weight:850;text-decoration:none;color:#4f443b}
.search-home{
  position:relative;
  min-height:calc(100vh - 74px);
  display:grid;
  place-items:center;
  padding:clamp(3rem,8vw,7rem) 5vw;
  overflow:hidden;
}
.search-center{width:min(980px,100%);display:grid;justify-items:center;text-align:center}
.plate-kicker,.plate-chip{
  display:inline-flex;
  align-items:center;
  width:max-content;
  border:1px solid rgba(21,16,12,.12);
  border-radius:999px;
  background:rgba(255,250,242,.72);
  color:#6e4330;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.plate-kicker{margin:0 0 1.2rem;padding:.55rem .82rem;box-shadow:0 10px 36px rgba(45,31,21,.07)}
.plate-chip{padding:.45rem .75rem;font-size:.78rem}
.search-center h1,
.section-head h2,
.content-page h1,
.page-hero h1,
.food-detail-copy h1,
.nutrition-panel h2,
.source-note h2{
  font-family:"Instrument Serif","Saprona","Canela",Georgia,serif;
  font-weight:400;
  letter-spacing:-.05em;
}
.search-center h1{font-size:clamp(5rem,12vw,13rem);line-height:.8;margin:0}
.search-center>p{max-width:680px;margin:1.35rem auto 2.2rem;color:var(--muted);font-size:clamp(1.15rem,2vw,1.55rem);line-height:1.45;font-weight:650}
.plate-search{position:relative;width:min(860px,100%);display:grid;gap:.8rem}
.plate-search label{position:absolute;left:-999px}
.search-shell{
  display:grid;
  grid-template-columns:1fr auto;
  gap:.65rem;
  padding:.55rem;
  border:1px solid rgba(21,16,12,.14);
  border-radius:999px;
  background:rgba(255,250,242,.88);
  box-shadow:0 30px 90px rgba(45,31,21,.14);
}
.search-shell input{
  width:100%;
  height:4.5rem;
  border:0;
  background:transparent;
  padding:0 1.35rem;
  color:var(--ink);
  font:inherit;
  font-size:1.35rem;
  font-weight:750;
  outline:none;
}
.search-shell input::placeholder{color:#a39283}
.search-shell button{
  height:4.5rem;
  border:0;
  border-radius:999px;
  background:var(--ink);
  color:#fffaf2;
  padding:0 2rem;
  font:inherit;
  font-weight:900;
  cursor:pointer;
  box-shadow:inset 0 -3px 0 rgba(255,255,255,.12);
}
.search-feedback{min-height:1.4rem;margin:0;color:#7d6f64;font-size:.92rem;font-weight:750}
.quick-picks{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem;margin-top:1rem}
.quick-picks button{
  border:1px solid rgba(21,16,12,.13);
  border-radius:999px;
  background:rgba(255,250,242,.78);
  padding:.65rem .92rem;
  color:#4f443b;
  font:inherit;
  font-size:.92rem;
  font-weight:850;
  cursor:pointer;
}
.quick-picks button:hover{background:#fffaf2;transform:translateY(-1px)}
.suggestions{
  position:absolute;
  top:5.9rem;
  left:0;
  right:0;
  z-index:8;
  display:grid;
  gap:.35rem;
  padding:.55rem;
  border:1px solid rgba(21,16,12,.12);
  border-radius:28px;
  background:rgba(255,250,242,.98);
  box-shadow:0 28px 80px rgba(45,31,21,.18);
  text-align:left;
}
.suggestions:empty,.suggestions[hidden],.result-dock[hidden]{display:none}
.suggestions button{
  display:grid;
  grid-template-columns:1fr auto;
  gap:1rem;
  align-items:center;
  border:0;
  border-radius:20px;
  background:transparent;
  padding:.9rem 1rem;
  color:var(--ink);
  font:inherit;
  cursor:pointer;
}
.suggestions button:hover{background:#f2e6d6}
.suggestions strong{font-weight:900}
.suggestions span{color:#7c6e62;font-size:.92rem;font-weight:800}
.result-dock{width:min(1260px,100%);margin:4rem auto 0}
.search-home.has-selection{
  display:block;
  min-height:auto;
  padding-top:2.4rem;
  padding-bottom:4rem;
}
.search-home.has-selection .search-center{width:min(900px,100%);margin:0 auto}
.search-home.has-selection .plate-kicker,
.search-home.has-selection .search-center>p,
.search-home.has-selection .quick-picks{display:none}
.search-home.has-selection .search-center h1{font-size:clamp(3rem,6vw,6rem);line-height:.82;margin-bottom:1rem}
.search-home.has-selection .result-dock{margin-top:1.6rem}
.plate-product{display:grid;grid-template-columns:minmax(360px,500px) minmax(420px,1fr);gap:1.1rem;align-items:stretch}
.home-panel{grid-template-columns:minmax(360px,480px) minmax(500px,1fr)}
.nutrition-panel,
.food-stage,
.food-detail-copy,
.content-page,
.page-hero,
.answer-table,
.source-note,
.food-card,
.category-tile{
  border:1px solid rgba(21,16,12,.11);
  background:rgba(255,250,242,.72);
  box-shadow:var(--shadow);
  backdrop-filter:blur(22px);
}
.nutrition-panel{display:grid;align-content:start;gap:1.05rem;border-radius:34px;padding:1.35rem;min-height:41rem}
.home-panel .nutrition-panel,
.home-panel .food-stage,
.home-panel .photo-card{min-height:36.5rem}
.panel-topline{display:flex;justify-content:space-between;gap:1rem;color:#7c6e62;font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.panel-topline a{text-decoration:none}
.nutrition-panel h2{font-size:clamp(3.6rem,6vw,6.4rem);line-height:.83;margin:.1rem 0}
.serving-line{margin:0;color:#77685d;font-weight:800}
.calorie-number{display:flex;align-items:end;gap:.7rem;padding:1rem 1.15rem;border-radius:25px;background:linear-gradient(135deg,#25140f,#5e3525);color:#fffaf0}
.calorie-number strong{font-size:clamp(4.2rem,7vw,6.2rem);line-height:.78;letter-spacing:-.05em}
.calorie-number span{font-weight:900;font-size:1rem}
.macro-bars{display:grid;gap:.82rem}
.macro-row{display:grid;grid-template-columns:5rem 1fr 4rem;gap:.75rem;align-items:center;font-weight:900}
.macro-row div{height:.62rem;border-radius:999px;background:#ebdfcf;overflow:hidden}
.macro-row i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--leaf),var(--gold),var(--tomato))}
.macro-row strong{text-align:right}
.micro-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.55rem}
.micro-stats span{display:grid;gap:.16rem;border:1px solid rgba(21,16,12,.1);border-radius:18px;background:rgba(255,255,255,.5);padding:.72rem;color:#7c6e62;font-size:.82rem;font-weight:800}
.micro-stats strong{color:var(--ink);font-size:1.18rem}
.portion-toggle{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin-top:auto}
.portion-toggle button,.button{
  border:1px solid rgba(21,16,12,.13);
  border-radius:17px;
  background:#fffaf2;
  padding:.9rem .72rem;
  color:var(--ink);
  font:inherit;
  font-weight:900;
  text-align:center;
  text-decoration:none;
  cursor:pointer;
}
.portion-toggle button.active,.button.primary{background:var(--ink);color:#fffaf2}
.button.secondary{background:rgba(255,250,242,.75)}
.food-stage{
  position:relative;
  display:grid;
  place-items:center;
  min-height:41rem;
  border-radius:34px;
  overflow:hidden;
  perspective:1100px;
  background:#f2e8da;
}
.photo-card{
  position:relative;
  width:100%;
  height:100%;
  min-height:41rem;
  overflow:hidden;
  border-radius:34px;
  transform:rotateX(calc(var(--tilt-y,0)*-6deg)) rotateY(calc(var(--tilt-x,0)*8deg));
  transition:transform .16s ease;
}
.photo-card img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(1.05) contrast(1.02)}
.photo-card:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(21,16,12,.74),rgba(21,16,12,.16) 42%,rgba(21,16,12,0) 70%)}
.photo-overlay{position:absolute;left:1.3rem;right:1.3rem;bottom:1.15rem;z-index:2;display:flex;align-items:end;justify-content:space-between;gap:1rem;color:#fffaf2}
.home-panel .photo-overlay{top:1.2rem;bottom:auto}
.photo-overlay span{font-weight:850;font-size:1.05rem}
.photo-overlay strong{font-family:"Instrument Serif","Saprona",Georgia,serif;font-size:3.4rem;font-weight:400;letter-spacing:-.04em}
.food-runway,.category-runway,.nutrition-detail{padding:5rem 5vw}
.section-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,520px);gap:2rem;align-items:end;margin-bottom:1.4rem}
.section-head h2,.content-page h1{font-size:clamp(3.4rem,7vw,6.8rem);line-height:.9;margin:.5rem 0}
.section-head p,.content-page p,.page-hero p,.food-detail-copy p{color:var(--muted);font-size:1.12rem;line-height:1.55;font-weight:650}
.food-card-grid,.category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.food-card,.category-tile{display:grid;grid-template-rows:auto auto 1fr;gap:.7rem;border-radius:28px;padding:1rem;text-decoration:none;color:inherit;box-shadow:0 18px 55px rgba(45,31,21,.1);overflow:hidden}
.food-card img,.category-tile img{width:100%;aspect-ratio:1.28;object-fit:cover;border-radius:22px;display:block}
.food-card strong,.category-tile strong{font-size:1.12rem;line-height:1.1}
.food-card span,.category-tile p,.category-tile span{color:#75685e;font-weight:750;line-height:1.35}
.page-hero,.content-page{width:min(1120px,calc(100% - 2rem));margin:4rem auto 0;border-radius:34px;padding:3rem}
.page-hero h1,.food-detail-copy h1{font-size:clamp(4rem,8vw,8rem);line-height:.9;max-width:10ch}
.food-detail{display:grid;grid-template-columns:minmax(320px,460px) minmax(700px,1fr);gap:2rem;align-items:center;padding:4rem 5vw}
.food-detail-copy{border-radius:34px;padding:2rem}
.detail-actions{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1.5rem}
.nutrition-detail{display:grid;grid-template-columns:minmax(360px,560px) minmax(360px,1fr);gap:1rem}
.answer-table,.source-note{border-radius:28px;padding:1.3rem}
.answer-table{display:grid;gap:.55rem}
.answer-table div,.method-grid div{display:grid;grid-template-columns:1fr 1.3fr;gap:1rem;border:1px solid rgba(21,16,12,.1);border-radius:16px;padding:.9rem;background:rgba(255,255,255,.5)}
.answer-table span,.method-grid span{color:#7c6e62;font-weight:900}
.answer-table strong,.method-grid strong{font-size:1.05rem}
.source-note h2{font-size:3rem;line-height:.95;margin:.3rem 0}
.source-note p{color:var(--muted);font-weight:650;line-height:1.55}
.method-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem;margin:2rem 0}
.site-footer{display:flex;justify-content:space-between;gap:2rem;padding:2rem 5vw;border-top:1px solid rgba(21,16,12,.1);color:var(--muted)}
.site-footer p{max-width:42rem;font-weight:650;line-height:1.45}
@media(max-width:1180px){
  .plate-product,.home-panel,.food-detail{grid-template-columns:1fr}
  .nutrition-panel,.food-stage,.photo-card{min-height:34rem}
  .food-card-grid,.category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .section-head,.nutrition-detail{grid-template-columns:1fr}
  .search-home{align-items:start}
  .result-dock{margin-top:3rem}
}
@media(max-width:720px){
  body:before{background-size:42px 42px}
  .site-header{align-items:flex-start}
  .site-header nav{justify-content:flex-end;font-size:.9rem}
  .site-header nav a:nth-child(3){display:none}
  .brand-mark{width:34px;height:34px}
  .search-home{min-height:calc(100vh - 68px);padding:3rem 1rem}
  .search-center h1{font-size:clamp(4.4rem,22vw,7rem)}
  .search-home.has-selection .search-center h1{font-size:3.8rem}
  .search-shell{grid-template-columns:1fr;border-radius:30px;padding:.5rem}
  .search-shell input{height:3.8rem;font-size:1.05rem}
  .search-shell button{height:3.8rem}
  .suggestions{top:8.8rem}
  .result-dock{margin-top:2rem}
  .plate-product{gap:1rem}
  .nutrition-panel,.food-stage,.photo-card,.food-detail-copy,.page-hero,.content-page{border-radius:25px}
  .nutrition-panel,.food-stage,.photo-card{min-height:auto}
  .photo-card{height:24rem}
  .micro-stats,.portion-toggle,.method-grid,.food-card-grid,.category-grid{grid-template-columns:1fr}
  .macro-row{grid-template-columns:4.5rem 1fr 3.8rem}
  .calorie-number strong{font-size:3.7rem}
  .food-runway,.category-runway,.nutrition-detail,.food-detail{padding:3rem 1rem}
  .section-head h2,.content-page h1{font-size:3.1rem}
  .page-hero h1,.food-detail-copy h1{font-size:3.6rem}
  .photo-overlay{display:grid;align-items:start}
  .photo-overlay strong{font-size:2.6rem}
  .site-footer{display:grid}
}

.ai-answer-block{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:start;width:min(1120px,calc(100% - 2rem));margin:clamp(1rem,2vw,1.5rem) auto;padding:clamp(.9rem,1.6vw,1.15rem);border:1px solid var(--line,#d8e0e5);border-radius:14px;background:rgba(255,255,255,.76);box-shadow:0 14px 40px rgba(0,0,0,.06);backdrop-filter:blur(14px) saturate(120%)}.ai-answer-block p{margin:.3rem 0 0;color:var(--ink,#17221f);font-weight:760;line-height:1.45}.ai-answer-tags{display:flex;flex-wrap:wrap;gap:.45rem;justify-content:flex-end}.ai-answer-tags span{display:inline-flex;border:1px solid var(--line,#d8e0e5);border-radius:999px;padding:.34rem .55rem;color:var(--muted,#51606a);font-size:.84rem;font-weight:850;background:rgba(255,255,255,.62)}.citation-block{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,440px) auto;gap:.85rem;align-items:center;width:min(1120px,calc(100% - 2rem));margin:clamp(1.2rem,2.5vw,2rem) auto;padding:.85rem;border:1px solid var(--line,#d8e0e5);border-radius:12px;background:rgba(255,255,255,.62);box-shadow:0 10px 30px rgba(0,0,0,.045)}.citation-block p{margin:.2rem 0 0;color:var(--muted,#51606a);font-weight:720;line-height:1.4}.citation-block code{display:block;white-space:normal;word-break:break-word;background:rgba(0,0,0,.82);color:#fff;border-radius:9px;padding:.72rem;font-size:.82rem;line-height:1.4}.citation-block a{font-weight:900;white-space:nowrap}.citation-data{display:grid;gap:1rem}.citation-resource-grid,.citation-sample-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.citation-resource-grid a,.citation-sample-grid a{display:grid;gap:.35rem;padding:1rem;border:1px solid var(--line,#d8e0e5);border-radius:12px;background:rgba(255,255,255,.76);color:inherit;text-decoration:none;box-shadow:0 10px 28px rgba(0,0,0,.045)}.citation-resource-grid a:hover,.citation-sample-grid a:hover{transform:translateY(-1px);box-shadow:0 14px 34px rgba(0,0,0,.075)}.citation-resource-grid strong,.citation-sample-grid strong{line-height:1.1}.citation-resource-grid span,.citation-sample-grid span{color:var(--muted,#51606a);font-size:.9rem;font-weight:700;line-height:1.35}.table-scroll{overflow-x:auto;border:1px solid var(--line,#d8e0e5);border-radius:14px;background:rgba(255,255,255,.7)}.coverage-table{width:100%;border-collapse:collapse;min-width:760px}.coverage-table th,.coverage-table td{padding:.82rem .9rem;text-align:left;border-bottom:1px solid var(--line,#d8e0e5);vertical-align:top}.coverage-table th{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted,#51606a);font-weight:950;background:rgba(255,255,255,.72)}.coverage-table td{font-weight:720;color:var(--ink,#17221f)}.coverage-table tr:last-child td{border-bottom:0}.answer-api-box,.api-example-list{display:grid;gap:.55rem}.answer-api-box{padding:1rem;border:1px solid var(--line,#d8e0e5);border-radius:12px;background:rgba(255,255,255,.76)}.answer-api-box span{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted,#51606a);font-weight:950}.answer-api-box code,.api-example-list code{display:block;white-space:normal;word-break:break-word;border-radius:10px;background:rgba(0,0,0,.84);color:#fff;padding:.78rem;font-size:.88rem;line-height:1.42}.portfolio-popular-checks{content-visibility:auto;contain-intrinsic-size:1px 420px}.portfolio-popular-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.portfolio-popular-grid a,.priority-check-grid a{display:grid;gap:.35rem;padding:.9rem;border:1px solid var(--line,#d8e0e5);border-radius:10px;background:rgba(255,255,255,.72);color:inherit;text-decoration:none}.portfolio-popular-grid a:hover,.priority-check-grid a:hover{transform:translateY(-1px);box-shadow:0 12px 28px rgba(0,0,0,.08)}.portfolio-popular-grid strong,.priority-check-grid strong{line-height:1.1}.portfolio-popular-grid span,.source-summary li span,.priority-check-grid em{color:var(--muted,#51606a);font-size:.9rem;font-weight:700;font-style:normal}.portfolio-popular-more{display:inline-flex;margin-top:.9rem;font-weight:850}.source-summary ul{display:grid;gap:.55rem}.source-summary li span{display:block}.priority-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.priority-check-grid a{grid-template-columns:auto minmax(0,1fr);align-items:start}.priority-check-grid a span{grid-row:1 / span 2;display:grid;place-items:center;width:2rem;height:2rem;border-radius:999px;background:var(--ink,#17221f);color:#fff;font-weight:900}.priority-check-grid a em{grid-column:2}@media(max-width:980px){.portfolio-popular-grid,.citation-resource-grid,.citation-sample-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.priority-check-grid{grid-template-columns:1fr}.citation-block{grid-template-columns:1fr}.citation-block a{white-space:normal}}@media(max-width:700px){.ai-answer-block{grid-template-columns:1fr}.ai-answer-tags{justify-content:flex-start}}@media(max-width:620px){.portfolio-popular-grid,.citation-resource-grid,.citation-sample-grid{grid-template-columns:1fr}}