:root{
  --paper:#ffffff; --ink:#261512; --body:#38302b; --muted:#6f6359;
  --line:#e8dccf; --wash:#fdf6ec; --accent:#991b1b; --accent-ink:#7a1414;
  --radius:10px;
  --serif:Charter,"Bitstream Charter","Sitka Text",Cambria,Georgia,serif;
  --sans:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--body);font-family:var(--sans);font-size:17px;line-height:1.66}
h1,h2,h3{font-family:var(--serif);color:var(--ink);line-height:1.22;font-weight:700}
h1{font-size:2.05rem;margin:.4em 0 .3em}
h2{font-size:1.45rem;margin:1.8em 0 .5em}
h3{font-size:1.12rem;margin:1.4em 0 .4em}
p{margin:.8em 0}
a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:2px}
a:hover{color:var(--accent-ink)}
.wrap{max-width:70ch;margin:0 auto;padding:0 22px}
.site-header{border-bottom:1px solid var(--line)}
.site-header .wrap{display:flex;align-items:center;gap:26px;padding-top:14px;padding-bottom:14px}
.wordmark{font-family:var(--serif);font-weight:700;font-size:1.3rem;color:var(--ink);text-decoration:none;white-space:nowrap}
.wordmark span{color:var(--accent)}
.site-nav{display:flex;gap:18px;margin-left:auto;font-size:.95rem}
.site-nav a{color:var(--body);text-decoration:none}
.site-nav a:hover{color:var(--accent)}
.hero{background:var(--wash);border-bottom:1px solid var(--line);padding:34px 0 30px}
.dek{font-size:1.1rem;max-width:58ch}
.meta{font-size:.85rem;color:var(--muted)}
.article{padding:26px 0 60px}
.recipecard{border:1px solid var(--line);border-radius:var(--radius);padding:20px 24px;margin:1.6em 0;background:var(--wash)}
.recipecard h2:first-child{margin-top:0}
.recipecard ul.tight,.recipecard ol{margin:.6em 0}
.recipecard ol li{margin:.5em 0}
.timgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:1em 0}
.timgrid div{background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:8px 6px;text-align:center}
.timgrid strong{display:block;font-family:var(--serif);font-size:1.05rem;color:var(--ink)}
.timgrid span{font-size:.8rem;color:var(--muted)}
table.times{width:100%;border-collapse:collapse;margin:1.4em 0;font-size:.95rem}
table.times th,table.times td{border:1px solid var(--line);padding:8px 12px;text-align:left}
table.times th{background:var(--wash);font-family:var(--serif);color:var(--ink)}
.keyline{border:2px solid var(--ink);border-radius:var(--radius);padding:16px 22px;margin:2em 0}
.keyline p:first-child{margin-top:0}
.card-list{list-style:none;margin:1.4em 0;padding:0;display:grid;gap:14px}
.card-list a{display:block;border:1px solid var(--line);border-radius:var(--radius);padding:16px 20px;text-decoration:none}
.card-list a:hover{border-color:var(--accent)}
.card-list strong{font-family:var(--serif);font-size:1.15rem;color:var(--ink);display:block}
.card-list span{color:var(--muted);font-size:.93rem}
.btn{display:inline-block;background:var(--accent);color:#fff;font-weight:700;padding:10px 22px;border-radius:8px;text-decoration:none}
.btn:hover{background:var(--accent-ink);color:#fff}
.disclosure-note{background:var(--wash);border:1px solid var(--line);border-radius:8px;padding:10px 16px;font-size:.88rem}
.site-footer{border-top:1px solid var(--line);padding:26px 0 40px;font-size:.9rem;color:var(--muted)}
.site-footer nav{display:flex;flex-wrap:wrap;gap:6px 20px;margin-bottom:12px}
.site-footer a{color:var(--muted)}
ul.tight li{margin:.35em 0}
@media(max-width:640px){h1{font-size:1.65rem}.site-nav{gap:12px;font-size:.88rem}.timgrid{grid-template-columns:repeat(2,1fr)}}
