
:root{
  --bg:#fbf7ef; --ink:#1f1a14; --muted:#6b6055; --line:#e7dfd1;
  --accent:#a23b1f; --gold:#b8893a; --olive:#5c6b3a; --card:#fffbf3;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Source Serif 4','Source Serif Pro',Georgia,serif;background:var(--bg);color:var(--ink);line-height:1.7;font-size:18px}
img{max-width:100%;display:block;height:auto}
a{color:var(--accent);text-decoration:none;border-bottom:1px solid rgba(162,59,31,.3);transition:.2s}
a:hover{border-color:var(--accent)}
.container{max-width:1180px;margin:0 auto;padding:0 28px}

/* Nav */
.nav{position:sticky;top:0;background:rgba(251,247,239,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);z-index:50;padding:14px 0}
.nav-inner{display:flex;justify-content:space-between;align-items:center;gap:24px}
.brand{font-family:'Playfair Display',serif;font-weight:700;font-size:1.35rem;letter-spacing:.02em;border:none}
.brand span{color:var(--accent);font-style:italic}
.nav ul{display:flex;gap:22px;list-style:none;flex-wrap:wrap}
.nav ul a{font-family:'Inter',sans-serif;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);border:none;font-weight:500}
.nav ul a:hover,.nav ul a.active{color:var(--accent)}

/* Article header */
.kicker{font-family:'Inter',sans-serif;font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);font-weight:600}
h1.title{font-family:'Playfair Display',serif;font-weight:800;font-size:clamp(2.4rem,5vw,4.2rem);line-height:1.05;margin:18px 0 22px;letter-spacing:-.015em}
.lede{font-size:1.32rem;color:var(--muted);max-width:720px;font-style:italic;line-height:1.55}
.meta{display:flex;gap:18px;align-items:center;color:var(--muted);font-family:'Inter',sans-serif;font-size:.85rem;margin-top:28px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0}
.meta strong{color:var(--ink);font-weight:600}

.hero-img{margin:36px 0 8px;border-radius:4px;overflow:hidden;box-shadow:0 30px 60px -30px rgba(0,0,0,.25)}
.caption{font-family:'Inter',sans-serif;font-size:.8rem;color:var(--muted);margin-top:10px;font-style:italic}

/* Layout grid */
.layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:64px;margin:56px 0 80px}
@media(max-width:900px){.layout{grid-template-columns:1fr;gap:48px}}

article h2{font-family:'Playfair Display',serif;font-size:2.1rem;margin:54px 0 18px;line-height:1.2;letter-spacing:-.01em}
article h2::before{content:"";display:block;width:48px;height:3px;background:var(--accent);margin-bottom:18px}
article h3{font-family:'Playfair Display',serif;font-size:1.35rem;margin:30px 0 12px;color:var(--ink)}
article p{margin:0 0 20px;max-width:68ch}
article ul,article ol{margin:0 0 22px 24px}
article li{margin-bottom:8px;max-width:64ch}

.dropcap::first-letter{font-family:'Playfair Display',serif;font-size:5.2rem;float:left;line-height:.85;margin:6px 12px -6px 0;color:var(--accent);font-weight:700}

.pull{margin:42px 0;padding:28px 0 28px 32px;border-left:4px solid var(--accent);font-family:'Playfair Display',serif;font-style:italic;font-size:1.6rem;line-height:1.35;color:var(--ink);max-width:60ch}
.pull cite{display:block;font-family:'Inter',sans-serif;font-style:normal;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-top:14px}

.swap{background:var(--card);border:1px solid var(--line);border-radius:6px;padding:24px 28px;margin:32px 0}
.swap h4{font-family:'Inter',sans-serif;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--olive);margin-bottom:14px;font-weight:700}
.swap table{width:100%;border-collapse:collapse;font-size:.95rem}
.swap td{padding:10px 0;border-bottom:1px dashed var(--line);vertical-align:top}
.swap tr:last-child td{border-bottom:none}
.swap td:first-child{font-weight:600;color:var(--ink);width:42%}
.swap td:last-child{color:var(--muted)}

.recipes{margin:28px 0}
.recipes h4{font-family:'Inter',sans-serif;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin-bottom:14px;font-weight:700}
.recipes a{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid var(--line);border-top:none;border-left:none;border-right:none;font-family:'Playfair Display',serif;font-size:1.1rem;color:var(--ink)}
.recipes a::after{content:"→";color:var(--accent)}

.fig{margin:36px 0;border-radius:4px;overflow:hidden}

/* Sidebar */
aside.sidebar{position:sticky;top:90px;align-self:start}
@media(max-width:900px){aside.sidebar{position:static}}
.side-card{background:var(--card);border:1px solid var(--line);border-radius:6px;padding:28px;margin-bottom:24px}
.side-card h3{font-family:'Inter',sans-serif;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin-bottom:18px;font-weight:700}
.pantry{list-style:none;margin:0}
.pantry li{padding:14px 0;border-bottom:1px solid var(--line);font-size:.95rem}
.pantry li:last-child{border-bottom:none}
.pantry strong{display:block;font-family:'Playfair Display',serif;font-size:1.05rem;font-weight:600;margin-bottom:3px}
.pantry span{color:var(--muted);font-size:.88rem}

.toc{list-style:none;counter-reset:t}
.toc li{counter-increment:t;padding:10px 0;border-bottom:1px solid var(--line);font-family:'Inter',sans-serif;font-size:.92rem}
.toc li:last-child{border:none}
.toc li::before{content:counter(t,decimal-leading-zero);color:var(--accent);font-weight:700;margin-right:12px;font-size:.78rem}
.toc a{color:var(--ink);border:none}
.toc a:hover{color:var(--accent)}

/* Page-nav footer */
.page-nav{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:60px 0 0;padding-top:36px;border-top:1px solid var(--line)}
.page-nav a{display:block;padding:24px;border:1px solid var(--line);border-radius:6px;background:var(--card)}
.page-nav .lbl{font-family:'Inter',sans-serif;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;display:block}
.page-nav .ttl{font-family:'Playfair Display',serif;font-size:1.15rem;color:var(--ink);font-weight:600}
.page-nav a.next{text-align:right}
@media(max-width:600px){.page-nav{grid-template-columns:1fr}}

footer{background:#1f1a14;color:#d8cdba;padding:60px 0 40px;margin-top:60px}
footer .container{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}
@media(max-width:700px){footer .container{grid-template-columns:1fr}}
footer h4{font-family:'Playfair Display',serif;font-size:1.3rem;margin-bottom:14px;color:#fff}
footer p,footer li{color:#a9a092;font-size:.92rem;line-height:1.7}
footer ul{list-style:none}
footer a{color:#d8cdba;border:none}
footer a:hover{color:var(--gold)}
.copy{border-top:1px solid #3a3128;padding-top:22px;margin-top:40px;text-align:center;font-size:.82rem;color:#7a7164}
