﻿:root{--paper:#f7f3eb;--ink:#203b32;--body:#3e3932;--line:#d8cfbf;--terra:#a95336;--sun:#c9912f;--mist:#dce6df;--max:1120px}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--body);font:18px/1.68 Georgia,"Times New Roman",serif}a{color:inherit;text-decoration-color:var(--terra);text-decoration-thickness:1px;text-underline-offset:4px}a:hover{color:var(--terra)}.site-header{border-bottom:1px solid var(--line)}.nav{max-width:var(--max);min-height:72px;margin:auto;padding:0 26px;display:flex;justify-content:space-between;align-items:center;gap:24px}.brand{color:var(--ink);font-size:29px;font-weight:700;text-decoration:none}.brand span{color:var(--terra)}.nav-links{display:flex;gap:20px;font:700 12px/1 Arial,sans-serif;letter-spacing:.07em;text-transform:uppercase}.nav-links a{text-decoration:none}.wrap{max-width:var(--max);padding:0 26px;margin:auto}.eyebrow,.meta{font:700 12px/1.35 Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase}.eyebrow{color:var(--terra);margin:0 0 14px}.meta{color:#746b60}.hero{min-height:510px;background:var(--ink);color:#fffaf0;padding:105px 0 90px}.hero h1,.article-head h1{font-size:clamp(46px,7vw,88px);line-height:1.02;letter-spacing:0;margin:0;max-width:860px}.hero .eyebrow{color:#f1c66e}.lede{font-size:clamp(21px,2.4vw,29px);line-height:1.45;max-width:720px;margin:25px 0 0}.intro{padding:80px 0;display:grid;grid-template-columns:1.2fr .8fr;gap:80px}.intro aside{border-top:4px solid var(--sun);padding-top:18px;font-size:16px}h2,h3{color:var(--ink);line-height:1.12;letter-spacing:0}h2{font-size:clamp(30px,3.3vw,48px);margin:0 0 16px}h3{font-size:24px}.pillar-band{background:var(--mist);padding:76px 0}.pillar-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--line);margin-top:34px}.pillar-grid a{min-height:160px;padding:20px;background:var(--paper);text-decoration:none;display:flex;flex-direction:column;justify-content:flex-start;gap:14px}.pillar-grid a:hover{background:#fffaf0}.pillar-grid strong{font-size:22px;line-height:1.13;color:var(--ink)}.num{color:var(--terra);font:700 12px/1 Arial,sans-serif}.archive-head,.article-head{max-width:850px;padding:56px 0 38px}.crumb{padding:22px 0;color:#746b60;font:13px/1.4 Arial,sans-serif}.archive-list{border-top:1px solid var(--line);padding-bottom:80px}.archive-item{display:grid;grid-template-columns:120px minmax(0,1fr) 65px;gap:18px;padding:27px 0;border-bottom:1px solid var(--line)}.archive-item strong{color:var(--ink);font-size:27px;line-height:1.15}.archive-item p{margin:8px 0 0;font-size:16px}.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:65px;padding-bottom:90px}.article-copy{max-width:735px}.article-copy p{margin:0 0 23px}.article-copy h2{margin-top:52px}.article-copy ul{margin:0 0 25px;padding-left:22px}.opening{font-size:24px;line-height:1.55;color:var(--ink)}.source-box{border-top:3px solid var(--terra);padding-top:17px;font-size:15px;position:sticky;top:20px;height:max-content}.source-box h3{font-size:18px}.source-box ul{padding-left:18px}.article-end{border-top:1px solid var(--line);margin-top:50px;padding-top:28px}.footer{border-top:1px solid var(--line);padding:40px 26px;font-size:14px}.footer>div{max-width:var(--max);margin:auto;display:flex;justify-content:space-between;gap:20px}.method{max-width:760px;padding:75px 0 95px}.method p{margin:0 0 22px}@media(max-width:760px){.nav{min-height:64px;padding:0 18px}.nav-links{gap:13px;font-size:10px}.wrap{padding:0 18px}.hero{padding:80px 0}.intro,.article-layout{grid-template-columns:1fr;gap:35px}.pillar-grid{grid-template-columns:1fr}.pillar-grid a{min-height:110px}.archive-item{grid-template-columns:1fr;gap:8px}.archive-item .meta:last-child{display:none}.source-box{position:static}.footer>div{display:block}.footer span{display:block;margin-top:8px}}
/* Archive rows need a fixed label column so long category names never touch article titles. */
.archive-item{grid-template-columns:1fr}
.pillar-item{grid-template-columns:1fr}
@media(max-width:760px){.archive-item{grid-template-columns:1fr;gap:8px}}
.hero-image{position:relative;overflow:hidden;background-image:linear-gradient(90deg,rgba(25,45,37,.86),rgba(25,45,37,.48)),var(--hero-image);background-size:cover;background-position:center}
.hero-image .wrap{position:relative}
.article-head,.article-layout,.article-hero{max-width:760px;margin-left:auto;margin-right:auto}
.article-layout{display:block;padding-bottom:90px}
.article-copy{max-width:none}
.article-head .meta{font-size:10px;letter-spacing:.07em}
.site-header{position:sticky;top:0;z-index:10;background:var(--paper)}
.pillar-figure{margin:0 0 42px}.pillar-figure img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}.pillar-figure figcaption{margin-top:9px;color:#746b60;font-size:13px;line-height:1.45}
.article-hero,.article-figure{margin-top:0;margin-bottom:38px}
.article-figure{margin-top:18px}
.article-hero img,.article-figure img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border:1px solid var(--line);background:#efe7d9}
.article-hero-contain img{height:auto;aspect-ratio:auto;object-fit:contain}
.article-hero figcaption,.article-figure figcaption{margin-top:9px;color:#746b60;font-size:13px;line-height:1.45}
.footer-links{max-width:var(--max);margin:18px auto 0;display:flex;gap:18px;flex-wrap:wrap;font:700 11px/1.4 Arial,sans-serif;text-transform:uppercase}
.recipe-band{padding:76px 0;background:#fffaf0;border-top:1px solid var(--line)}
.recipe-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;margin-top:34px}
.recipe-card{min-width:0}.recipe-card img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border:1px solid var(--line)}
.recipe-card h3{font-size:24px;margin:14px 0 7px}.recipe-card p{font-size:15px;line-height:1.55;margin:0}
.recipe-card a{text-decoration:none}.recipe-card a:hover h3{color:var(--terra)}
.recipe-index{padding-bottom:90px}.recipe-index .recipe-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.memory-connection{border-top:3px solid var(--sun);margin-top:46px;padding-top:19px;font-size:16px}
.memory-connection p{margin:0}.memory-connection .meta{margin-bottom:8px}
@media(max-width:900px){.recipe-grid,.recipe-index .recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){
  .recipe-grid,.recipe-index .recipe-grid{grid-template-columns:1fr}
  body:not(.legacy-recipe-page) .site-header .nav{flex-wrap:wrap;gap:8px;padding-top:10px;padding-bottom:10px}
  body:not(.legacy-recipe-page) .site-header .nav-links{width:100%;justify-content:space-between;gap:8px}
}
