:root{--bg:#fbf8f3;--ink:#1f1b16;--muted:#6f675c;--line:#e8e0d4;--acc:#c2532f;--olive:#6b7a3a}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.7 "Source Sans 3",system-ui,sans-serif}
a{color:inherit;text-decoration:none}
.wrap{max-width:1140px;margin:0 auto;padding:0 16px}
h1,h2,h3{font-family:"Playfair Display",Georgia,serif;line-height:1.15;margin:0}
.top{border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;gap:18px;height:64px}
.brand{font-family:"Playfair Display",serif;font-weight:800;font-size:26px;font-style:italic}
.brand span{color:var(--acc)}
.top nav{display:flex;gap:20px;margin-left:auto;font-size:15px;color:var(--muted);font-weight:600}
.top nav a:hover{color:var(--acc)}
.search{border:1px solid var(--line);border-radius:999px;padding:7px 14px;font:14px inherit;background:#fff;width:160px}
@media(max-width:760px){.top nav,.search{display:none}}
.date{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:700}
.tag{display:inline-block;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--acc)}
/* food "photos" drawn with CSS */
.ph{position:relative;border-radius:14px;overflow:hidden;aspect-ratio:4/3;background:var(--c1,#e9d2b3)}
.ph::before{content:"";position:absolute;inset:14% 18%;border-radius:50%;background:radial-gradient(circle at 40% 35%,var(--c2,#f6efe4),var(--c3,#d9c2a2) 62%,#fff 63%,#fff 70%,rgba(0,0,0,.08) 71%,transparent 74%)}
.ph::after{content:"";position:absolute;width:30%;height:8%;right:6%;bottom:12%;border-radius:8px;background:rgba(255,255,255,.55);transform:rotate(-24deg)}
.ph.tall{aspect-ratio:3/4}
.feat{display:grid;gap:28px;padding:40px 0;align-items:center}
@media(min-width:900px){.feat{grid-template-columns:1.25fr 1fr;padding:56px 0}}
.feat h1{font-size:clamp(32px,5vw,54px);margin:12px 0 14px}
.feat p{color:var(--muted);font-size:19px;margin:0 0 18px}
.meta{display:flex;gap:12px;align-items:center;color:var(--muted);font-size:14px}
.av{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--acc),#e7a77e);display:grid;place-items:center;color:#fff;font-weight:700}
.layout{display:grid;gap:40px;padding:24px 0 56px}
@media(min-width:960px){.layout{grid-template-columns:1fr 300px}}
.sec-h{display:flex;justify-content:space-between;align-items:baseline;border-bottom:2px solid var(--ink);padding-bottom:10px;margin-bottom:24px}
.sec-h h2{font-size:28px}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}
.chips button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 14px;font:600 14px inherit;cursor:pointer;color:var(--muted)}
.chips button[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}
.posts{display:grid;gap:28px}
@media(min-width:640px){.posts{grid-template-columns:1fr 1fr}}
.post h3{font-size:23px;margin:10px 0 6px}.post p{color:var(--muted);margin:0 0 8px;font-size:16px}
.post:hover h3{color:var(--acc)}
aside .box{border:1px solid var(--line);border-radius:16px;padding:22px;background:#fff;margin-bottom:22px}
aside h4{font-family:"Playfair Display",serif;font-size:20px;margin:0 0 12px}
.me{text-align:center}.me .av{width:84px;height:84px;font-size:30px;margin:0 auto 12px}
.pop a{display:grid;grid-template-columns:28px 1fr;gap:10px;padding:10px 0;border-bottom:1px solid var(--line);font-weight:600;line-height:1.35}
.pop a:last-child{border:0}.pop b{color:var(--acc);font-family:"Playfair Display",serif;font-size:22px}
.tags a{display:inline-block;border:1px solid var(--line);border-radius:999px;padding:4px 12px;margin:0 6px 8px 0;font-size:14px}
aside .box.nl{background:var(--olive);color:#fff;border-color:var(--olive)}
.nl p{opacity:.85;font-size:15px;margin:0 0 12px}
.nl input{width:100%;border:0;border-radius:10px;padding:12px;font:15px inherit;margin-bottom:8px}
.nl button,.btn{width:100%;border:0;border-radius:10px;padding:12px;background:var(--ink);color:#fff;font:700 15px inherit;cursor:pointer}
.more{display:block;margin:30px auto 0;width:auto;padding:12px 26px;border-radius:999px;background:transparent;border:1.5px solid var(--ink);color:var(--ink)}
footer{border-top:1px solid var(--line);padding:32px 0;color:var(--muted);font-size:14px}
footer .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
/* article */
.art-head{max-width:760px;margin:0 auto;padding:48px 16px 24px;text-align:center}
.art-head h1{font-size:clamp(32px,5.5vw,56px);margin:14px 0 18px}
.art-head .meta{justify-content:center}
.hero-ph{max-width:1040px;margin:0 auto 40px;padding:0 16px}.hero-ph .ph{aspect-ratio:16/8}
.body{max-width:700px;margin:0 auto;padding:0 16px 40px;font-size:19px}
.body h2{font-size:30px;margin:40px 0 12px}
.body .lead{font-size:22px;color:var(--muted)}
.recipe{border:2px solid var(--ink);border-radius:18px;padding:26px;margin:36px 0;background:#fff}
.recipe h3{font-size:26px;margin-bottom:6px}
.facts{display:flex;gap:18px;flex-wrap:wrap;color:var(--muted);font-size:15px;margin-bottom:16px}
.facts b{color:var(--ink)}
.serv{display:inline-flex;align-items:center;gap:10px;margin-bottom:12px;font-size:15px}
.serv button{width:30px;height:30px;border-radius:50%;border:1px solid var(--line);background:#fff;cursor:pointer;font-size:16px}
.ing li{margin:4px 0}.ing input{margin-right:8px;accent-color:var(--acc)}
.ing label:has(input:checked){text-decoration:line-through;color:var(--muted)}
.steps li{margin:10px 0}
.quote{border-left:4px solid var(--acc);padding:4px 0 4px 20px;font-family:"Playfair Display",serif;font-style:italic;font-size:24px;margin:30px 0}
.share{display:flex;gap:10px;justify-content:center;margin:20px 0 0}
.share a{border:1px solid var(--line);border-radius:999px;padding:6px 14px;font-size:14px;background:#fff}
.related{border-top:1px solid var(--line);padding:40px 0}
.related .posts{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}

.ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}
.av.pic{background-size:cover;background-position:center;color:transparent}
