:root{--color-bg:#faf6ee;--color-paper:#fffdf7;--color-ink:#2a221b;--color-ink-soft:#5b4a3b;--color-ink-faint:#8a7866;--color-accent:#a8412c;--color-accent-soft:#d8a193;--color-rule:#e5d8c3;--font-display:"Cormorant Garamond","Playfair Display",Georgia,"Iowan Old Style",serif;--font-body:"Lora","Iowan Old Style",Georgia,"Times New Roman",serif;--font-ui:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;--size-1:clamp(2.75rem,6vw,4.5rem);--size-2:clamp(1.6rem,3vw,2.25rem);--size-3:1.4rem;--size-4:1.1rem;--size-base:1.0625rem;--size-small:0.875rem;--measure-prose:38rem;--measure-wide:64rem;--space-1:0.25rem;--space-2:0.5rem;--space-3:1rem;--space-4:1.5rem;--space-5:2.5rem;--space-6:4rem;--space-7:6rem;--radius:4px}@media (prefers-color-scheme:dark){:root{--color-bg:#1a1612;--color-paper:#221c16;--color-ink:#ebe2d3;--color-ink-soft:#b8a890;--color-ink-faint:#8a7866;--color-accent:#e08c75;--color-rule:#3a2f25}}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#faf6ee;background:var(--color-bg);color:#2a221b;color:var(--color-ink);font-family:Lora,Iowan Old Style,Georgia,Times New Roman,serif;font-family:var(--font-body);font-size:1.0625rem;font-size:var(--size-base);line-height:1.65;margin:0;text-rendering:optimizeLegibility}h1,h2,h3,h4{font-family:Cormorant Garamond,Playfair Display,Georgia,Iowan Old Style,serif;font-family:var(--font-display);font-weight:600;line-height:1.15;margin:0}a{color:#a8412c;color:var(--color-accent);text-underline-offset:2px}a:hover{text-decoration-thickness:2px}code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Courier New,monospace}.page{display:flex;flex-direction:column;min-height:100vh}.page__main{flex:1 0 auto;padding:var(--space-6) var(--space-4)}.hero{background:radial-gradient(ellipse at top,#a8412c0f,#0000 60%),var(--color-bg);border-bottom:1px solid var(--color-rule);padding:var(--space-7) var(--space-4) var(--space-6);text-align:center}.hero__inner{margin:0 auto;max-width:var(--measure-wide)}.hero__eyebrow{color:var(--color-ink-faint);font-family:var(--font-ui);font-size:var(--size-small);letter-spacing:.18em;margin:0 0 var(--space-3);text-transform:uppercase}.hero__name{color:var(--color-accent);font-size:var(--size-1);font-style:italic;margin:0 0 var(--space-3)}.hero__byline{color:var(--color-ink-soft);display:flex;flex-wrap:wrap;font-style:italic;gap:var(--space-2) var(--space-3);justify-content:center;margin:0 0 var(--space-4)}.hero__byline>span[aria-hidden]{color:var(--color-ink-faint)}.hero__lede{color:var(--color-ink-soft);font-size:var(--size-4);margin:0 auto}.hero__lede,.section{max-width:var(--measure-prose)}.section{margin:0 auto var(--space-7)}.section--wide{max-width:var(--measure-wide)}.section__eyebrow{color:var(--color-ink-faint);font-family:var(--font-ui);font-size:var(--size-small);letter-spacing:.18em;margin:0 0 var(--space-2);text-align:center;text-transform:uppercase}.section__heading{color:var(--color-accent);font-size:var(--size-2);font-style:italic;margin:0 0 var(--space-5);text-align:center}.section__heading:after{background:var(--color-accent-soft);content:"";display:block;height:1px;margin:var(--space-3) auto 0;width:3rem}.section__cta{margin:var(--space-3) 0 0;text-align:center}.section__cta-link{border-bottom:1px solid var(--color-accent-soft);color:var(--color-accent);font-family:var(--font-display);font-size:var(--size-4);font-style:italic;padding-bottom:2px;text-decoration:none}.section__cta-link:hover{border-bottom-color:var(--color-accent)}.pullquote{background:var(--color-paper);border:1px solid var(--color-rule);border-radius:var(--radius);color:var(--color-ink-soft);font-style:italic;margin:0;padding:var(--space-5) var(--space-4)}.pullquote p{margin:0 0 var(--space-3)}.pullquote p:last-of-type{margin-bottom:var(--space-4)}.pullquote__cite{color:var(--color-ink);font-style:normal;text-align:right}.pullquote__date{color:var(--color-ink-faint);font-family:var(--font-ui);font-size:var(--size-small)}.bio__prose p{margin:0 0 var(--space-3)}.bio__prose p:first-of-type:first-letter{color:var(--color-accent);float:left;font-family:var(--font-display);font-size:3.25rem;font-style:italic;line-height:.85;padding:.4rem var(--space-2) 0 0}.timeline{max-width:var(--measure-wide)}.timeline__list{grid-gap:var(--space-3);display:grid;gap:var(--space-3);list-style:none;margin:0;padding:0}.timeline__item{grid-gap:var(--space-4);align-items:start;background:var(--color-paper);border:1px solid var(--color-rule);border-radius:var(--radius);display:grid;gap:var(--space-4);grid-template-columns:8rem 1fr;padding:var(--space-4)}.timeline__date{color:var(--color-accent);font-family:var(--font-display);font-size:var(--size-3);font-style:italic;margin:0}.timeline__body{margin:0}.timeline__label{font-family:var(--font-display);font-size:var(--size-4);margin:0 0 var(--space-1)}.timeline__detail{color:var(--color-ink-soft);font-size:var(--size-small);margin:0}@media (max-width:36rem){.timeline__item{gap:var(--space-2);grid-template-columns:1fr}}.site-footer{background:var(--color-bg);border-top:1px solid var(--color-rule);padding:var(--space-5) var(--space-4);text-align:center}.site-footer__inner{margin:0 auto;max-width:var(--measure-wide)}.site-footer__cta{font-family:var(--font-display);font-size:var(--size-3);font-style:italic;margin:0 0 var(--space-3)}.site-footer__link{border-bottom:1px solid var(--color-accent-soft);color:var(--color-accent);padding-bottom:2px;text-decoration:none}.site-footer__link:hover{border-bottom-color:var(--color-accent)}.site-footer__fineprint{color:var(--color-ink-faint);margin:0}.lang-toggle,.site-footer__fineprint{font-family:var(--font-ui);font-size:var(--size-small)}.lang-toggle{align-items:center;display:inline-flex;gap:var(--space-1);letter-spacing:.06em}.lang-toggle__btn{background:#0000;border:0;border-radius:2px;color:var(--color-ink-faint);cursor:pointer;font:inherit;letter-spacing:inherit;padding:var(--space-1) var(--space-2);transition:color .15s,background-color .15s}.lang-toggle__btn:hover{color:var(--color-accent)}.lang-toggle__btn.is-active{color:var(--color-accent);font-weight:600}.lang-toggle__btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.lang-toggle__divider{color:var(--color-ink-faint);-webkit-user-select:none;user-select:none}.site-nav{backdrop-filter:saturate(140%) blur(8px);-webkit-backdrop-filter:saturate(140%) blur(8px);background:#faf6eeeb;border-bottom:1px solid var(--color-rule);position:-webkit-sticky;position:sticky;top:0;z-index:10}.site-nav__inner{align-items:center;display:flex;gap:var(--space-4);margin:0 auto;max-width:var(--measure-wide);padding:var(--space-2) var(--space-4)}.site-nav__brand{align-items:center;color:var(--color-ink);display:inline-flex;font-family:var(--font-display);font-style:italic;gap:var(--space-2);margin-right:auto;text-decoration:none}.site-nav__brand-mark{border:1px solid var(--color-accent-soft);border-radius:50%;color:var(--color-accent);display:inline-grid;font-size:1rem;height:1.75rem;place-items:center;width:1.75rem}.site-nav__brand-text{font-size:var(--size-4)}.site-nav__links{display:flex;gap:var(--space-4);list-style:none;margin:0;padding:0}.site-nav__link{border-bottom:1px solid #0000;color:var(--color-ink-soft);font-family:var(--font-ui);font-size:var(--size-small);letter-spacing:.06em;padding-bottom:2px;text-decoration:none;transition:color .15s,border-color .15s}.site-nav__link.active,.site-nav__link:hover{color:var(--color-accent)}.site-nav__link.active{border-bottom-color:var(--color-accent)}@media (prefers-color-scheme:dark){.site-nav{background:#1a1612eb}}.recipe{background:var(--color-paper);border:1px solid var(--color-rule);border-radius:var(--radius);margin:0 auto var(--space-6);max-width:var(--measure-prose);padding:var(--space-5);scroll-margin-top:var(--space-4)}.recipe__header{border-bottom:1px solid var(--color-rule);margin-bottom:var(--space-4);padding-bottom:var(--space-3)}.recipe__title{display:flex;flex-direction:column;gap:var(--space-1);margin:0 0 var(--space-2)}.recipe__title-primary{color:var(--color-accent);font-family:var(--font-display);font-size:var(--size-2);font-style:italic}.recipe__title-secondary{color:var(--color-ink-soft);font-family:var(--font-body);font-size:var(--size-4);font-style:italic;font-weight:400}.recipe__meta{color:var(--color-ink-faint);display:flex;flex-wrap:wrap;font-family:var(--font-ui);font-size:var(--size-small);gap:var(--space-3);margin:0}.recipe__credit{font-style:italic}.recipe__page:before,.recipe__yield:before{content:"· "}.recipe__dates{color:var(--color-ink-faint);font-family:var(--font-display);font-size:var(--size-small);font-style:italic;margin:var(--space-2) 0 0}.recipe__body>*+*{margin-top:var(--space-4)}.recipe h4{color:var(--color-ink-faint);font-family:var(--font-ui);font-size:var(--size-small);font-weight:600;letter-spacing:.12em;margin:0 0 var(--space-2);text-transform:uppercase}.recipe__ingredients ul{border-top:1px solid var(--color-rule);list-style:none;margin:0;padding:0}.recipe__ingredients li{border-bottom:1px solid var(--color-rule);padding:var(--space-2) 0}.recipe__steps ol{counter-reset:recipe-step;list-style:none;margin:0;padding:0}.recipe__steps li{counter-increment:recipe-step;padding:0 0 var(--space-3) 2.25rem;position:relative}.recipe__steps li:before{border:1px solid var(--color-accent-soft);border-radius:50%;color:var(--color-accent);content:counter(recipe-step);display:grid;font-family:var(--font-display);font-size:var(--size-small);font-style:italic;height:1.5rem;left:0;place-items:center;position:absolute;top:0;width:1.5rem}.recipe__steps li:last-child{padding-bottom:0}.recipe__notes{background:#a8412c0a;border-left:3px solid var(--color-accent-soft);color:var(--color-ink-soft);font-size:var(--size-small);padding:var(--space-2) var(--space-3)}.recipe__notes p{margin:0 0 var(--space-2)}.recipe__notes p:last-child{margin-bottom:0}.recipe__manuscript-grid{grid-gap:var(--space-3);display:grid;gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.recipe__manuscript-link{background:#fdfcf7;border:1px solid var(--color-rule);border-radius:var(--radius);display:block;overflow:hidden;transition:transform .12s ease,box-shadow .12s ease}.recipe__manuscript-link:focus-visible,.recipe__manuscript-link:hover{box-shadow:0 4px 16px #00000014;transform:translateY(-1px)}.recipe__manuscript-link img{display:block;height:auto;width:100%}.recipe[data-section=savory] .recipe__title-primary{color:#6b4226}.recipe[data-section=savory] .recipe__steps li:before{border-color:#c8a98a;color:#6b4226}@media print{.recipe{background:#fff;border:1px solid #ccc;break-inside:avoid;margin-bottom:var(--space-4);page-break-inside:avoid}.recipe__manuscript{display:none}}.recipes-page__header{margin:0 auto var(--space-7);max-width:var(--measure-prose);text-align:center}.recipes-page__eyebrow{color:var(--color-ink-faint);font-family:var(--font-ui);font-size:var(--size-small);letter-spacing:.18em;margin:0 0 var(--space-2);text-transform:uppercase}.recipes-page__title{color:var(--color-accent);font-family:var(--font-display);font-size:var(--size-1);font-style:italic;margin:0 0 var(--space-3)}.recipes-page__lede{color:var(--color-ink-soft);font-size:var(--size-4);margin:0}.recipes-page__notice{background:#a8412c0a;border-left:3px solid var(--color-accent-soft);color:var(--color-ink-soft);font-size:var(--size-small);font-style:italic;margin:var(--space-4) auto 0;max-width:var(--measure-prose);padding:var(--space-2) var(--space-3);text-align:left}.recipes-page__section{margin:0 auto var(--space-7);max-width:var(--measure-wide)}.recipes-page__section-header{margin-bottom:var(--space-5);text-align:center}.recipes-page__section-eyebrow{color:var(--color-ink-faint);font-family:var(--font-ui);font-size:var(--size-small);letter-spacing:.18em;margin:0 0 var(--space-2);text-transform:uppercase}.recipes-page__section-heading{color:var(--color-accent);font-family:var(--font-display);font-size:var(--size-2);font-style:italic;margin:0}.recipes-page__section-heading:after{background:var(--color-accent-soft);content:"";display:block;height:1px;margin:var(--space-2) auto 0;width:3rem}.recipes-page__section-lede{color:var(--color-ink-soft);margin:var(--space-3) auto 0;max-width:var(--measure-prose)}.recipes-page__section-count{color:var(--color-ink-faint);font-family:var(--font-ui);font-size:var(--size-small);letter-spacing:.1em;margin:var(--space-3) 0 0;text-transform:uppercase}.toc{background:var(--color-paper);border:1px solid var(--color-rule);border-radius:var(--radius);list-style:none;margin:0;overflow:hidden;padding:0}.toc__item{border-top:1px solid var(--color-rule)}.toc__item:first-child{border-top:none}.toc__link{grid-gap:var(--space-3);align-items:baseline;color:inherit;display:grid;gap:var(--space-3);grid-template-columns:3rem 1fr auto 1rem;padding:var(--space-3) var(--space-4);text-decoration:none;transition:background-color .15s,padding .15s}.toc__link:hover{background:#a8412c0d}.toc__link:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.toc__chevron{color:var(--color-ink-faint);font-family:var(--font-display);font-size:var(--size-3);transition:transform .15s,color .15s}.toc__link:hover .toc__chevron{color:var(--color-accent);transform:translateX(3px)}.toc__index{color:var(--color-accent);font-family:var(--font-display);font-size:var(--size-3);font-style:italic;text-align:right}.toc__item[data-section=savory] .toc__index{color:#6b4226}.toc__body{min-width:0}.toc__title{color:var(--color-ink);font-family:var(--font-display);font-size:var(--size-4);font-style:italic;margin:0}.toc__subtitle{color:var(--color-ink-soft);font-style:italic;margin:var(--space-1) 0 0}.toc__meta,.toc__subtitle{font-size:var(--size-small)}.toc__meta{align-items:flex-end;color:var(--color-ink-faint);display:flex;flex-direction:column;font-family:var(--font-ui);gap:var(--space-1);text-align:right}.toc__credit{font-style:italic}.toc__page:before{content:""}@media (max-width:36rem){.toc__link{gap:var(--space-2);grid-template-columns:2.25rem 1fr .75rem}.toc__meta{align-items:baseline;flex-direction:row;flex-wrap:wrap;gap:var(--space-3);grid-column:2}.toc__chevron{grid-column:3;grid-row:1}}.recipe-detail{margin:0 auto;max-width:var(--measure-wide)}.recipe-detail__topbar{align-items:baseline;display:flex;gap:var(--space-3);justify-content:space-between;margin:0 auto var(--space-4);max-width:var(--measure-prose)}.recipe-detail__back{border-bottom:1px solid #0000;color:var(--color-ink-soft);font-family:var(--font-ui);font-size:var(--size-small);text-decoration:none;transition:color .15s,border-color .15s}.recipe-detail__back:hover{border-bottom-color:var(--color-accent);color:var(--color-accent)}.recipe-detail__breadcrumb{color:var(--color-ink-faint);font-family:var(--font-ui);font-size:var(--size-small);letter-spacing:.18em;margin:0;text-transform:uppercase}.recipe-detail__pager{grid-gap:var(--space-3);display:grid;gap:var(--space-3);grid-template-columns:1fr 1fr;margin:var(--space-5) auto 0;max-width:var(--measure-prose)}.recipe-detail__pager-link{background:var(--color-paper);border:1px solid var(--color-rule);border-radius:var(--radius);color:var(--color-ink);display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-3) var(--space-4);text-decoration:none;transition:border-color .15s,transform .15s}.recipe-detail__pager-link:hover{border-color:var(--color-accent-soft);transform:translateY(-1px)}.recipe-detail__pager-link--next{align-items:flex-end;text-align:right}.recipe-detail__pager-direction{color:var(--color-ink-faint);font-family:var(--font-ui);font-size:var(--size-small);letter-spacing:.12em;text-transform:uppercase}.recipe-detail__pager-title{color:var(--color-accent);font-family:var(--font-display);font-size:var(--size-4);font-style:italic}.recipe-detail__notfound{background:var(--color-paper);border:1px solid var(--color-rule);border-radius:var(--radius);margin:0 auto;max-width:var(--measure-prose);padding:var(--space-5);text-align:center}.recipe-detail__eyebrow{color:var(--color-ink-faint);font-family:var(--font-ui);font-size:var(--size-small);letter-spacing:.18em;margin:0 0 var(--space-2);text-transform:uppercase}.recipe-detail__notfound-title{color:var(--color-accent);font-family:var(--font-display);font-size:var(--size-2);font-style:italic;margin:0 0 var(--space-3)}.recipe-detail__notfound-lede{color:var(--color-ink-soft);margin:0 0 var(--space-4)}.recipe-detail__notfound-lede code{background:var(--color-bg);border-radius:2px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;padding:0 var(--space-1)}@media (max-width:36rem){.recipe-detail__pager{grid-template-columns:1fr}.recipe-detail__pager-link--next{align-items:flex-start;text-align:left}}