:root{--ink:#2b2622;--muted:#6b6058;--paper:#fbf8f3;--card:#ffffff;--line:#e8e0d6;--accent:#b4532a;--accent-soft:#f5e6dc}
@media (prefers-color-scheme:dark){:root{--ink:#efe8e1;--muted:#b9ada2;--paper:#1c1916;--card:#26221e;--line:#3a332d;--accent:#e58a5c;--accent-soft:#3a2a20}}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}
a{color:var(--accent)}
.wrap{max-width:1100px;margin:0 auto;padding:0 16px}
header.site{border-bottom:1px solid var(--line);background:var(--card)}
header.site .wrap{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 16px;padding-block:18px}
.brand{font:700 1.6rem/1.2 Georgia,"Times New Roman",serif;color:var(--ink);text-decoration:none}
.tagline{color:var(--muted);margin:0;font-size:.95rem}
nav.sections{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 4px}
nav.sections a{padding:6px 12px;border-radius:999px;background:var(--accent-soft);color:var(--ink);text-decoration:none;font-size:.9rem}
nav.sections a[aria-current=page]{background:var(--accent);color:#fff}
h1{font:700 2rem/1.2 Georgia,"Times New Roman",serif;margin:28px 0 8px;text-wrap:balance}
h2{font:700 1.3rem/1.3 Georgia,"Times New Roman",serif;margin:32px 0 12px}
.lede{color:var(--muted);margin:0 0 8px}
.grid{list-style:none;padding:0;margin:20px 0 48px;display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;overflow:hidden;height:100%}
.card a{display:block;color:inherit;text-decoration:none;height:100%}
.card img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;background:var(--line)}
.card .body{padding:12px 14px 14px}
.card h3{font-size:1.05rem;line-height:1.35;margin:0 0 4px}
.card .meta{color:var(--muted);font-size:.85rem}
article.recipe{max-width:760px;margin:0 auto 56px}
.facts{display:flex;flex-wrap:wrap;gap:6px 18px;color:var(--muted);font-size:.95rem;margin:4px 0 18px;padding:0;list-style:none}
figure{margin:0 0 20px}
figure img{display:block;width:100%;height:auto;border-radius:12px;background:var(--line)}
.ingredients{padding-left:1.2em}
.ingredients li{margin:4px 0}
.method{padding-left:1.3em}
.method li{margin:10px 0;padding-left:4px}
.gallery{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));margin:12px 0}
.gallery img{width:100%;height:auto;border-radius:8px}
.published{color:var(--muted);font-size:.9rem;margin-top:32px;border-top:1px solid var(--line);padding-top:14px}
footer.site{border-top:1px solid var(--line);color:var(--muted);font-size:.9rem;padding-block:20px;margin-top:24px}
