:root { --ink: #231c1f; --rhubarb: #a42a57; --blush: #f8e8ee; --cream: #faf6ef; --paper: #fffdf9; --muted: #665b60; }
* { box-sizing: border-box; }
html { background: var(--paper); color: var(--ink); font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; }
body { margin: 0; }
.page-shell { width: min(1120px, calc(100% - 48px)); margin-inline: auto; }
.page-shell--narrow { max-width: 760px; }
.page-shell--standard { max-width: 1120px; }
.page-button { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 0 19px; border: 1px solid rgba(35,28,31,.2); border-radius: 999px; background: #fff; color: var(--ink); font: inherit; font-size: 15px; font-weight: 700; text-decoration: none; cursor: pointer; }
.page-loading, .page-not-found { min-height: 54vh; display: grid; place-items: center; color: var(--muted); }
.page-eyebrow { margin: 0 0 18px; color: var(--rhubarb); font-size: 12px; font-weight: 750; letter-spacing: .14em; text-transform: uppercase; }
h1, h2, h3 { margin: 0; font-family: "Fraunces", Georgia, serif; font-weight: 600; letter-spacing: -.02em; line-height: 1.06; }
h1 { font-size: clamp(48px, 7vw, 88px); } h2 { font-size: clamp(36px, 5vw, 64px); } h3 { font-size: clamp(27px, 3vw, 38px); }
.page-lede { max-width: 720px; margin: 28px 0 0; color: var(--muted); font-size: clamp(18px, 2vw, 24px); line-height: 1.55; }
.page-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }.page-actions--center { justify-content: center; }
.page-button--primary { border-color: var(--rhubarb); background: var(--rhubarb); color: #fff; }.page-button--light { border-color: #fff; background: #fff; color: var(--rhubarb); }
.page-hero, .page-story, .page-journey, .page-faq, .page-product, .page-signup { padding: clamp(70px, 10vw, 140px) 0; }
.page-hero { min-height: 580px; display: grid; align-items: center; }.page-hero--cream { background: var(--cream); }.page-hero--rhubarb { background: var(--rhubarb); color: #fff; }.page-hero--rhubarb .page-eyebrow, .page-hero--rhubarb .page-lede { color: #fff1f5; }
.page-story--center { text-align: center; }.page-story--center .page-story__inner, .page-story--center .page-lede { margin-inline: auto; }
.page-section { padding: 0; }.page-section--compact { padding-block: 46px; }.page-section--standard { padding-block: clamp(70px, 9vw, 120px); }.page-section--generous { padding-block: clamp(96px, 12vw, 160px); }
.page-section--paper { background: var(--paper); }.page-section--cream { background: var(--cream); }.page-section--blush { background: var(--blush); }.page-section--rhubarb { background: var(--rhubarb); color: #fff; }.page-section--ink { background: var(--ink); color: #fff; }
.page-section__inner { display: flex; flex-direction: column; gap: 30px; }.page-section__inner--narrow { max-width: 760px; }.page-section__inner--wide { width: min(1320px, calc(100% - 48px)); max-width: none; }.page-section--rhubarb .page-eyebrow, .page-section--ink .page-eyebrow { color: #efb9cd; }
.page-columns { display: grid; align-items: center; }.page-columns--equal { grid-template-columns: repeat(2, minmax(0,1fr)); }.page-columns--wide-left { grid-template-columns: 1.35fr .65fr; }.page-columns--wide-right { grid-template-columns: .65fr 1.35fr; }.page-columns--gap-small { gap: 22px; }.page-columns--gap-standard { gap: clamp(32px, 6vw, 76px); }.page-columns--gap-large { gap: clamp(48px, 8vw, 110px); }.page-columns--align-start { align-items: start; }.page-columns--align-end { align-items: end; }.page-columns__column { display: flex; flex-direction: column; gap: 24px; min-width: 0; }
.page-content-heading--center { margin-inline: auto; text-align: center; }.page-rich-text { color: var(--muted); font-size: 18px; line-height: 1.72; }.page-rich-text--large { font-size: clamp(19px, 2vw, 23px); }.page-rich-text > :first-child { margin-top: 0; }.page-rich-text > :last-child { margin-bottom: 0; }.page-rich-text h2, .page-rich-text h3, .page-rich-text h4 { margin: 1.8em 0 .6em; font-size: 1.35em; }.page-rich-text a { color: var(--rhubarb); text-underline-offset: 3px; }.page-rich-text blockquote { margin: 1.5em 0; padding-left: 22px; border-left: 4px solid var(--rhubarb); }.page-section--rhubarb .page-rich-text, .page-section--ink .page-rich-text { color: #fff4f8; }
.page-table { margin: 0; }.page-table figcaption { margin-bottom: 12px; font-size: 14px; font-weight: 700; }.page-table__scroll { overflow-x: auto; border: 1px solid #d9d1cd; border-radius: 16px; background: #fff; }.page-table table { width: 100%; min-width: 560px; border-collapse: collapse; font-size: 15px; line-height: 1.45; }.page-table th, .page-table td { padding: 15px 16px; border: 1px solid #d9d1cd; text-align: left; vertical-align: top; }.page-table th { background: #eee8e4; }.page-table tr:nth-child(even) td { background: #fbfaf8; }.page-table--blush th { background: #f4d6e1; }.page-table--ink { color: #fff; }.page-table--ink .page-table__scroll { border-color: rgba(255,255,255,.3); background: var(--ink); }.page-table--ink th { background: #49363d; }.page-table--ink td { border-color: rgba(255,255,255,.22); }.page-table--ink tr:nth-child(even) td { background: #30262a; }
.page-image { margin: 0; overflow: hidden; }.page-image img, .page-image-placeholder { display: block; width: 100%; background: #eee8e4; object-fit: cover; }.page-image--landscape img, .page-image--landscape .page-image-placeholder { aspect-ratio: 16/10; }.page-image--portrait img, .page-image--portrait .page-image-placeholder { aspect-ratio: 4/5; }.page-image--square img, .page-image--square .page-image-placeholder { aspect-ratio: 1; }.page-image--rounded { border-radius: 28px; }.page-image--card { padding: 12px; border: 1px solid #e4d9d5; border-radius: 30px; background: #fff; box-shadow: 0 18px 44px rgba(67,44,51,.1); }.page-image-placeholder { min-height: 220px; display: grid; place-items: center; color: #8a7e82; font-size: 14px; }.page-image figcaption { padding-top: 10px; color: #796d72; font-size: 13px; }
.page-quote { margin: 0; padding: clamp(30px, 5vw, 54px); border-radius: 28px; }.page-quote--paper { border: 1px solid #e4d9d5; background: var(--paper); }.page-quote--blush { background: var(--blush); }.page-quote--ink { background: var(--ink); color: #fff; }.page-quote blockquote { margin: 0; font-family: "Fraunces", Georgia, serif; font-weight: 600; font-size: clamp(27px, 4vw, 46px); letter-spacing: -.02em; line-height: 1.15; }.page-quote figcaption { margin-top: 18px; color: var(--muted); }.page-quote--ink figcaption { color: #cfc5c9; }
.page-callout { padding: 28px 30px; border-radius: 22px; }.page-callout--cream { background: var(--cream); }.page-callout--blush { background: var(--blush); }.page-callout--rhubarb { background: var(--rhubarb); color: #fff; }.page-callout strong { font-size: 21px; }.page-callout p { margin: 8px 0 0; color: var(--muted); line-height: 1.6; }.page-callout--rhubarb p { color: #fff4f8; }
.page-divider--compact { margin-block: 8px; }.page-divider--standard { margin-block: 24px; }.page-divider--generous { margin-block: 48px; }.page-divider--line { height: 1px; background: #ddd3cf; }.page-divider--rhubarb-mark { width: 72px; height: 8px; border-radius: 3px; background: #edb8cb; transform: rotate(-1.5deg); }
.page-article-header, .page-recipe-header { display: grid; grid-template-columns: minmax(0,1fr) minmax(360px,.85fr); gap: clamp(40px,7vw,96px); align-items: center; min-height: 580px; padding: clamp(76px,10vw,140px) max(24px, calc((100vw - 1120px)/2)); background: var(--cream); }.page-article-header__image { width: 100%; aspect-ratio: 4/5; border-radius: 32px; object-fit: cover; }.page-article-header > .page-image-placeholder, .page-recipe-header > .page-image-placeholder { aspect-ratio: 4/5; border-radius: 32px; }.page-byline { display: flex; flex-wrap: wrap; gap: 10px 22px; margin-top: 24px; color: #796d72; font-size: 14px; font-weight: 650; }
.template-post-header--below { grid-template-columns: 1fr; }.template-post-header--below .page-article-header__copy { width: min(100%,920px); margin-inline:auto; text-align:center; }.template-post-header--below > img, .template-post-header--below > .page-image-placeholder { width:min(100%,1120px); max-height:650px; margin-inline:auto; aspect-ratio:16/9; }.template-post-header--hidden { grid-template-columns:1fr; }.template-post-header--hidden .page-article-header__copy { width:min(100%,820px); margin-inline:auto; }
.template-article-body { width:100%; margin-inline:auto; color:#41383c; font-size:18px; line-height:1.78; }.template-article-body--comfortable { max-width:760px; }.template-article-body--wide { max-width:980px; }.template-article-body h2,.template-article-body h3,.template-article-body h4 { margin:1.75em 0 .55em; color:var(--ink); line-height:1.14; }.template-article-body h2 { font-size:36px; }.template-article-body h3 { font-size:27px; }.template-article-body p { margin:0 0 1.25em; }.template-article-body img { display:block; max-width:100%; height:auto; margin:34px auto; border-radius:20px; }.template-article-body blockquote { margin:32px 0; padding:6px 0 6px 24px; border-left:4px solid var(--rhubarb); font-size:22px; }.template-article-body table { width:100%; margin:30px 0; border-collapse:collapse; font-size:15px; }.template-article-body th,.template-article-body td { padding:12px 14px; border:1px solid #d9d1cd; text-align:left; }.template-article-body th { background:#f4d6e1; }.template-article-body pre { overflow:auto; padding:18px; border-radius:12px; background:var(--ink); color:#fff; }.template-article-body code { font-family:ui-monospace,SFMono-Regular,Menlo,monospace; }
.template-recipe-hero--paper { background:var(--paper); }.template-recipe-hero--blush { background:var(--blush); }.template-recipe-source { margin:18px 0 0; color:var(--muted); font-size:17px; }.template-recipe-section { width:100%; }.template-recipe-section > h2,.template-recipe-nutrition h2 { margin:0 0 28px; font-size:clamp(30px,4vw,48px); }.template-recipe-ingredients > div { display:grid; gap:3px 28px; }.template-recipe-ingredients--two > div { grid-template-columns:repeat(2,minmax(0,1fr)); }.template-recipe-ingredients h3 { grid-column:1/-1; margin:23px 0 7px; font-family:inherit; font-size:13px; letter-spacing:.1em; text-transform:uppercase; }.template-recipe-ingredients label { display:flex; gap:11px; padding:10px 0; border-bottom:1px solid #e4d9d5; line-height:1.45; }.template-recipe-ingredients input { width:18px; height:18px; margin:1px 0 0; accent-color:var(--rhubarb); }.template-recipe-directions ol { display:grid; gap:24px; margin:0; padding:0; list-style:none; }.template-recipe-directions li { display:grid; grid-template-columns:42px 1fr; gap:16px; align-items:start; }.template-recipe-directions li > span { display:grid; place-items:center; width:42px; height:42px; border-radius:50%; background:var(--rhubarb); color:#fff; font-weight:750; }.template-recipe-directions li p { margin:5px 0 0; font-size:18px; line-height:1.6; }.template-recipe-directions li small { display:block; width:max-content; margin-top:10px; padding:5px 10px; border-radius:999px; background:#f4d6e1; color:#8e204b; font-size:12px; font-weight:700; }.template-recipe-directions--cards li { padding:20px; border:1px solid #e4d9d5; border-radius:20px; background:#fff; }.template-recipe-nutrition { width:100%; padding:24px; border-radius:20px; background:var(--blush); }.template-recipe-nutrition h2 { margin-bottom:18px; font-size:23px; }.template-recipe-nutrition > div { display:grid; grid-template-columns:repeat(2,1fr); gap:1px; overflow:hidden; border-radius:12px; background:#e7c8d4; }.template-recipe-nutrition span { display:grid; gap:2px; padding:12px; background:#fff; color:#6a5e63; font-size:11px; text-transform:capitalize; }.template-recipe-nutrition b { color:var(--ink); font-size:19px; }.template-optional-placeholder { padding:18px; border:1px dashed #cdbcc2; border-radius:14px; color:#796d72; line-height:1.5; }
.template-app-cta { padding:clamp(70px,10vw,130px) clamp(24px,7vw,96px); text-align:center; }.template-app-cta--rhubarb { background:var(--rhubarb); color:#fff; }.template-app-cta--ink { background:var(--ink); color:#fff; }.template-app-cta--cream { background:var(--cream); color:var(--ink); }.template-app-cta h2,.template-newsletter h2 { max-width:760px; margin:0 auto; font-size:clamp(38px,6vw,72px); line-height:1; }.template-app-cta > p:not(.page-eyebrow),.template-newsletter > p { max-width:620px; margin:22px auto 28px; font-size:18px; line-height:1.55; opacity:.84; }.template-app-cta .page-eyebrow { color:inherit; opacity:.72; }.template-app-cta .page-button { margin-inline:auto; }
.template-newsletter { padding:clamp(56px,8vw,100px) clamp(24px,7vw,96px); background:var(--blush); color:var(--ink); text-align:center; }.template-newsletter h2 { font-size:clamp(34px,5vw,58px); }.template-newsletter .page-signup__form { display:flex; width:min(100%,560px); margin:0 auto; padding:5px; border:1px solid #d9d1cd; border-radius:999px; background:#fff; }.template-newsletter .page-signup__form input { border:0; }.template-newsletter .page-signup__result { position:absolute; margin-top:60px; color:var(--muted); }
.page-recipe-card { display: block; overflow: hidden; border: 1px solid #e4d9d5; border-radius: 24px; background: #fff; color: var(--ink); text-decoration: none; box-shadow: 0 14px 38px rgba(67,44,51,.08); }.page-recipe-card > img, .page-recipe-card > .page-image-placeholder { width: 100%; aspect-ratio: 16/10; object-fit: cover; }.page-recipe-card > div:last-child { padding: 22px; }.page-recipe-card span { color: var(--rhubarb); font-size: 12px; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }.page-recipe-card h3 { margin: 8px 0; font-size: 25px; }.page-recipe-card p { margin: 0; color: var(--muted); line-height: 1.55; }
.page-journey { background: var(--ink); color: #fff; }.page-journey .page-eyebrow { color: #efb9cd; }.page-journey__list { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1px; margin: 54px 0 0; padding: 0; list-style: none; background: rgba(255,255,255,.16); }.page-journey__list li { min-height: 210px; padding: 26px; background: var(--ink); }.page-journey__list span { display: block; margin-bottom: 46px; color: #efb9cd; font-size: 12px; font-weight: 700; }.page-journey__list strong { font-size: 25px; }.page-journey__list p { color: #cfc5c9; line-height: 1.45; }
.page-product { display: grid; grid-template-columns: minmax(0,.9fr) minmax(340px,1.1fr); gap: clamp(36px,7vw,100px); align-items: center; background: var(--cream); padding-inline: max(24px, calc((100vw - 1120px)/2)); }.page-product--media-left .page-product__placeholder { order: -1; }.page-product__placeholder { min-height: 390px; display: grid; place-content: center; gap: 8px; border: 1px solid #e4d9d5; border-radius: 32px; background: radial-gradient(circle at 20% 20%, rgba(244,214,225,.9), transparent 34%), linear-gradient(145deg,#fff,#eee8e4); text-align: center; }.page-product__placeholder span { color: var(--rhubarb); font-size: 12px; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }.page-product__placeholder strong { font-size: 28px; text-transform: capitalize; }
.page-faq { background: #fff; }.page-faq h2 { margin-bottom: 40px; }.page-faq__item { border-top: 1px solid #ddd3cf; padding: 22px 0; }.page-faq__item:last-child { border-bottom: 1px solid #ddd3cf; }.page-faq__item summary { cursor: pointer; font-size: 20px; font-weight: 700; }.page-faq__item p { max-width: 760px; color: var(--muted); line-height: 1.6; }
.page-signup { background: var(--rhubarb); color: #fff; text-align: center; }.page-signup .page-eyebrow, .page-signup .page-lede { color: #fff4f8; }.page-signup .page-lede { margin-inline: auto; }.page-signup__form { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 10px; max-width: 610px; margin: 32px auto 0; }.page-signup__form input { min-width: 0; min-height: 50px; padding: 0 18px; border: 1px solid #fff; border-radius: 999px; background: #fff; color: var(--ink); font: inherit; }.page-signup__result { grid-column: 1/-1; margin: 4px 0 0; color: #fff4f8; }
@media (max-width: 760px) { .page-shell { width: min(100% - 40px, 1120px); }.page-hero, .page-story, .page-journey, .page-faq, .page-product, .page-signup { padding-block: 72px; }.page-columns, .page-columns--equal, .page-columns--wide-left, .page-columns--wide-right, .page-article-header, .page-recipe-header, .page-product { grid-template-columns: 1fr; }.page-section--compact, .page-section--standard, .page-section--generous { padding-block: 60px; }.page-journey__list { grid-template-columns: 1fr 1fr; }.page-product--media-left .page-product__placeholder { order: initial; }.page-article-header, .page-recipe-header, .page-product { padding-inline: 20px; }.page-article-header__image, .page-article-header > .page-image-placeholder, .page-recipe-header > .page-image-placeholder { aspect-ratio: 16/11; }.page-signup__form { grid-template-columns: 1fr; } }

.page-card-grid { width: 100%; }.page-card-grid__header { max-width: 720px; margin-bottom: 32px; }.page-card-grid__header > p:not(.page-eyebrow) { margin: 16px 0 0; color: var(--muted); font-size: 18px; line-height: 1.6; }.page-card-grid__items { display: grid; gap: 18px; }.page-card-grid--two .page-card-grid__items { grid-template-columns: repeat(2,minmax(0,1fr)); }.page-card-grid--three .page-card-grid__items { grid-template-columns: repeat(3,minmax(0,1fr)); }.page-card-grid__card { overflow: hidden; border: 1px solid #e4d9d5; border-radius: 24px; background: #fff; }.page-card-grid__card > img, .page-card-grid__placeholder { display: block; width: 100%; aspect-ratio:16/10; background: #eee8e4; object-fit: cover; }.page-card-grid__placeholder { display:grid; place-items:center; color:#8a7e82; font-size:14px; }.page-card-grid__card > div { padding:22px; }.page-card-grid__card span { color:var(--rhubarb); font-size:12px; font-weight:750; letter-spacing:.1em; text-transform:uppercase; }.page-card-grid__card h3 { margin:8px 0; font-size:25px; }.page-card-grid__card p { margin:0; color:var(--muted); line-height:1.55; }.page-card-grid__card a { display:inline-block; margin-top:18px; color:var(--rhubarb); font-weight:750; text-decoration:none; }.page-accordion { width:100%; }.page-accordion > div { margin-top:30px; }.page-accordion details { border-top:1px solid #ddd3cf; padding:21px 0; }.page-accordion details:last-child { border-bottom:1px solid #ddd3cf; }.page-accordion summary { cursor:pointer; font-size:20px; font-weight:700; }.page-accordion p { max-width:760px; margin:14px 0 0; color:var(--muted); line-height:1.6; }
@media (max-width: 760px) { .page-card-grid--two .page-card-grid__items, .page-card-grid--three .page-card-grid__items { grid-template-columns:1fr; }.template-recipe-ingredients--two > div { grid-template-columns:1fr; }.template-newsletter .page-signup__form { display:grid; gap:8px; padding:8px; border-radius:22px; }.template-newsletter .page-signup__form input { min-height:46px; }.template-newsletter .page-signup__result { position:static; margin-top:4px; } }
