html { scroll-behavior: smooth; }
body {
  background:
    radial-gradient(circle at top left, rgba(16,185,129,.05), transparent 22%),
    radial-gradient(circle at top right, rgba(59,130,246,.04), transparent 18%),
    linear-gradient(180deg, #f8fafc 0%, #f7faf8 100%);
  color: #0f172a;
}
.prose h2, .prose h3 { font-weight: 900; color: #0f172a; }
.prose p { margin: .75rem 0; line-height: 1.75; }
details summary::-webkit-details-marker { display: none; }
details summary::after { content: "⌄"; float: right; color: #64748b; }
details[open] summary::after { transform: rotate(180deg); }
.site-search-mobile summary::after { content: none; display: none; }
.site-search-mobile-panel {
  border-top: 1px solid #e2e8f0;
  padding-top: 0.75rem;
  padding-bottom: 0.25rem;
}

.shadow-card { box-shadow: 0 14px 32px rgba(15,23,42,.06); }
.shadow-soft { box-shadow: 0 20px 50px rgba(15,23,42,.08); }

header nav a { position: relative; }
header nav a:hover::after { content: ""; position: absolute; left: 0; right: 0; bottom: -8px; height: 2px; background: linear-gradient(90deg, #10b981, #22c55e); border-radius: 999px; }

.brand-logo-pro { width: 48px; height: 48px; display: inline-grid; place-items: center; border-radius: 18px; box-shadow: 0 14px 32px rgba(21,128,61,.28); transition: transform .18s ease, box-shadow .18s ease; }
.brand-logo-pro:hover { transform: translateY(-1px) scale(1.03); box-shadow: 0 18px 42px rgba(21,128,61,.34); }
.brand-logo-pro svg { width: 48px; height: 48px; display: block; }

.line-clamp-2 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.line-clamp-3 { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }

.nb-pro-card { border-radius:1.5rem; border:1px solid #e2e8f0; background:#fff; box-shadow:0 14px 36px rgba(15,23,42,.05); }
.nb-pro-soft { border-radius:1.5rem; border:1px solid #dcfce7; background:linear-gradient(180deg,#ffffff 0%,#f0fdf4 100%); }
.nb-pro-warning { border-radius:1.5rem; border:1px solid #fde68a; background:linear-gradient(180deg,#fffdf5 0%,#fffbeb 100%); }
.nb-section-title { font-size:1.85rem; line-height:1.1; font-weight:900; color:#0f172a; }
.nb-subtitle { color:#64748b; line-height:1.75; }

.metric-card-pro { border-radius:1.35rem; border:1px solid #e2e8f0; background:#fff; padding:1.25rem; box-shadow:0 8px 22px rgba(15,23,42,.04); }
.metric-card-pro .summary-label { font-size:.875rem; font-weight:800; color:#64748b; }
.metric-card-pro .summary-value { margin-top:.5rem; font-size:1.9rem !important; font-weight:900; letter-spacing:-.02em; line-height:1.1; }
.summary-card { min-width: 0; overflow: hidden; }
.best-match-card .summary-label, .best-match-label { font-size:.875rem !important; font-weight:800 !important; color:#64748b; }
.summary-match-value { display:-webkit-box; -webkit-line-clamp:6; -webkit-box-orient:vertical; overflow:hidden; overflow-wrap:anywhere; margin-top:.5rem; font-size:1rem !important; line-height:1.25 !important; font-weight:900; }
.food-name-small { font-size:1rem !important; line-height:1.25 !important; overflow-wrap:anywhere; }

.category-card { border-radius:1.25rem; border:1px solid #e2e8f0; background:#f8fafc; padding:1rem; transition:all .18s ease; }
.category-card:hover { border-color:#86efac; background:#fff; box-shadow:0 14px 32px rgba(15,23,42,.06); transform:translateY(-1px); }

.page-card { border-radius:1.5rem; border:1px solid #e2e8f0; background:#fff; padding:1.25rem; box-shadow:0 10px 24px rgba(15,23,42,.04); transition:all .18s ease; }
.page-card:hover { transform:translateY(-2px); box-shadow:0 18px 34px rgba(15,23,42,.08); border-color:#bbf7d0; }

.home-filter-btn {
  display:inline-flex; align-items:center; justify-content:center;
  border-radius:9999px; border:1px solid #cbd5e1; background:#fff;
  padding:.55rem 1rem; font-size:.875rem; font-weight:800; color:#475569;
  box-shadow:0 1px 2px rgba(15,23,42,.04); transition:all .15s ease;
}
.home-filter-btn:hover { border-color:#86efac; color:#15803d; background:#f0fdf4; }
.home-filter-btn.is-active {
  border-color:#16a34a; background:#16a34a; color:#fff;
  box-shadow:0 10px 24px rgba(22,163,74,.28);
}
.home-filter-btn.is-active:hover { background:#15803d; border-color:#15803d; color:#fff; }

.language-selector > summary { outline:none; }
.language-selector[open] > summary { background:#dcfce7; border-color:#86efac; }

.monetization-card { border-radius:2rem; border:1px dashed #a7f3d0; background:linear-gradient(135deg,#ecfdf5 0%,#ffffff 100%); padding:1.5rem; box-shadow:0 18px 40px rgba(15,23,42,.06); }
.ad-premium { min-height:112px; display:grid; place-items:center; border-radius:1.25rem; border:1px dashed #cbd5e1; background:linear-gradient(180deg,#fff 0%,#f8fafc 100%); }
.ad-premium-live { border-style:solid; border-color:#e2e8f0; background:#fff; padding:.25rem; }

.pro-hero-panel { min-height: 520px; background: radial-gradient(circle at top left, rgba(16,185,129,.10), transparent 28%), radial-gradient(circle at bottom right, rgba(245,158,11,.10), transparent 24%), linear-gradient(180deg, #ffffff 0%, #f8fffb 100%); }
.pro-hero-grid { display:grid; grid-template-columns:1fr auto 1fr; gap:1rem; align-items:center; }
.pro-side { border-radius:1.75rem; padding:1rem; min-height:320px; }
.pro-side-left { background:linear-gradient(180deg, rgba(236,253,245,1) 0%, rgba(255,255,255,1) 100%); border:1px solid rgba(167,243,208,.8); }
.pro-side-right { background:linear-gradient(180deg, rgba(255,251,235,1) 0%, rgba(255,255,255,1) 100%); border:1px solid rgba(253,230,138,.9); }
.pro-side-header { display:flex; align-items:center; gap:.6rem; margin-bottom:1rem; }
.pro-dot { width:.75rem; height:.75rem; border-radius:999px; box-shadow:0 0 0 6px rgba(255,255,255,.85); }
.pro-side-kicker { font-size:.72rem; font-weight:900; letter-spacing:.14em; text-transform:uppercase; color:#475569; }
.pro-food-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.85rem; }
.pro-food-card { display:flex; align-items:center; justify-content:center; min-height:84px; border-radius:1.35rem; background:rgba(255,255,255,.88); border:1px solid rgba(255,255,255,.9); box-shadow:0 10px 24px rgba(15,23,42,.05); backdrop-filter:blur(8px); transition:transform .2s ease, box-shadow .2s ease; }
.pro-food-card:hover { transform:translateY(-2px); box-shadow:0 16px 28px rgba(15,23,42,.09); }
.pro-food-card span { font-size:2.1rem; line-height:1; }
.pro-vs { display:flex; align-items:center; justify-content:center; }
.pro-vs-ring { display:grid; place-items:center; width:120px; height:120px; border-radius:999px; background:radial-gradient(circle, rgba(22,163,74,.14) 0%, rgba(22,163,74,0) 70%); }
.pro-vs-core { display:inline-flex; align-items:center; justify-content:center; width:78px; height:78px; border-radius:999px; background:linear-gradient(135deg,#10b981,#16a34a); color:white; font-size:1.15rem; font-weight:900; letter-spacing:.12em; box-shadow:0 18px 34px rgba(16,185,129,.28); }
.pro-hero-bottom { margin-top:1.25rem; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.85rem; }
.pro-pill-metric { display:flex; align-items:center; gap:.8rem; border-radius:1.15rem; background:rgba(255,255,255,.88); border:1px solid rgba(226,232,240,.88); padding:.95rem 1rem; box-shadow:0 8px 22px rgba(15,23,42,.04); }
.pro-pill-icon { display:inline-flex; width:44px; height:44px; align-items:center; justify-content:center; border-radius:999px; background:#f8fafc; font-size:1.15rem; }
.pro-pill-metric small { display:block; margin-bottom:.1rem; font-size:.68rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; color:#64748b; }
.pro-pill-metric strong { font-size:.97rem; font-weight:900; color:#0f172a; }

.internal-hero-grid { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr); gap:2rem; align-items:center; }
.internal-hero-visual { position:relative; overflow:hidden; border-radius:2rem; border:1px solid #e2e8f0; background:linear-gradient(135deg,#effcf5 0%,#fff7ed 100%); box-shadow:0 18px 40px rgba(15,23,42,.06); min-height:360px; padding:1.25rem; }
.vs-grid-pro { display:grid; grid-template-columns:1fr auto 1fr; gap:1rem; align-items:center; height:100%; }
.food-stack { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.9rem; }
.food-stack .tile { min-height:92px; border-radius:1.2rem; display:flex; align-items:center; justify-content:center; background:rgba(255,255,255,.88); border:1px solid rgba(255,255,255,.9); box-shadow:0 10px 24px rgba(15,23,42,.05); font-size:2rem; }
.vs-bubble { display:flex; align-items:center; justify-content:center; width:82px; height:82px; border-radius:999px; background:linear-gradient(135deg,#16a34a,#22c55e); color:#fff; font-size:1.2rem; font-weight:900; box-shadow:0 16px 34px rgba(22,163,74,.28); }

.metric-mini { border-radius:1rem; border:1px solid #e2e8f0; background:#fff; padding:.9rem 1rem; box-shadow:0 8px 22px rgba(15,23,42,.04); }
.metric-mini p { font-size:.78rem; font-weight:800; color:#64748b; }
.metric-mini strong { display:block; margin-top:.35rem; font-size:1.2rem; font-weight:900; color:#0f172a; }

.table-pro { border-radius:1.25rem; overflow-x:auto; overflow-y:visible; -webkit-overflow-scrolling:touch; border:1px solid #e2e8f0; background:#fff; box-shadow:0 10px 24px rgba(15,23,42,.04); }
.table-pro thead th { background:#f8fafc; color:#334155; font-size:.85rem; font-weight:800; white-space:nowrap; }
.table-pro tbody tr:hover { background:#fafefb; }
.table-pro table.nutrition-table { width:max-content; min-width:100%; }
.table-pro .nutrition-table th,
.table-pro .nutrition-table td { white-space:nowrap; }
.table-pro .nutrition-table .nutrition-food-cell { white-space:normal; min-width:10.5rem; max-width:13.5rem; }
.table-pro .nutrition-table .food-name-small { overflow-wrap:normal; word-break:break-word; hyphens:auto; }

.faq-pro details { border:1px solid #e2e8f0; border-radius:1rem; background:#fff; margin-bottom:.75rem; box-shadow:0 4px 14px rgba(15,23,42,.03); }
.faq-pro summary { list-style:none; cursor:pointer; padding:1rem 1.1rem; font-weight:700; color:#0f172a; }

.compare-badge { display:inline-flex; align-items:center; gap:.4rem; border-radius:999px; padding:.45rem .8rem; font-size:.76rem; font-weight:800; letter-spacing:.03em; background:#f0fdf4; color:#15803d; border:1px solid #bbf7d0; }
.related-card { border-radius:1.25rem; border:1px solid #e2e8f0; background:#fff; box-shadow:0 8px 22px rgba(15,23,42,.04); overflow:hidden; }
.related-card:hover { transform:translateY(-1px); box-shadow:0 14px 26px rgba(15,23,42,.08); }

@media (max-width:1279px) {
  .pro-hero-grid { grid-template-columns:1fr; }
  .pro-vs-ring { width:96px; height:96px; margin:.25rem auto; }
  .pro-hero-bottom { grid-template-columns:1fr; }
  .internal-hero-grid { grid-template-columns:1fr; }
}
@media (max-width: 1024px) {
  .vs-grid-pro { grid-template-columns:1fr; }
  .vs-bubble { margin:.5rem auto; }
}
@media (max-width: 640px) {
  .summary-match-value { font-size:.9rem !important; }
  .food-name-small { font-size:.95rem !important; }
  .table-pro table.nutrition-table { min-width:42rem; }
  .table-pro .nutrition-table th,
  .table-pro .nutrition-table td { padding:.65rem .55rem; font-size:.8rem; }
  .table-pro .nutrition-table thead th { font-size:.7rem; letter-spacing:-.01em; }
  .table-pro .nutrition-table .nutrition-food-cell { min-width:8.5rem; max-width:10.5rem; }
  .table-pro .nutrition-table .nutrition-food-icon { display:none; }
}


/* ===== Hero comparison fix requested from annotated screenshot ===== */
.hero-compare-summary{
  display:grid;
  grid-template-columns: minmax(0,1fr) auto minmax(0,1fr);
  gap: .9rem;
  align-items: stretch;
}
.hero-food-panel{
  border-radius: 1.25rem;
  border: 1px solid #e2e8f0;
  background: rgba(255,255,255,.96);
  padding: 1rem;
  box-shadow: 0 10px 24px rgba(15,23,42,.05);
}
.hero-food-a{ border-color:#bbf7d0; background:linear-gradient(180deg,#ffffff 0%,#f0fdf4 100%); }
.hero-food-b{ border-color:#fed7aa; background:linear-gradient(180deg,#ffffff 0%,#fff7ed 100%); }
.hero-food-top{
  display:flex;
  align-items:flex-start;
  gap:.75rem;
  min-height: 72px;
}
.hero-food-icon{
  display:inline-flex;
  width:42px;
  height:42px;
  align-items:center;
  justify-content:center;
  border-radius:14px;
  background:#fff;
  box-shadow:0 8px 18px rgba(15,23,42,.05);
  font-size:1.35rem;
  flex:0 0 auto;
}
.hero-food-label{
  font-size:.7rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#64748b;
}
.hero-food-top h3{
  margin-top:.15rem;
  font-size:.82rem;
  line-height:1.18;
  font-weight:900;
  color:#0f172a;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.hero-nutrient-grid{
  margin-top:.85rem;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.5rem;
}
.hero-nutrient-grid div{
  border-radius:.85rem;
  background:rgba(255,255,255,.86);
  border:1px solid rgba(226,232,240,.72);
  padding:.6rem .65rem;
}
.hero-nutrient-grid small{
  display:block;
  font-size:.64rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.07em;
  color:#64748b;
}
.hero-nutrient-grid strong{
  display:block;
  margin-top:.2rem;
  font-size:.92rem;
  font-weight:900;
  color:#0f172a;
}
.hero-vs-mini{
  align-self:center;
  display:inline-flex;
  width:48px;
  height:48px;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:#16a34a;
  color:#fff;
  font-weight:900;
  box-shadow:0 12px 24px rgba(22,163,74,.25);
}

.hero-visual-pro{
  min-height: 420px;
  padding:1.25rem;
  background:
    radial-gradient(circle at 50% 32%, rgba(34,197,94,.18), transparent 28%),
    linear-gradient(135deg,#f0fdf4 0%,#fff7ed 100%);
}
.hero-visual-content{
  position:relative;
  min-height: 380px;
  height:100%;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  grid-template-rows: 1fr auto;
  gap:1rem;
  align-items:stretch;
}
.visual-food-column{
  border-radius:1.5rem;
  padding:1rem;
  background:rgba(255,255,255,.86);
  border:1px solid rgba(255,255,255,.92);
  box-shadow:0 14px 30px rgba(15,23,42,.06);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.visual-left{ background:linear-gradient(180deg,rgba(236,253,245,.95),rgba(255,255,255,.92)); }
.visual-right{ background:linear-gradient(180deg,rgba(255,247,237,.95),rgba(255,255,255,.92)); }
.visual-food-title{
  font-size:.72rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:#15803d;
}
.visual-food-name{
  margin-top:.45rem;
  min-height:54px;
  font-size:.85rem;
  line-height:1.25;
  font-weight:900;
  color:#0f172a;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.visual-food-stack{
  margin-top:1rem;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.75rem;
}
.visual-food-stack span{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:76px;
  border-radius:1rem;
  background:#fff;
  border:1px solid #e2e8f0;
  font-size:2rem;
  box-shadow:0 8px 18px rgba(15,23,42,.04);
}
.visual-center{
  display:flex;
  min-width:90px;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:.75rem;
}
.visual-mini-note{
  max-width:86px;
  text-align:center;
  font-size:.72rem;
  line-height:1.2;
  font-weight:900;
  color:#15803d;
}
.visual-bottom-band{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.75rem;
  border-radius:1.25rem;
  background:rgba(255,255,255,.9);
  border:1px solid rgba(226,232,240,.8);
  padding:.85rem;
}
.visual-bottom-band div{
  text-align:center;
  border-radius:1rem;
  background:#f8fafc;
  padding:.65rem .5rem;
}
.visual-bottom-band small{
  display:block;
  font-size:.65rem;
  font-weight:900;
  text-transform:uppercase;
  color:#64748b;
}
.visual-bottom-band strong{
  display:block;
  margin-top:.25rem;
  font-size:.88rem;
  font-weight:900;
  color:#0f172a;
}
.single-visual-pro{
  min-height:360px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:1.25rem;
  border-radius:1.5rem;
  background:linear-gradient(135deg,#ecfdf5,#fff7ed);
  padding:2rem;
}
.single-food-emoji{ font-size:7rem; line-height:1; }
.single-visual-pro h3{ margin-top:.4rem; font-size:1.4rem; line-height:1.15; font-weight:900; color:#0f172a; }
.single-visual-pro p{ margin-top:.4rem; color:#64748b; font-weight:600; }

@media (max-width: 1279px){
  .hero-compare-summary{ grid-template-columns:1fr; }
  .hero-vs-mini{ margin:auto; }
}
@media (max-width: 768px){
  .hero-visual-content{ grid-template-columns:1fr; grid-template-rows:auto; }
  .visual-bottom-band{ grid-column:auto; grid-template-columns:1fr; }
  .visual-center{ min-width:0; }
}


/* ===== Extra nutrition indicators requested: nutrient_density, protein_ratio, low_carb, high_protein, keto ===== */
.indicator-food-card{
  border-radius:1.5rem;
  border:1px solid #e2e8f0;
  background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%);
  padding:1.25rem;
  box-shadow:0 12px 28px rgba(15,23,42,.05);
}
.indicator-food-header{
  display:flex;
  gap:.9rem;
  align-items:flex-start;
  margin-bottom:1rem;
}
.indicator-food-icon{
  display:inline-flex;
  width:48px;
  height:48px;
  flex:0 0 auto;
  align-items:center;
  justify-content:center;
  border-radius:1rem;
  background:#ecfdf5;
  box-shadow:0 8px 20px rgba(15,23,42,.05);
  font-size:1.45rem;
}
.indicator-food-label{
  font-size:.72rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:#15803d;
}
.indicator-food-header h3{
  margin-top:.25rem;
  font-size:1rem;
  line-height:1.25;
  font-weight:900;
  color:#0f172a;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.indicator-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:.75rem;
}
.indicator-metric,
.indicator-flag{
  min-height:82px;
  border-radius:1rem;
  border:1px solid #e2e8f0;
  background:#fff;
  padding:.8rem;
}
.indicator-metric small,
.indicator-flag span{
  display:block;
  font-size:.66rem;
  line-height:1.1;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.07em;
  color:#64748b;
}
.indicator-metric strong,
.indicator-flag strong{
  display:block;
  margin-top:.45rem;
  font-size:1.05rem;
  font-weight:900;
  color:#0f172a;
}
.indicator-flag.is-on{
  border-color:#86efac;
  background:linear-gradient(180deg,#f0fdf4 0%,#ffffff 100%);
}
.indicator-flag.is-on strong{
  color:#15803d;
}
.indicator-flag.is-off{
  background:#f8fafc;
}
.indicator-flag.is-off strong{
  color:#94a3b8;
}
.table-flag{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:44px;
  border-radius:999px;
  padding:.35rem .65rem;
  font-size:.72rem;
  font-weight:900;
  border:1px solid #e2e8f0;
  background:#f8fafc;
  color:#94a3b8;
}
.table-flag.is-on{
  border-color:#86efac;
  background:#dcfce7;
  color:#15803d;
}
@media (max-width: 1024px){
  .indicator-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 640px){
  .indicator-grid{ grid-template-columns:1fr; }
}


/* ===== Cleanup requested for nutrition indicators block ===== */
.indicator-grid{
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)) !important;
}
.indicator-metric,
.indicator-flag{
  min-height: 96px !important;
  padding: .9rem !important;
}
.indicator-metric small,
.indicator-flag span{
  font-size: .72rem !important;
  line-height: 1.18 !important;
  letter-spacing: .045em !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}
.indicator-metric strong,
.indicator-flag strong{
  font-size: 1.08rem !important;
}
.indicator-food-icon{
  background:#eefdf6 !important;
}


/* ===== NutriBase static educational guide articles ===== */
.article-hero-visual{
  position:relative;
  overflow:hidden;
  min-height:420px;
  border-radius:2.25rem;
  border:1px solid #d1fae5;
  background:
    radial-gradient(circle at 30% 25%, rgba(16,185,129,.18), transparent 28%),
    radial-gradient(circle at 75% 70%, rgba(245,158,11,.16), transparent 26%),
    linear-gradient(135deg,#ffffff 0%,#ecfdf5 100%);
  box-shadow:0 20px 50px rgba(15,23,42,.08);
  display:grid;
  place-items:center;
  padding:2rem;
}
.article-emoji-main{
  position:absolute;
  inset:auto auto 2rem 2rem;
  width:120px;
  height:120px;
  display:grid;
  place-items:center;
  border-radius:2rem;
  background:#fff;
  box-shadow:0 18px 34px rgba(15,23,42,.08);
  font-size:4rem;
}
.article-food-grid{
  margin-left:5rem;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
}
.article-food-grid span{
  width:92px;
  height:92px;
  display:grid;
  place-items:center;
  border-radius:1.5rem;
  background:rgba(255,255,255,.9);
  border:1px solid #e2e8f0;
  box-shadow:0 12px 28px rgba(15,23,42,.05);
  font-size:2.5rem;
}
.article-prose-card{
  border-radius:2rem;
  border:1px solid #e2e8f0;
  background:#fff;
  box-shadow:0 18px 40px rgba(15,23,42,.06);
  padding:2rem;
}
.article-prose-card h2{
  font-size:1.7rem;
  line-height:1.15;
  font-weight:900;
  color:#0f172a;
}
.article-prose-card p{
  margin-top:.9rem;
  color:#475569;
  line-height:1.85;
  font-weight:500;
}
.article-lead{
  font-size:1.15rem;
  color:#334155 !important;
}
.article-prose-card ul{
  margin-top:1rem;
  display:grid;
  gap:.7rem;
}
.article-prose-card li{
  position:relative;
  padding-left:1.7rem;
  color:#334155;
  font-weight:600;
  line-height:1.65;
}
.article-prose-card li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:.1rem;
  width:1.1rem;
  height:1.1rem;
  display:inline-grid;
  place-items:center;
  border-radius:999px;
  background:#dcfce7;
  color:#15803d;
  font-size:.75rem;
  font-weight:900;
}
@media (max-width: 768px){
  .article-food-grid{ margin-left:0; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .article-emoji-main{ position:relative; inset:auto; margin-bottom:1rem; }
}
