:root{
  --paper:#F7F1E6;
  --paper-deep:#EEE3D0;
  --ink:#221C18;
  --ink-soft:#5B5044;
  --rust:#B85630;
  --rust-deep:#8F4020;
  --rose:#D9AAA4;
  --night:#1B1613;
  --night-ink:#EFE6D8;
  --line:rgba(34,28,24,0.13);
  --line-on-night:rgba(239,230,216,0.16);
  --serif:'Fraunces',Georgia,serif;
  --sans:'Work Sans',-apple-system,BlinkMacSystemFont,sans-serif;
}
@font-face{font-family:'Fraunces';font-style:normal;font-weight:400;src:url('/assets/fonts/fraunces-400.woff2') format('woff2');font-display:swap;}
@font-face{font-family:'Fraunces';font-style:normal;font-weight:600;src:url('/assets/fonts/fraunces-600.woff2') format('woff2');font-display:swap;}
@font-face{font-family:'Fraunces';font-style:italic;font-weight:500;src:url('/assets/fonts/fraunces-500-italic.woff2') format('woff2');font-display:swap;}
@font-face{font-family:'Work Sans';font-style:normal;font-weight:400;src:url('/assets/fonts/work-sans-400.woff2') format('woff2');font-display:swap;}
@font-face{font-family:'Work Sans';font-style:normal;font-weight:500;src:url('/assets/fonts/work-sans-500.woff2') format('woff2');font-display:swap;}
@font-face{font-family:'Work Sans';font-style:normal;font-weight:600;src:url('/assets/fonts/work-sans-600.woff2') format('woff2');font-display:swap;}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:var(--sans);font-weight:400;line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;}
.eyebrow{
  font-family:var(--sans);font-weight:600;font-size:.72rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--rust);display:inline-block;
}
.section-head.light .eyebrow{color:var(--rose);}
h1,h2,h3{font-family:var(--serif);font-weight:600;margin:.3em 0;line-height:1.08;}
.text-link{
  font-family:var(--sans);font-weight:600;font-size:.9rem;text-decoration:none;
  border-bottom:1px solid currentColor;padding-bottom:2px;color:var(--rust-deep);
}
.wrap{max-width:1280px;margin:0 auto;padding:0 clamp(20px,4vw,64px);}

/* header */
.site-header{
  position:fixed;top:0;left:0;right:0;z-index:50;
  transition:background .35s ease,box-shadow .35s ease,padding .35s ease;
  padding:22px 0;
}
.site-header.solid,.site-header.scrolled{background:rgba(247,241,230,.94);backdrop-filter:blur(6px);box-shadow:0 1px 0 var(--line);padding:14px 0;}
.header-inner{max-width:1280px;margin:0 auto;padding:0 clamp(20px,4vw,64px);display:flex;align-items:center;justify-content:space-between;gap:24px;}
.logo{display:flex;align-items:center;text-decoration:none;}
.logo img{height:30px;width:auto;filter:drop-shadow(0 1px 4px rgba(20,15,12,.45));transition:filter .35s ease,height .35s ease;}
.site-header.solid .logo img,.site-header.scrolled .logo img{filter:none;height:26px;}
.nav-links{display:flex;gap:32px;}
.nav-links a{font-size:.92rem;font-weight:500;text-decoration:none;color:var(--paper);transition:color .35s ease,opacity .2s ease;opacity:.9;}
.nav-links a:hover{opacity:1;}
.site-header.solid .nav-links a,.site-header.scrolled .nav-links a{color:var(--ink);}
.header-actions{display:flex;align-items:center;gap:18px;}
.icon-btn{width:20px;height:20px;color:var(--paper);transition:color .35s ease;cursor:pointer;background:none;border:none;padding:0;}
.site-header.solid .icon-btn,.site-header.scrolled .icon-btn{color:var(--ink);}
.icon-btn svg{width:100%;height:100%;}
.search-panel{
  max-height:0;overflow:hidden;transition:max-height .3s ease,background .35s ease;
  background:rgba(20,15,12,.97);backdrop-filter:blur(6px);
}
.search-panel.open{max-height:70vh;overflow-y:auto;}
.site-header.solid .search-panel,.site-header.scrolled .search-panel{background:var(--paper);}
.search-panel-inner{max-width:1280px;margin:0 auto;padding:14px clamp(20px,4vw,64px) 28px;}
.search-panel input{
  width:100%;background:transparent;
  border:none;border-bottom:1px solid var(--line-on-night);font-family:var(--serif);
  font-style:italic;font-size:1.3rem;padding:8px 0;color:var(--paper);outline:none;
}
.site-header.solid .search-panel input,.site-header.scrolled .search-panel input{color:var(--ink);border-bottom-color:var(--line);}
#pagefind-results{margin-top:14px;}
#pagefind-results a{display:block;text-decoration:none;padding:14px 0;border-bottom:1px solid var(--line-on-night);}
#pagefind-results a strong{display:block;font-family:var(--serif);font-size:1.05rem;color:var(--paper);}
#pagefind-results a span{display:block;font-size:.85rem;color:rgba(247,241,230,.65);margin-top:4px;}
#pagefind-results mark{background:var(--rust);color:var(--paper);padding:0 2px;border-radius:2px;}
.site-header.solid #pagefind-results a,.site-header.scrolled #pagefind-results a{border-bottom-color:var(--line);}
.site-header.solid #pagefind-results a strong,.site-header.scrolled #pagefind-results a strong{color:var(--ink);}
.site-header.solid #pagefind-results a span,.site-header.scrolled #pagefind-results a span{color:var(--ink-soft);}
.site-header.solid #pagefind-results mark,.site-header.scrolled #pagefind-results mark{background:var(--rose);color:var(--ink);}

/* hero (homepage) */
.hero{
  position:relative;min-height:100vh;display:flex;align-items:flex-end;
  background-size:cover;background-position:center;
}
.hero-scrim{position:absolute;inset:0;background:linear-gradient(0deg,rgba(20,15,12,.72) 0%,rgba(20,15,12,.15) 55%,rgba(20,15,12,.35) 100%);}
.hero-content{position:relative;color:#fff;padding:0 clamp(20px,4vw,64px) 80px;max-width:820px;}
.hero-content .eyebrow{color:var(--rose);}
.hero-content h1{font-size:clamp(2.6rem,6vw,5.2rem);color:#fff;margin:.15em 0 .3em;}
.hero-excerpt{font-size:clamp(1rem,1.6vw,1.2rem);max-width:46ch;color:rgba(255,255,255,.88);margin:0 0 20px;}
.hero-meta{display:flex;align-items:center;gap:22px;font-size:.85rem;color:rgba(255,255,255,.75);}
.hero-meta .text-link{color:#fff;}

/* page header (post / about / archive pages) */
.page-header{
  position:relative;min-height:60vh;display:flex;align-items:flex-end;
  background-size:cover;background-position:center;background-color:var(--paper-deep);
  padding-top:100px;
}
.page-header-scrim{position:absolute;inset:0;background:linear-gradient(0deg,rgba(20,15,12,.75) 0%,rgba(20,15,12,.1) 60%);}
.page-header.no-media{background:var(--paper-deep);min-height:0;padding:150px 0 20px;}
.page-header.no-media .page-header-content{padding-bottom:0;}
.about-header{display:flex;align-items:center;gap:28px;}
.about-portrait{width:120px;height:120px;border-radius:50%;object-fit:cover;flex-shrink:0;}
@media (max-width:600px){.about-header{flex-direction:column;align-items:flex-start;}}
.page-header.no-media .page-header-content{color:var(--ink);}
.page-header.no-media .eyebrow{color:var(--rust-deep);}
.page-header-content{position:relative;color:#fff;padding:0 clamp(20px,4vw,64px) 56px;max-width:900px;}
.page-header-content h1{font-size:clamp(2.2rem,4.6vw,3.6rem);color:inherit;margin:.15em 0 .25em;}
.page-header-meta{display:flex;gap:18px;font-size:.85rem;color:rgba(255,255,255,.75);flex-wrap:wrap;}
.page-header.no-media .page-header-meta{color:var(--ink-soft);}

/* statement (homepage + about) */
.statement{padding:110px 0;}
.statement-inner{max-width:1280px;margin:0 auto;padding:0 clamp(20px,4vw,64px);display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:start;}
.statement-inner .eyebrow{display:block;margin-bottom:14px;}
.statement-lead{font-family:var(--serif);font-style:italic;font-weight:500;font-size:clamp(1.6rem,3vw,2.4rem);line-height:1.35;margin:0 0 .6em;color:var(--ink);}
.statement-lead-rest{color:var(--ink-soft);font-size:1.02rem;}
.statement-body p{color:var(--ink-soft);font-size:1.02rem;}
.statement-byline{font-family:var(--serif);font-style:italic;color:var(--rust-deep);margin-top:18px;}

/* feature spread (homepage) */
.feature{display:grid;grid-template-columns:1.15fr 1fr;min-height:640px;background:var(--paper-deep);}
.feature-media{background-size:cover;background-position:center;min-height:340px;}
.feature-content{padding:clamp(32px,5vw,80px);display:flex;flex-direction:column;justify-content:center;gap:14px;}
.feature-content h2{font-size:clamp(1.8rem,3vw,2.7rem);}
.feature-content time{font-size:.85rem;color:var(--ink-soft);}
.feature-content p{color:var(--ink-soft);max-width:44ch;}

/* section heads */
.section-head{padding:90px 0 40px;text-align:left;}
.section-head h2{font-size:clamp(1.7rem,2.6vw,2.3rem);margin-top:.25em;}

/* recipe index (homepage + category/tag archives) */
.index-section{padding-bottom:100px;}
.index-layout{display:grid;grid-template-columns:0.85fr 1.15fr;gap:56px;align-items:start;}
.index-feature-media{aspect-ratio:4/5;overflow:hidden;margin-bottom:16px;}
.index-feature-media img{width:100%;height:100%;object-fit:cover;}
.index-feature h3{font-size:1.6rem;}
.index-feature time{font-size:.8rem;color:var(--ink-soft);}
.index-feature p{color:var(--ink-soft);font-size:.95rem;max-width:38ch;}
.index-list{border-top:1px solid var(--line);}
.index-list.full-width{max-width:900px;}
.index-row{display:flex;align-items:baseline;justify-content:space-between;gap:24px;padding:26px 0;border-bottom:1px solid var(--line);transition:padding-left .25s ease;text-decoration:none;}
.index-row-main{display:flex;flex-direction:column;gap:6px;}
.index-row .eyebrow{font-size:.68rem;}
.index-row h3{font-size:1.5rem;margin:0;}
.index-row:hover{padding-left:12px;}
.index-row:hover h3{text-decoration:underline;text-underline-offset:5px;text-decoration-color:var(--rust);}
.index-row p{color:var(--ink-soft);font-size:.9rem;max-width:52ch;margin:2px 0 0;}
.index-row time{font-size:.8rem;color:var(--ink-soft);white-space:nowrap;font-variant-numeric:tabular-nums;}
.empty-note{color:var(--ink-soft);font-style:italic;font-family:var(--serif);padding:20px 0;}

/* journal (homepage) */
.journal-section{background:var(--night);color:var(--night-ink);}
.journal-section .section-head h2{color:var(--night-ink);}
.journal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;padding-bottom:110px;}
.jcard{border:1px solid var(--line-on-night);height:100%;display:flex;flex-direction:column;text-decoration:none;}
.jcard-media{aspect-ratio:4/5;background-size:cover;background-position:center;}
.jcard-text{padding:26px;display:flex;flex-direction:column;gap:10px;flex:1;}
.jcard-text .eyebrow{color:var(--rose);}
.jcard-text h3{color:var(--night-ink);font-size:1.2rem;}
.jcard-text time{font-size:.78rem;color:rgba(239,230,216,.6);}
.jcard-text p{color:rgba(239,230,216,.78);font-size:.92rem;}
.jcard.text-only{background:rgba(239,230,216,.04);}
.jcard.text-only .jcard-text{justify-content:center;padding:36px 30px;}
.jcard.text-only h3{font-family:var(--serif);font-style:italic;font-weight:500;font-size:1.5rem;line-height:1.3;}

/* categories chips */
.categories{padding:70px 0 110px;border-top:1px solid var(--line);}
.chip-row{display:flex;flex-wrap:wrap;gap:12px;}
.chip{border:1px solid var(--line);padding:9px 20px;font-size:.85rem;font-weight:500;text-decoration:none;color:var(--ink);border-radius:999px;transition:all .2s ease;}
.chip:hover,.chip.active{background:var(--ink);color:var(--paper);border-color:var(--ink);}

/* post body */
.post-body{max-width:720px;margin:70px auto 0;padding:0 clamp(20px,4vw,64px);}
.post-body p{color:var(--ink-soft);font-size:1.05rem;margin:0 0 1.4em;}
.post-body h3{font-size:1.5rem;margin:1.6em 0 .6em;}
.post-body blockquote{
  font-family:var(--serif);font-style:italic;font-size:1.3rem;line-height:1.4;
  color:var(--rust-deep);border-left:3px solid var(--rust);margin:2em 0;padding:0 0 0 1.2em;
}
.ingredient-group,.method{background:var(--paper-deep);padding:28px 32px;margin:0 0 24px;}
.ingredient-group h4,.method h4{font-family:var(--sans);font-weight:600;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--rust-deep);margin:0 0 14px;}
.ingredient-group ul,.method ol{margin:0;padding-left:1.2em;color:var(--ink-soft);}
.ingredient-group li,.method li{margin-bottom:8px;}
.post-body ul,.post-body ol{color:var(--ink-soft);padding-left:1.4em;}
.post-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin:40px 0;}
.post-gallery img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/5;}
.post-tags{display:flex;flex-wrap:wrap;gap:10px;margin:40px 0 0;}
.post-author{
  margin:70px auto 0;max-width:720px;padding:32px clamp(20px,4vw,64px);
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  display:flex;flex-direction:column;gap:6px;
}
.post-author .name{font-family:var(--serif);font-style:italic;font-size:1.1rem;color:var(--rust-deep);}
.post-author p{color:var(--ink-soft);font-size:.95rem;margin:0;}
.post-nav{max-width:720px;margin:50px auto 100px;padding:0 clamp(20px,4vw,64px);}

/* footer */
.site-footer{background:var(--ink);color:var(--paper);padding:90px 0 40px;}
.footer-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:60px;padding-bottom:60px;border-bottom:1px solid rgba(247,241,230,.15);}
.footer-lead{font-family:var(--serif);font-style:italic;font-size:1.1rem;color:var(--rose);margin:0 0 14px;}
.footer-grid p{color:rgba(247,241,230,.78);max-width:52ch;}
.footer-grid a{text-decoration:none;font-weight:500;border-bottom:1px solid rgba(247,241,230,.4);padding-bottom:2px;}
.footer-nav{display:flex;flex-direction:column;align-items:flex-start;gap:12px;}
.footer-nav a{color:var(--paper);font-size:.95rem;}
.footer-base{padding-top:28px;display:flex;justify-content:space-between;font-size:.8rem;color:rgba(247,241,230,.55);flex-wrap:wrap;gap:10px;}

@media (max-width:900px){
  .nav-links{display:none;}
  .statement-inner,.feature,.index-layout,.journal-grid,.footer-grid,.post-gallery{grid-template-columns:1fr;}
  .journal-grid{gap:0;}
  .jcard{margin-bottom:26px;}
  .feature-media{min-height:280px;}
}
