:root{--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}:root,[data-theme=blush]{--color-bg:#fdf2f5;--color-paper:#fff8fa;--color-ink:#3a2933;--color-ink-soft:#6e515b;--color-ink-faint:#a89098;--color-accent:#d97aa3;--color-accent-soft:#f4c8d9;--color-rule:#ecd6df;--color-accent-tint:#d97aa312;--color-manuscript:#fff5f7;--color-savory-ink:#a05878;--color-savory-rule:#e0a8be;--color-nav-bg:#fdf2f5eb;--color-swatch:#d97aa3}[data-theme=rose]{--color-bg:#f9ecee;--color-paper:#fff5f7;--color-ink:#2e1a22;--color-ink-soft:#604049;--color-ink-faint:#9a7b85;--color-accent:#b8456b;--color-accent-soft:#e8a4b8;--color-rule:#e2c5ce;--color-accent-tint:#b8456b0f;--color-manuscript:#fff0f3;--color-savory-ink:#8a3a55;--color-savory-rule:#d289a0;--color-nav-bg:#f9eceeeb;--color-swatch:#b8456b}[data-theme=coral]{--color-bg:#fdf0ec;--color-paper:#fff7f3;--color-ink:#3a2520;--color-ink-soft:#6e4a40;--color-ink-faint:#a8867a;--color-accent:#e87a6b;--color-accent-soft:#f8c5b8;--color-rule:#f0d5c8;--color-accent-tint:#e87a6b12;--color-manuscript:#fff5f0;--color-savory-ink:#b25548;--color-savory-rule:#f0a89a;--color-nav-bg:#fdf0eceb;--color-swatch:#e87a6b}[data-theme=mauve]{--color-bg:#f5edf2;--color-paper:#fdf6fa;--color-ink:#2f2030;--color-ink-soft:#5e455e;--color-ink-faint:#998698;--color-accent:#b07aa3;--color-accent-soft:#d6b8d0;--color-rule:#ddc8da;--color-accent-tint:#b07aa312;--color-manuscript:#faf2f7;--color-savory-ink:#855c7c;--color-savory-rule:#c2a3bc;--color-nav-bg:#f5edf2eb;--color-swatch:#b07aa3}[data-theme=bubblegum]{--color-bg:#fde7ee;--color-paper:#fff0f5;--color-ink:#321420;--color-ink-soft:#6b3849;--color-ink-faint:#a87c8a;--color-accent:#e64980;--color-accent-soft:#fbb6c8;--color-rule:#f5cdd6;--color-accent-tint:#e6498012;--color-manuscript:#fff2f6;--color-savory-ink:#b03864;--color-savory-rule:#f098b0;--color-nav-bg:#fde7eeeb;--color-swatch:#e64980}@media (prefers-color-scheme:dark){:root,[data-theme=blush]{--color-bg:#221218;--color-paper:#2c1a22;--color-ink:#f5dee7;--color-ink-soft:#c0a4ad;--color-ink-faint:#8a727a;--color-accent:#f0a8c5;--color-accent-soft:#6b3a4c;--color-rule:#3d242e;--color-accent-tint:#f0a8c514;--color-manuscript:#2c1a22;--color-savory-ink:#f4b8d0;--color-savory-rule:#6b3a4c;--color-nav-bg:#221218eb}[data-theme=rose]{--color-bg:#1f161a;--color-paper:#29202b;--color-ink:#f5dde3;--color-ink-soft:#bda1a7;--color-ink-faint:#856e74;--color-accent:#e896ad;--color-accent-soft:#5a2e3b;--color-rule:#382630;--color-accent-tint:#e896ad14;--color-manuscript:#29202b;--color-savory-ink:#f0a8c0;--color-savory-rule:#5a2e3b;--color-nav-bg:#1f161aeb}[data-theme=coral]{--color-bg:#211814;--color-paper:#2c1f1a;--color-ink:#f6dfd8;--color-ink-soft:#c1a59c;--color-ink-faint:#8a7268;--color-accent:#f5a195;--color-accent-soft:#6b3d33;--color-rule:#3d2820;--color-accent-tint:#f5a19514;--color-manuscript:#2c1f1a;--color-savory-ink:#f4b3a4;--color-savory-rule:#6b3d33;--color-nav-bg:#211814eb}[data-theme=mauve]{--color-bg:#1d1820;--color-paper:#271f2b;--color-ink:#efe0ed;--color-ink-soft:#b8a3b6;--color-ink-faint:#856e83;--color-accent:#d9a8d0;--color-accent-soft:#5a3d54;--color-rule:#3a2c3a;--color-accent-tint:#d9a8d014;--color-manuscript:#271f2b;--color-savory-ink:#e0b8d8;--color-savory-rule:#5a3d54;--color-nav-bg:#1d1820eb}[data-theme=bubblegum]{--color-bg:#221518;--color-paper:#2d1b22;--color-ink:#fadde5;--color-ink-soft:#c5a3ac;--color-ink-faint:#8e7079;--color-accent:#f5a3bc;--color-accent-soft:#6e3a4d;--color-rule:#3d242e;--color-accent-tint:#f5a3bc14;--color-manuscript:#2d1b22;--color-savory-ink:#f0a8c0;--color-savory-rule:#6e3a4d;--color-nav-bg:#221518eb}}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#fdf2f5;background:var(--color-bg);color:#3a2933;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:#d97aa3;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,var(--color-accent-tint),#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}.theme-toggle{align-items:center;display:inline-flex;gap:var(--space-1)}.theme-toggle__swatch{-webkit-appearance:none;appearance:none;background:#0000;border:0;border-radius:50%;cursor:pointer;display:inline-grid;line-height:0;margin:0;padding:4px;place-items:center;transition:transform .15s ease}.theme-toggle__swatch:hover{transform:scale(1.08)}.theme-toggle__swatch:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.theme-toggle__dot{background:var(--swatch);border-radius:50%;box-shadow:inset 0 0 0 1px #00000014;display:block;height:.95rem;transition:box-shadow .15s ease;width:.95rem}.theme-toggle__swatch.is-active .theme-toggle__dot{box-shadow:0 0 0 1px #00000014 inset,0 0 0 2px var(--color-paper),0 0 0 3px var(--swatch)}@media (max-width:36rem){.theme-toggle__dot{height:.8rem;width:.8rem}}.site-nav{backdrop-filter:saturate(140%) blur(8px);-webkit-backdrop-filter:saturate(140%) blur(8px);background:var(--color-nav-bg);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__controls{align-items:center;display:inline-flex;gap:var(--space-3)}.site-nav__divider{background:var(--color-rule);display:inline-block;height:1rem;width:1px}@media (max-width:36rem){.site-nav__inner{flex-wrap:wrap;row-gap:var(--space-2)}.site-nav__controls{gap:var(--space-2)}}.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)}.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:var(--color-accent-tint);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:var(--color-manuscript);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:var(--color-savory-ink)}.recipe[data-section=savory] .recipe__steps li:before{border-color:var(--color-savory-rule);color:var(--color-savory-ink)}@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:var(--color-accent-tint);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:var(--color-accent-tint)}.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:var(--color-savory-ink)}.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}}