@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,600;0,700;1,600&display=swap');

:root { 
  --cream:#f8f2e7; 
  --paper:#fffdf8; 
  --ink:#111111; 
  --body-text:#111111;
  --brand-green:#073f2a;
  --forest:#073f2a; 
  --green:#073f2a; 
  --green-deep:#0b3324;
  --muted:#333333; 
  --red:#c9442f; 
  --red-dark:#a93424; 
  --gold:#dda91f;
  --line:#e3ded2; 
  font-family:'DM Sans',sans-serif; 
  color:#111111; 
  background:var(--paper); 
  font-synthesis:none; 
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; min-width:320px; color:#111111; }
h1, h2, h3, h4, h5, h6 { color:var(--brand-green, #073f2a); }
p, ul, ol, li, dl, dt, dd, label, td, th { color:#111111; }
a { color:inherit; text-decoration:none; }
button,input { font:inherit; color:#111111; }
button { cursor:pointer; }

button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible {
  outline: 3px solid var(--red);
  outline-offset: 3px;
}

button, a, input, select, textarea {
  min-height: 44px;
}
.announcement { min-height:34px; display:flex; align-items:center; justify-content:center; gap:10px; padding:6px 20px; background:var(--green); color:#fff; font-size:12px; letter-spacing:.02em; }
.announcement a { color:#fff; }
.announcement span { color:#f4d6a3; font-weight:700; }
.site-header { height:78px; padding:0 clamp(20px,5vw,76px); display:flex; align-items:center; justify-content:space-between; background:rgba(255,253,248,.96); position:relative; z-index:20; border-bottom:1px solid rgba(0,0,0,.06); }
.logo { display:flex; align-items:center; gap:9px; font:700 27px 'Playfair Display',serif; letter-spacing:-.04em; color:var(--brand-green); }
.logo-mark { width:35px; height:35px; border-radius:50% 50% 46% 54%; background:var(--red); color:#fff; display:grid; place-items:center; font:italic 600 22px 'Playfair Display',serif; transform:rotate(-5deg); }
.nav { display:flex; gap:clamp(18px,3vw,42px); font-size:14px; font-weight:600; }
.nav a { padding:28px 0; border-bottom:2px solid transparent; color:#111111; }
.nav a:hover { color:var(--red); border-color:var(--red); }
.header-actions { display:flex; align-items:center; gap:8px; }
.icon-button,.menu-button { width:40px; height:40px; border:0; background:transparent; color:#111111; display:grid; place-items:center; border-radius:50%; }
.icon-button:hover { background:var(--cream); }
.profile-button { display:flex; gap:8px; align-items:center; border:1px solid var(--line); border-radius:99px; background:#fff; padding:9px 15px; color:#111111; font-size:13px; font-weight:600; }
.official-logo{display:block;width:212px;height:62px;overflow:hidden;position:relative;flex:none}.official-logo img{position:absolute;width:212px;height:auto;left:0;top:-21px}.start-button{background:var(--green);color:#fff;padding:10px 16px;border-radius:99px;font-size:12px;font-weight:700}.start-button:hover{background:#173e2c}
.menu-button,.mobile-only { display:none; }
.hero { min-height:655px; position:relative; display:flex; align-items:center; overflow:hidden; background:#ded1b9; }
.hero-image,.hero-shade { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.hero-shade { background:linear-gradient(90deg,rgba(24,30,22,.76) 0%,rgba(24,30,22,.51) 35%,rgba(24,30,22,.05) 70%); }
.hero-copy { position:relative; z-index:2; width:min(650px,90%); margin-left:clamp(22px,8vw,130px); padding:70px 0; color:#fff; }
.hero-copy * { color:#fff; }
.kicker { display:flex; gap:8px; align-items:center; margin:0 0 16px; font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.15em; color:var(--brand-green); }
.kicker.red { color:var(--red); }
.hero-copy .kicker { color:#fff; }
.hero-copy h1, .hero h1 { margin:0 0 22px; font:600 clamp(52px,6.5vw,88px)/.96 'Playfair Display',serif; letter-spacing:-.055em; color:#fff; }
.hero h1 em { color:#f2c984; }
.hero-copy>p:not(.kicker) { max-width:550px; font-size:18px; line-height:1.65; color:rgba(255,255,255,.94); }
.hero-search { margin-top:32px; max-width:610px; background:#fff; padding:7px 7px 7px 17px; border-radius:6px; display:flex; align-items:center; gap:10px; box-shadow:0 14px 40px rgba(0,0,0,.2); color:#333333; }
.hero-search input { flex:1; min-width:80px; border:0; outline:0; padding:12px 0; color:#111111; }
.hero-search button,.newsletter button { border:0; background:var(--brand-green); color:#fff; padding:14px 20px; border-radius:4px; font-weight:700; }
.hero-search button:hover,.newsletter button:hover { background:#125539; color:#fff; }
.popular { margin-top:17px; display:flex; gap:14px; font-size:12px; color:rgba(255,255,255,.88); flex-wrap:wrap; }
.popular span { font-weight:700; color:#fff; }.popular a { text-decoration:underline; text-underline-offset:3px; color:#fff; }
.section { max-width:1220px; margin:auto; padding:94px 28px; }
.section-heading { margin-bottom:38px; }.section-heading.centered { text-align:center; max-width:670px; margin:0 auto 44px; }.section-heading.centered .kicker { justify-content:center; }
.section-heading h2,.newsletter h2 { margin:0; font:600 clamp(35px,4vw,52px)/1.08 'Playfair Display',serif; letter-spacing:-.035em; color:var(--brand-green); }
.cook-tonight h2 { margin:0; font:600 clamp(35px,4vw,52px)/1.08 'Playfair Display',serif; letter-spacing:-.035em; color:#fff; }
.section-heading>p,.section-heading.centered>p:last-child { color:#222222; line-height:1.6; }
.category-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:16px; }
.category { aspect-ratio:1/1.08; border-radius:50% 50% 46% 54%; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:16px; transition:.25s; }
.category:hover { transform:translateY(-6px) rotate(-1deg); box-shadow:0 15px 35px rgba(50,45,34,.1); }
.category span { font-size:43px; filter:drop-shadow(0 5px 4px rgba(0,0,0,.12)); }.category strong { font:600 16px 'Playfair Display',serif; color:#fff; }
.peach{background:#f6d8ca}.sage{background:#d9e4d5}.butter{background:#f5e7ba}.mint{background:#d4e8db}.rose{background:#efd6d4}.sky{background:#d8e7e9}
.latest { max-width:none; background:var(--cream); padding-left:max(28px,calc((100% - 1164px)/2)); padding-right:max(28px,calc((100% - 1164px)/2)); }
.split { display:flex; justify-content:space-between; align-items:end; }.split .kicker { margin-bottom:12px; }.text-link { display:flex; align-items:center; gap:8px; color:var(--brand-green); font-weight:700; padding-bottom:8px; }
.recipe-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.recipe-card { background:#fff; border-radius:8px; overflow:hidden; box-shadow:0 6px 28px rgba(65,55,35,.07); transition:.25s; }.recipe-card:hover { transform:translateY(-5px); box-shadow:0 15px 35px rgba(65,55,35,.13); }
.card-image-wrap { height:240px; position:relative; overflow:hidden; }.card-image-wrap img { width:100%; height:100%; object-fit:cover; transition:.4s; }.recipe-card:hover img { transform:scale(1.04); }
.badge { position:absolute; top:14px; left:14px; background:var(--brand-green); color:#fff; border-radius:99px; padding:7px 10px; font-size:10px; text-transform:uppercase; font-weight:700; letter-spacing:.07em; }
.save-button { position:absolute; top:12px; right:12px; border:0; background:rgba(255,255,255,.93); width:39px; height:39px; border-radius:50%; display:grid; place-items:center; color:#111111; }.save-button:hover { color:var(--red); }
.card-copy { padding:20px; }.card-copy .eyebrow { margin:0 0 8px; color:var(--red); text-transform:uppercase; font-size:10px; letter-spacing:.12em; font-weight:700; }
.card-copy h3 { margin:0 0 18px; font:600 23px/1.2 'Playfair Display',serif; color:var(--brand-green); }
.card-copy p { color:#222222; }
.card-meta { border-top:1px solid var(--line); padding-top:14px; display:flex; gap:20px; color:#333333; font-size:12px; }.card-meta span { display:flex; align-items:center; gap:6px; color:#333333; }.card-meta span:last-child { color:#946415; font-weight:600; }
.cook-tonight { min-height:410px; overflow:hidden; padding:70px max(28px,calc((100% - 1164px)/2)); background:var(--brand-green); color:#fff; display:grid; grid-template-columns:1.2fr .8fr; align-items:center; }
.cook-tonight>div:first-child { max-width:650px; }
.cook-tonight .kicker { color:#f0ca7a; }
.cook-tonight p:not(.kicker) { color:#ffffff; max-width:600px; line-height:1.65; font-size:16px; }
.cream-button { display:inline-flex; align-items:center; gap:9px; background:#f5e4bc; color:#111111; padding:15px 20px; border-radius:4px; margin-top:12px; font-weight:700; }
.ingredient-scatter { display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:10px; transform:rotate(-5deg); }.ingredient-scatter span { font-size:70px; width:115px; height:115px; display:grid; place-items:center; border-radius:50%; background:rgba(255,255,255,.1); }.ingredient-scatter span:nth-child(even) { transform:translateY(30px); }
.newsletter { margin:90px auto; max-width:1164px; padding:55px 65px; background:#f1dfd2; display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:60px; border-radius:8px; }
.newsletter h2 { font-size:42px; color:var(--brand-green); }
.newsletter p:not(.kicker) { color:#222222; line-height:1.6; }
.newsletter form { background:white; padding:7px; display:flex; border-radius:5px; }
.newsletter input { flex:1; border:0; outline:0; padding:12px; min-width:80px; color:#111111; }
footer { padding:60px max(28px,calc((100% - 1164px)/2)) 30px; background:#1d3024; color:#ffffff; display:grid; grid-template-columns:1fr auto; gap:25px; align-items:center; }
footer * { color:#ffffff; }
footer .light { color:#fff; }
footer .logo-mark { background:#e2b969; color:#173525; }
footer>p { margin:0; color:#f0f4f1; }
footer>div { display:flex; gap:30px; grid-column:2; grid-row:1/3; font-size:13px; }
footer>div a { color:#ffffff; }
footer>div a:hover { color:#f0ca7a; }
footer small { padding-top:24px; border-top:1px solid rgba(255,255,255,.18); grid-column:1/-1; font-size:11px; color:#e0e8e2; }
.footer-logo{background:#fff;border-radius:5px}.chef-photo img{object-position:center 22%}
.footer-logo{background:#fff;border-radius:5px}.chef-photo img{object-position:center 22%}
@media (max-width:950px) { .nav { gap:15px }.nav a { font-size:12px }.category-grid { grid-template-columns:repeat(3,1fr); max-width:620px; margin:auto }.recipe-grid { grid-template-columns:repeat(2,1fr) }.newsletter { margin:60px 28px; padding:45px; }.ingredient-scatter span { font-size:50px; width:90px; height:90px; } }
@media (max-width:720px) { .announcement { font-size:10px }.site-header { height:66px; padding:0 18px }.official-logo{width:154px;height:50px}.official-logo img{width:154px;top:-15px}.nav { display:none; position:absolute; top:66px; left:0; right:0; padding:20px; background:var(--paper); flex-direction:column; box-shadow:0 15px 20px rgba(0,0,0,.1) }.nav.open { display:flex }.nav a { padding:10px }.mobile-only,.menu-button { display:grid }.desktop-icon,.profile-button,.start-button { display:none }.hero { min-height:650px; align-items:end }.hero-image { object-position:62% center }.hero-shade { background:linear-gradient(0deg,rgba(20,28,21,.9) 0%,rgba(20,28,21,.65) 58%,rgba(20,28,21,.08) 100%) }.hero-copy { margin:0; width:100%; padding:110px 22px 48px }.hero h1 { font-size:49px }.hero-copy>p:not(.kicker) { font-size:15px }.hero-search { align-items:stretch }.hero-search button { padding:12px;font-size:12px}.section { padding:70px 20px }.category-grid { grid-template-columns:repeat(2,1fr); gap:12px }.category { aspect-ratio:1 }.recipe-grid { grid-template-columns:1fr }.card-image-wrap { height:280px }.split { align-items:start; flex-direction:column; gap:18px }.cook-tonight { grid-template-columns:1fr; padding:65px 24px }.ingredient-scatter { margin-top:45px }.ingredient-scatter span { width:68px;height:68px;font-size:38px }.newsletter { margin:50px 20px; padding:35px 25px; grid-template-columns:1fr; gap:20px }.newsletter form { flex-direction:column; gap:8px;background:transparent;padding:0}.newsletter input { background:#fff;padding:16px;border-radius:4px}footer { grid-template-columns:1fr }footer>div { grid-column:1;grid-row:auto;flex-wrap:wrap;gap:18px } }

/* Editorial prototype expansion */
.hero-copy>*{animation:rise-in .8s both}.hero-copy>*:nth-child(2){animation-delay:.08s}.hero-copy>*:nth-child(3){animation-delay:.16s}.hero-copy>*:nth-child(4){animation-delay:.24s}.hero-copy>*:nth-child(5){animation-delay:.32s}
.ticker{overflow:hidden;background:#e6b962;color:#111111;padding:12px 0;font-size:11px;font-weight:800;letter-spacing:.14em;white-space:nowrap}.ticker>div{display:inline-flex;gap:42px;min-width:max-content;animation:ticker 30s linear infinite}.save-button.saved{color:var(--red);animation:heart-pop .4s ease}
.season-story{display:grid;grid-template-columns:1.08fr .92fr;min-height:650px}.season-image{position:relative;min-height:520px;overflow:hidden}.season-image img{width:100%;height:100%;object-fit:cover;transition:transform 1s}.season-story:hover .season-image img{transform:scale(1.035)}.play{position:absolute;bottom:30px;left:30px;display:flex;align-items:center;gap:9px;border:0;background:#fffffff0;color:#111111;padding:13px 17px;border-radius:99px;font-weight:700}.season-copy{padding:80px clamp(35px,7vw,110px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.season-copy h2{margin:8px 0 22px;font:600 clamp(38px,4vw,57px)/1.05 'Playfair Display',serif;letter-spacing:-.04em;color:var(--brand-green);}.season-copy>p:not(.kicker){color:#222222;line-height:1.75}.script{color:var(--red);font:italic 600 23px 'Playfair Display',serif}.red-button{display:inline-flex;align-items:center;gap:9px;background:var(--brand-green);color:#fff;padding:15px 19px;border-radius:4px;margin-top:12px;font-weight:700}.mini-stats{display:flex;gap:24px;margin-top:38px;padding-top:25px;border-top:1px solid var(--line);width:100%;color:#333333;font-size:11px}.mini-stats span{display:flex;flex-direction:column;color:#333333;}.mini-stats strong{color:var(--brand-green);font:600 25px 'Playfair Display',serif}
.world{max-width:1280px}.cuisine-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.cuisine{height:420px;position:relative;overflow:hidden;border-radius:140px 140px 8px 8px;animation:rise-in .7s both;animation-delay:var(--delay)}.cuisine::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#0f1a12e0,transparent 65%)}.cuisine img{width:100%;height:100%;object-fit:cover;transition:.6s}.cuisine:hover img{transform:scale(1.08)}.cuisine>div{position:absolute;z-index:1;left:25px;right:25px;bottom:24px;color:#fff}.cuisine span{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#f2cf8d}.cuisine h3{font:600 29px 'Playfair Display',serif;margin:6px 0;color:#fff;}.cuisine p{display:flex;align-items:center;gap:8px;margin:0;font-size:12px;font-weight:700;color:#fff;}
.more-recipes{background:var(--brand-green);color:#fff;padding:90px max(24px,calc((100% - 1164px)/2));overflow:hidden}.more-recipes h2{color:#fff;}.more-recipes .kicker{color:#f0ca7a;}.recipe-marquee{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.more-recipes .recipe-card:nth-child(even){transform:translateY(20px)}.ingredient-scatter span{animation:float 4s ease-in-out infinite}.ingredient-scatter span:nth-child(2){animation-delay:-1s}.ingredient-scatter span:nth-child(3){animation-delay:-2s}.pantry-demo{display:flex;max-width:590px;background:#fff;padding:6px;border-radius:5px;margin-top:25px}.pantry-demo input{border:0;outline:0;padding:12px;flex:1;min-width:80px;color:#111111;}.pantry-demo button{display:flex;align-items:center;gap:8px;border:0;background:#e6b962;color:#111111;padding:13px 17px;font-weight:700;border-radius:3px}
.chef-section{display:grid;grid-template-columns:1fr 1fr;max-width:1164px;margin:100px auto;min-height:580px;background:#f3e5d8}.chef-photo{position:relative;overflow:hidden}.chef-photo img{width:100%;height:100%;object-fit:cover}.chef-photo>span{position:absolute;left:25px;bottom:25px;display:flex;align-items:center;gap:8px;background:#fff;padding:12px 15px;border-radius:4px;font-weight:700;font-size:12px;color:var(--brand-green);}.chef-copy{padding:70px;display:flex;flex-direction:column;justify-content:center}.chef-copy>svg{color:var(--brand-green)}.chef-copy blockquote{font:italic 600 clamp(30px,3vw,43px)/1.25 'Playfair Display',serif;margin:22px 0;color:var(--brand-green);}.chef-copy>p{color:#222222;line-height:1.7}.chef-copy strong{margin-top:15px;color:var(--brand-green);}.chef-copy small{color:#444444;margin:4px 0 22px}.chef-copy a{display:flex;align-items:center;gap:8px;color:var(--brand-green);font-weight:700}
.love{padding:90px max(28px,calc((100% - 1164px)/2));background:#fff8ed;display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:center}.love h2{font:600 clamp(37px,4vw,54px)/1.08 'Playfair Display',serif;margin:0 0 30px;color:var(--brand-green);}.rating{display:flex;align-items:center;gap:16px}.rating>span{font:600 42px 'Playfair Display',serif;color:var(--brand-green);}.rating>div>div,.stars{color:#d99527;display:flex}.rating small{color:#333333}.review-cards{display:grid;grid-template-columns:1fr 1fr;gap:18px}.review-cards article{background:#fff;padding:30px;box-shadow:0 10px 30px #41372312;transform:rotate(-1deg)}.review-cards article:last-child{transform:rotate(1deg) translateY(20px)}.review-cards p{font:italic 600 20px/1.55 'Playfair Display',serif;color:#111111;}.review-cards strong{font-size:12px;color:#333333;}.joined{display:flex;align-items:center;gap:12px;background:#fff;color:var(--green);padding:20px;border-radius:5px;font-weight:700}
@keyframes rise-in{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes ticker{to{transform:translateX(-50%)}}@keyframes heart-pop{50%{transform:scale(1.3)}}@keyframes float{50%{transform:translateY(-12px) rotate(5deg)}}
@media(max-width:950px){.cuisine-grid,.recipe-marquee{grid-template-columns:repeat(2,1fr)}.season-copy{padding:55px 35px}.chef-section{margin:70px 28px}.chef-copy{padding:45px}.love{grid-template-columns:1fr}.review-cards{max-width:700px}}
@media(max-width:720px){.season-story,.chef-section{grid-template-columns:1fr}.season-image,.chef-photo{min-height:430px}.season-copy{padding:55px 24px}.cuisine-grid{grid-template-columns:1fr 1fr;gap:10px}.cuisine{height:300px;border-radius:90px 90px 6px 6px}.cuisine>div{left:15px;bottom:16px}.cuisine h3{font-size:20px}.recipe-marquee{grid-template-columns:1fr}.pantry-demo{flex-direction:column;background:transparent}.pantry-demo input{padding:16px;border-radius:4px}.pantry-demo button{justify-content:center}.chef-section{margin:55px 20px}.chef-copy{padding:40px 25px}.love{padding:65px 22px;gap:35px}.review-cards{grid-template-columns:1fr}.review-cards article:last-child{transform:rotate(1deg)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}

/* Motion, depth and hover polish */
body::before{content:'';position:fixed;z-index:50;left:var(--pointer-x,-200px);top:var(--pointer-y,-200px);width:240px;height:240px;border-radius:50%;pointer-events:none;transform:translate(-50%,-50%);background:radial-gradient(circle,#e4aa3120 0%,transparent 68%);mix-blend-mode:multiply;transition:opacity .25s}
.site-header{position:sticky;top:0;box-shadow:0 8px 30px rgba(31,54,40,.045);backdrop-filter:blur(16px);transition:box-shadow .3s,background .3s}.site-header:hover{box-shadow:0 12px 38px rgba(31,54,40,.1)}
.official-logo img{transition:transform .45s cubic-bezier(.2,.8,.2,1),filter .35s}.official-logo:hover img{transform:scale(1.025);filter:drop-shadow(0 5px 10px rgba(30,70,45,.15))}
.icon-button,.start-button,.hero-search button,.newsletter button,.red-button,.pantry-demo button,.play{transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s,background-color .25s}.icon-button:hover{transform:translateY(-2px) scale(1.06)}.start-button:hover,.hero-search button:hover,.newsletter button:hover,.red-button:hover,.pantry-demo button:hover{transform:translateY(-3px);box-shadow:0 12px 24px rgba(33,62,43,.2)}.text-link svg,.red-button svg,.pantry-demo button svg,.chef-copy a svg{transition:transform .25s}.text-link:hover svg,.red-button:hover svg,.pantry-demo button:hover svg,.chef-copy a:hover svg{transform:translateX(6px)}
.hero-image{animation:hero-breathe 14s ease-in-out infinite alternate}.hero-search{transition:transform .3s,box-shadow .3s}.hero-search:focus-within{transform:translateY(-4px) scale(1.01);box-shadow:0 22px 55px rgba(0,0,0,.3)}
.category{position:relative;isolation:isolate;box-shadow:0 10px 30px rgba(50,45,34,.045);transition:transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .4s}.category::after{content:'';position:absolute;z-index:-1;inset:8%;border-radius:50%;background:#fff9;filter:blur(18px);opacity:0;transition:opacity .35s}.category:hover{transform:translateY(-12px) rotate(-2deg) scale(1.025);box-shadow:0 24px 48px rgba(50,45,34,.16)}.category:hover::after{opacity:.75}.category span{transition:transform .45s cubic-bezier(.2,.8,.2,1)}.category:hover span{transform:translateY(-5px) rotate(7deg) scale(1.12)}
.recipe-card{position:relative;border:1px solid rgba(40,60,44,.045);box-shadow:0 10px 34px rgba(43,57,45,.075);transition:transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .4s,border-color .4s}.recipe-card::after{content:'';position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:linear-gradient(115deg,transparent 30%,#ffffff80 48%,transparent 64%);transform:translateX(-120%);transition:transform .7s}.recipe-card:hover{transform:translateY(-12px);border-color:rgba(212,157,35,.22);box-shadow:0 28px 60px rgba(34,53,39,.16),0 4px 12px rgba(34,53,39,.07)}.recipe-card:hover::after{transform:translateX(120%)}.recipe-card:hover img{transform:scale(1.09) rotate(.35deg)}.save-button{transition:transform .25s,color .25s,box-shadow .25s}.save-button:hover{transform:scale(1.14);box-shadow:0 8px 20px rgba(0,0,0,.14)}
.cuisine{box-shadow:0 12px 36px rgba(28,46,34,.1);transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s}.cuisine:hover{transform:translateY(-12px);box-shadow:0 30px 65px rgba(28,46,34,.24)}.cuisine>div{transition:transform .4s}.cuisine:hover>div{transform:translateY(-8px)}
.season-story,.chef-section,.newsletter{box-shadow:0 22px 65px rgba(42,55,43,.09);transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .5s}.season-story:hover,.chef-section:hover,.newsletter:hover{box-shadow:0 32px 80px rgba(42,55,43,.14)}.play:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 14px 30px rgba(0,0,0,.2)}.chef-photo img{transition:transform 1s cubic-bezier(.2,.8,.2,1)}.chef-section:hover .chef-photo img{transform:scale(1.035)}
.review-cards article{transition:transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .4s}.review-cards article:hover{transform:rotate(0) translateY(-10px);box-shadow:0 24px 50px rgba(46,57,46,.15)}.review-cards article:last-child:hover{transform:rotate(0) translateY(10px)}
.reveal-ready{opacity:0;transform:translateY(34px);transition:opacity .75s ease var(--reveal-delay,0ms),transform .75s cubic-bezier(.2,.75,.2,1) var(--reveal-delay,0ms)}.reveal-ready.is-visible{opacity:1;transform:translateY(0)}
@keyframes hero-breathe{from{transform:scale(1.01)}to{transform:scale(1.065)}}
@media(max-width:720px){body::before{display:none}.recipe-card:hover,.category:hover,.cuisine:hover{transform:translateY(-6px)}.site-header{top:0}.season-story,.chef-section,.newsletter{box-shadow:0 14px 40px rgba(42,55,43,.08)}}
@media(prefers-reduced-motion:reduce){body::before{display:none}.reveal-ready{opacity:1;transform:none}.hero-image{animation:none}}

/* Connected prototype pages */
.mini-footer{padding:28px clamp(20px,5vw,76px);background:#1d3024;color:#ffffff;font-size:12px;display:flex;justify-content:space-between}.mini-footer a{color:#f0ca7a}
.page-hero{padding:78px 24px;text-align:center;background:linear-gradient(145deg,#214331,#3c654d);color:#fff;position:relative;overflow:hidden}.page-hero *{color:#fff}.page-hero::before,.page-hero::after{content:'';position:absolute;width:300px;height:300px;border-radius:50%;background:#e6b96218}.page-hero::before{left:-80px;top:-170px}.page-hero::after{right:-90px;bottom:-190px}.page-hero .kicker{justify-content:center;color:#f0ca7a}.page-hero h1{font:600 clamp(42px,5vw,68px)/1.04 'Playfair Display',serif;letter-spacing:-.045em;margin:0 auto 17px;max-width:850px;color:#fff!important}.page-hero>p:last-child{max-width:650px;margin:auto;color:#ffffff;line-height:1.7}.prototype-container{max-width:1180px;margin:auto;padding:78px 24px}.start-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.start-card{border-radius:16px;padding:28px 20px;min-height:190px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;box-shadow:0 8px 25px #263a2c0d;transition:.35s;color:#fff}.start-card:hover{transform:translateY(-9px) rotate(-1deg);box-shadow:0 24px 46px #263a2c24}.start-card>span{font-size:45px;margin:auto auto 14px}.start-card h3{font:600 21px 'Playfair Display';margin:0;color:#fff}.start-card p{font-size:11px;display:flex;align-items:center;gap:5px;margin:8px 0 0;color:#fff}
.search-layout{display:grid;grid-template-columns:245px 1fr;gap:35px}.filter-card{padding:25px;background:#f8f2e7;border-radius:12px;height:max-content;position:sticky;top:100px}.filter-card h3{font:600 23px 'Playfair Display';margin-top:0;color:var(--brand-green)}.filter-card label{display:block;font-size:11px;font-weight:700;margin-top:18px;color:#111111}.filter-card select{width:100%;margin-top:7px;padding:11px;border:1px solid var(--line);background:#fff;border-radius:5px;color:#111111}.search-box{display:flex;align-items:center;gap:10px;padding:7px 7px 7px 16px;border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 30px #263a2c10}.search-box input{border:0;outline:0;flex:1;padding:12px;color:#111111}.search-box button,.admin-toolbar>button{border:0;background:var(--brand-green);color:#fff;padding:14px 23px;border-radius:5px;font-weight:700}.result-line{display:flex;justify-content:space-between;padding:28px 0 18px;font-size:13px}.result-line span{color:#333333}.results-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.results-grid .card-image-wrap{height:260px}.collection-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:25px}.collection-card{height:390px;position:relative;border-radius:16px;overflow:hidden;box-shadow:0 16px 45px #263a2c18;transition:.4s}.collection-card img{width:100%;height:100%;object-fit:cover;transition:.6s}.collection-card::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#102018e8,transparent 65%)}.collection-card>div{position:absolute;z-index:1;left:30px;bottom:28px;color:#fff}.collection-card>div>span{font-size:34px}.collection-card p{color:#f0ca7a;text-transform:uppercase;letter-spacing:.13em;font-size:10px;font-weight:700}.collection-card h2{font:600 36px 'Playfair Display';margin:6px 0;color:#fff}.collection-card:hover{transform:translateY(-8px);box-shadow:0 28px 60px #263a2c30}.collection-card:hover img{transform:scale(1.07)}
.recipe-page{background:#fff}.recipe-breadcrumb{max-width:1180px;margin:auto;padding:25px 24px;color:#333333;font-size:11px}.recipe-lead{max-width:1180px;margin:auto;padding:20px 24px 45px;display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:center}.recipe-lead h1{font:600 clamp(48px,6vw,75px)/1 'Playfair Display';letter-spacing:-.05em;margin:10px 0 23px;color:var(--brand-green);}.recipe-lead>div>p:not(.kicker){color:#222222;line-height:1.75}.recipe-lead>img{width:100%;height:530px;object-fit:cover;border-radius:180px 12px 12px 12px;box-shadow:0 25px 60px #263a2c20}.recipe-rating{color:#946415;font-size:13px;margin:20px 0}.recipe-actions{display:flex;gap:8px;flex-wrap:wrap}.recipe-actions button{display:flex;align-items:center;gap:7px;border:1px solid var(--line);background:#fff;padding:10px 12px;border-radius:5px;font-size:11px;font-weight:700;color:#111111;}.recipe-actions svg{width:16px}.recipe-facts{max-width:960px;margin:0 auto 60px;display:grid;grid-template-columns:repeat(4,1fr);background:var(--cream);border-radius:10px;padding:25px}.recipe-facts>div{display:flex;justify-content:center;align-items:center;gap:12px;border-right:1px solid var(--line)}.recipe-facts>div:last-child{border:0}.recipe-facts span{display:flex;flex-direction:column;color:#444444;font-size:10px;text-transform:uppercase}.recipe-facts strong{color:#111111;font-size:15px;margin-top:4px}.recipe-body{max-width:1040px;margin:auto;display:grid;grid-template-columns:.85fr 1.15fr;gap:70px}.recipe-body h2{font:600 38px 'Playfair Display';margin-top:0;color:var(--brand-green);}.recipe-body>aside{background:#f8f2e7;padding:32px;border-radius:12px;height:max-content}.ingredient-head{display:flex;justify-content:space-between;align-items:center}.ingredient-head>div{display:flex;align-items:center;gap:9px}.ingredient-head button{width:30px;height:30px;border:0;background:#fff;border-radius:50%}.ingredient-head svg{width:14px}.ingredient{display:flex;gap:12px;padding:14px 0;border-bottom:1px solid #ded5c7;font-size:13px;color:#111111;}.ingredient.checked span{text-decoration:line-through;color:#777777}.wide-action,.big-green{width:100%;display:flex;justify-content:center;align-items:center;gap:8px;background:var(--brand-green);color:#fff;border:0;border-radius:5px;padding:14px;margin-top:20px;font-weight:700}.cook-step{display:grid;grid-template-columns:45px 1fr;gap:15px;margin-bottom:27px}.cook-step>span{width:40px;height:40px;border-radius:50%;background:#e6b962;display:grid;place-items:center;font:600 19px 'Playfair Display';color:#111111;}.cook-step h3{margin:4px 0 7px;font:600 20px 'Playfair Display';color:var(--brand-green);}.cook-step p{margin:0;color:#222222;line-height:1.65}.chef-tip{display:flex;align-items:center;gap:18px;background:#e1eadf;padding:17px;border-radius:10px}.chef-tip img{width:70px;height:70px;border-radius:50%;object-fit:cover}.chef-tip p{color:var(--brand-green);font-size:10px;text-transform:uppercase;font-weight:800;letter-spacing:.1em;margin:0 0 5px}.chef-tip strong{font:italic 600 15px 'Playfair Display';color:var(--brand-green);}
.pantry-page{display:grid;grid-template-columns:1fr .8fr;gap:35px;align-items:start}.pantry-builder{background:#f8f2e7;border-radius:14px;padding:38px}.pantry-builder h2,.match-panel h2{font:600 32px 'Playfair Display';margin-top:0;color:var(--brand-green);}.ingredient-input{display:flex;background:#fff;border:1px solid var(--line);border-radius:6px;padding:5px}.ingredient-input input{border:0;outline:0;flex:1;padding:12px;color:#111111;}.ingredient-input button{display:flex;align-items:center;gap:5px;border:0;background:#e6b962;padding:11px;border-radius:4px;font-weight:700;color:#111111;}.ingredient-chips{display:flex;flex-wrap:wrap;gap:8px;min-height:80px;padding:18px 0}.ingredient-chips button{border:0;background:#dce8de;color:var(--brand-green);padding:8px 12px;border-radius:99px}.match-panel{background:#fff;border-radius:14px;box-shadow:0 18px 55px #263a2c18;padding:18px;position:relative}.match-panel img{width:100%;height:270px;object-fit:cover;border-radius:9px}.match-score{position:absolute;top:32px;left:32px;background:#fff;color:var(--brand-green);border-radius:99px;padding:8px 11px;font-weight:800;font-size:11px}.match-panel h2{margin:18px 0 7px;color:var(--brand-green);}.match-panel p{color:#222222;}.match-panel a{display:flex;align-items:center;color:var(--brand-green);font-weight:700}.match-panel svg{width:17px}.planner-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.planner-toolbar button{border:1px solid var(--line);background:#fff;padding:11px;border-radius:5px;color:#111111;}.planner-toolbar a{display:flex;align-items:center;gap:8px;background:var(--brand-green);color:#fff;padding:12px 15px;border-radius:5px;font-weight:700;font-size:12px}.week-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:10px}.week-grid article{background:#f8f2e7;border-radius:9px;padding:14px;min-height:260px}.week-grid article>p{margin:0;font-weight:800;font-size:12px;color:var(--brand-green);}.week-grid article>span{color:#444444;font-size:10px}.week-grid article>div{margin-top:20px}.week-grid img{width:100%;height:100px;object-fit:cover;border-radius:5px}.week-grid select{width:100%;border:0;background:transparent;margin-top:8px;font-weight:700;font-size:11px;color:#111111;}.week-grid article button{width:100%;min-height:130px;border:1px dashed #b4b8ad;background:transparent;color:#333333;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px}.shopping-page{max-width:760px}.shopping-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:35px}.shopping-top button{display:flex;gap:7px;align-items:center;border:1px solid var(--line);background:#fff;padding:10px;border-radius:5px;color:#111111;}.progress{width:250px;height:6px;background:#e7e4dc;border-radius:10px;margin-top:8px;overflow:hidden}.progress i{height:100%;display:block;background:#e6b962;transition:.3s}.aisle{background:#fff;border:1px solid var(--line);border-radius:10px;margin-bottom:16px;padding:20px 25px}.aisle h2{font:600 22px 'Playfair Display';margin-top:0;color:var(--brand-green);}.aisle label{display:grid;grid-template-columns:25px 1fr auto;padding:13px 0;border-top:1px solid #eee;color:#111111;}.aisle label.checked span{text-decoration:line-through;color:#777777}.school-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.school-grid article{padding:30px;background:#f8f2e7;border-radius:14px;transition:.35s;box-shadow:0 8px 25px #263a2c0a}.school-grid article:hover{transform:translateY(-8px);box-shadow:0 24px 46px #263a2c1f}.school-grid article>span{font-size:45px}.school-grid article>p{color:var(--red);font-size:10px;text-transform:uppercase;font-weight:800;letter-spacing:.1em}.school-grid h2{font:600 27px 'Playfair Display';margin:10px 0;color:var(--brand-green);}.school-grid article>div{color:#222222;line-height:1.6}.school-grid a{display:flex;align-items:center;gap:5px;margin-top:25px;color:var(--brand-green);font-weight:700;font-size:12px}.about-hero{min-height:650px;background:#214331;color:#fff;display:grid;grid-template-columns:1fr 1fr;align-items:center}.about-hero *{color:#fff;}.about-hero>div{padding:70px max(30px,calc((100vw - 1160px)/2)) 70px max(30px,calc((100vw - 1160px)/2));padding-right:60px}.about-hero h1{font:600 clamp(48px,6vw,80px)/1 'Playfair Display';letter-spacing:-.05em;margin:0 0 25px;color:#fff!important;}.about-hero p:last-child{color:#ffffff;line-height:1.7}.about-hero img{width:100%;height:650px;object-fit:cover}.story{max-width:850px;text-align:center}.story .kicker{justify-content:center}.story h2{font:600 48px 'Playfair Display';margin:10px 0;color:var(--brand-green);}.story>p:not(.kicker){color:#222222;font-size:17px;line-height:1.8}.promise-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:40px}.promise-grid>div{padding:20px;background:#f8f2e7;border-radius:8px;display:flex;align-items:center;gap:10px;color:#111111;}.promise-grid svg{color:var(--brand-green)}
.admin-shell{min-height:100vh;background:#f5f6f2;display:grid;grid-template-columns:230px 1fr;color:#111111}.admin-shell>aside{background:#183629;color:#ffffff;padding:24px 15px;position:fixed;inset:0 auto 0 0;width:230px}.admin-shell>aside *{color:#ffffff;}.admin-brand{display:flex!important;font:600 22px 'Playfair Display';align-items:center;gap:9px;margin-bottom:35px;color:#fff!important}.admin-brand:first-letter{background:#e2aa32}.admin-shell aside>a{display:flex;align-items:center;gap:12px;padding:12px 13px;border-radius:6px;color:#ffffff;font-size:13px;margin-bottom:5px}.admin-shell aside>a:hover{background:#ffffff12;color:#fff}.admin-shell>main{grid-column:2;padding:0 35px 60px}.admin-shell main>header{display:flex;justify-content:space-between;align-items:center;padding:26px 0}.admin-shell header small{color:#444444}.admin-shell header h1{font:600 32px 'Playfair Display';margin:4px 0;color:var(--brand-green);}.admin-user{width:40px;height:40px;border-radius:50%;background:#e6b962;display:grid;place-items:center;font-weight:800;color:#111111;}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.metric-grid article{background:#fff;border-radius:9px;padding:23px;box-shadow:0 7px 20px #263a2c0a}.metric-grid span{color:#444444;font-size:11px}.metric-grid strong{display:block;font:600 34px 'Playfair Display';margin:12px 0;color:var(--brand-green);}.metric-grid small{color:var(--brand-green)}.admin-columns{display:grid;grid-template-columns:2fr 1fr;gap:17px;margin-top:18px}.admin-panel{background:#fff;border-radius:9px;padding:24px}.panel-title{display:flex;justify-content:space-between;align-items:center}.panel-title h2{font:600 20px 'Playfair Display';color:var(--brand-green);}.panel-title span{font-size:10px;color:#444444}.fake-chart{height:190px;display:flex;align-items:end;gap:10px;padding-top:30px}.fake-chart i{flex:1;background:linear-gradient(#e6b962,#f0d797);border-radius:5px 5px 0 0}.admin-panel button{width:100%;display:flex;align-items:center;gap:8px;border:0;border-bottom:1px solid #eee;background:#fff;padding:13px 0;color:#111111;}.admin-toolbar{display:flex;justify-content:space-between;margin-bottom:18px}.admin-toolbar>div{display:flex;align-items:center;background:#fff;padding:0 12px;border-radius:6px;width:360px}.admin-toolbar input{border:0;outline:0;padding:13px;width:100%;color:#111111;}.admin-toolbar>button{display:flex;align-items:center;gap:7px;color:#fff;}.admin-table{background:#fff;border-radius:9px;overflow:hidden}.admin-row{display:grid;grid-template-columns:2fr 1fr 1fr .6fr;align-items:center;padding:15px 20px;border-top:1px solid #edf0eb;font-size:12px;color:#111111;}.admin-row.head{background:#f0f2ed;color:#333333;text-transform:uppercase;font-size:9px;font-weight:800;letter-spacing:.08em}.admin-recipe{display:flex;align-items:center;gap:12px}.admin-recipe img{width:52px;height:42px;object-fit:cover;border-radius:4px}.admin-row>span:nth-child(2){display:flex;align-items:center;gap:7px}.admin-row i{width:7px;height:7px;border-radius:50%}.admin-row i.published{background:#55a365}.admin-row i.draft{background:#d59e30}.not-found{text-align:center;padding:120px 20px}.not-found>span{font:600 100px 'Playfair Display';color:#e6b962}.not-found h1{font:600 42px 'Playfair Display';color:var(--brand-green);}.not-found p{color:#222222}.not-found a{display:inline-block;background:var(--brand-green);color:#fff;padding:14px 20px;border-radius:5px}
@media(max-width:1000px){.start-grid{grid-template-columns:repeat(3,1fr)}.week-grid{grid-template-columns:repeat(4,1fr)}.metric-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.page-hero{padding:58px 20px}.prototype-container{padding:55px 20px}.start-grid,.school-grid{grid-template-columns:repeat(2,1fr)}.search-layout,.pantry-page,.recipe-lead,.recipe-body,.about-hero{grid-template-columns:1fr}.filter-card{position:static}.results-grid,.collection-grid{grid-template-columns:1fr}.recipe-lead{gap:30px}.recipe-lead>img{height:420px;border-radius:100px 8px 8px}.recipe-facts{grid-template-columns:repeat(2,1fr);margin:0 20px 45px;gap:18px}.recipe-facts>div{border:0}.recipe-body{padding:0 20px;gap:35px}.week-grid{display:flex;overflow-x:auto}.week-grid article{min-width:175px}.planner-toolbar{gap:10px;flex-wrap:wrap}.about-hero img{height:500px}.about-hero>div{padding:60px 25px}.promise-grid{grid-template-columns:1fr}.admin-shell{display:block}.admin-shell>aside{position:static;width:auto;display:flex;overflow-x:auto;padding:12px}.admin-shell aside>a{min-width:max-content;margin:0}.admin-brand{margin:0 20px 0 0!important}.admin-shell>main{padding:0 16px 40px}.metric-grid,.admin-columns{grid-template-columns:1fr}.admin-row{grid-template-columns:1.6fr .8fr}.admin-row>span:nth-child(3),.admin-row>span:nth-child(4){display:none}.admin-toolbar>div{width:auto;flex:1}.admin-toolbar{gap:10px}.mini-footer{flex-direction:column;gap:8px}}

/* Premium art direction v2 */
:root{--gold:#dda91f;--forest:#073f2a;--milk:#fbf8f0;--shadow-soft:0 24px 70px rgba(15,55,36,.12);--shadow-hover:0 34px 90px rgba(11,48,31,.22)}
body{background:var(--milk)}

/* Modern kitchen-inspired navigation */
header.site-header{padding-inline:clamp(20px,4vw,64px);gap:24px;background:rgba(255,252,244,.92);border-bottom:1px solid rgba(13,65,43,.1)}
.site-header::after{content:'';position:absolute;left:clamp(20px,4vw,64px);right:clamp(20px,4vw,64px);bottom:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:.45}
.site-header .official-logo{width:210px}
.site-header .official-logo img{mix-blend-mode:multiply;filter:saturate(1.05) contrast(1.03)}
.site-header .nav{gap:3px;padding:5px;background:rgba(17,72,48,.055);border:1px solid rgba(17,72,48,.07);border-radius:17px;min-width:0}
.nav a{display:flex;align-items:center;gap:7px;padding:8px 10px;border:0;border-radius:12px;color:#294537;font-size:11px;white-space:nowrap;transition:background .25s,color .25s,transform .25s,box-shadow .25s}
.site-header .nav .mobile-only{display:none}
.nav a:hover{color:#fff;background:var(--forest);border-color:transparent;box-shadow:0 8px 20px rgba(7,63,42,.18);transform:translateY(-1px)}
.nav-icon{width:27px;height:27px;display:grid;place-items:center;border-radius:8px;background:#fff;color:var(--forest);box-shadow:0 3px 10px rgba(20,50,33,.08);transition:background .25s,color .25s,transform .25s}
.nav a:hover .nav-icon{background:var(--gold);color:#173525;transform:rotate(-4deg) scale(1.04)}
.header-actions{gap:9px}
.header-actions .icon-button{width:43px;height:43px;border:1px solid rgba(17,72,48,.1);border-radius:13px;background:#fff;color:var(--forest);transition:.25s}
.header-actions .icon-button:hover{background:#e9efe8;border-color:#c8d6ca;transform:translateY(-2px)}
.header-actions .start-button{display:flex;align-items:center;gap:8px;padding:13px 17px;background:linear-gradient(135deg,#efba28,#d99b08);color:#163624;border:1px solid rgba(148,99,0,.08);box-shadow:0 10px 24px rgba(200,142,8,.2);transition:.25s}
.header-actions .start-button:hover{background:linear-gradient(135deg,#f6c642,#e2a511);transform:translateY(-2px);box-shadow:0 13px 28px rgba(200,142,8,.28)}
.start-button svg:last-child{transition:transform .25s}.start-button:hover svg:last-child{transform:translateX(3px)}
@media(max-width:1180px){header.site-header{gap:10px;padding-inline:16px}.site-header .official-logo{width:164px}.nav a{padding:7px 8px;gap:5px}.nav-icon{width:25px;height:25px}.header-actions .start-button{padding:11px}.start-button svg:last-child{display:none}}
@media(max-width:720px){
  .site-header .official-logo{width:154px}
  .site-header .nav{top:66px;left:10px;right:10px;padding:10px;gap:6px;border-radius:18px;background:#fffaf0;border:1px solid #ded6c7;box-shadow:0 20px 45px rgba(12,49,33,.22);backdrop-filter:none}
  .site-header .nav a{padding:9px 10px;color:#173f2b;background:#fff;border:1px solid rgba(17,72,48,.08);font-size:14px;font-weight:700;letter-spacing:0;box-shadow:0 4px 12px rgba(20,50,33,.05)}
  .site-header .nav a:hover{color:#fff;background:var(--forest)}
  .site-header .nav .mobile-only{display:flex}
  .nav-icon{width:36px;height:36px;flex:none}
  .header-actions .icon-button{width:40px;height:40px}
  .header-actions .start-button{display:none}
  .site-header::after{left:18px;right:18px}
}
.announcement{background:#062f20;color:#e8dfca;text-transform:uppercase;letter-spacing:.12em;font-size:9px}.site-header{height:88px;background:rgba(251,248,240,.9);border-bottom-color:rgba(7,63,42,.09)}.nav{gap:34px}.nav a{font-size:12px;letter-spacing:.025em}.start-button{background:var(--gold);color:#173525;padding:12px 20px}
.hero{min-height:calc(100vh - 122px);border-radius:0 0 48px 48px;margin:0 18px}.hero::after{content:'SCROLL TO DISCOVER';position:absolute;z-index:3;right:36px;bottom:36px;color:#fff;font-size:8px;letter-spacing:.23em;writing-mode:vertical-rl;opacity:.7}.hero-shade{background:linear-gradient(90deg,rgba(3,31,21,.92),rgba(3,31,21,.61) 40%,rgba(3,31,21,.06) 74%),linear-gradient(0deg,rgba(3,31,21,.35),transparent 40%)}.hero-copy{margin-left:clamp(25px,8vw,145px);max-width:750px}.hero h1{font-size:clamp(60px,7vw,104px);line-height:.88;max-width:720px}.hero h1 em{color:#efbe38}.hero-copy>p:not(.kicker){font-size:17px;max-width:520px}.hero-search{border-radius:99px;padding:8px 8px 8px 21px;max-width:640px}.hero-search button{border-radius:99px;padding:15px 25px;background:var(--gold);color:#173525}.popular a{border:1px solid #ffffff35;text-decoration:none;border-radius:99px;padding:5px 10px}.ticker{margin-top:18px;background:transparent;border-bottom:1px solid #ddcfb9;color:#7d6f57;padding:20px 0}
.categories{max-width:1320px;padding-top:120px}.section-heading.centered{max-width:780px}.section-heading h2,.cook-tonight h2,.newsletter h2{font-size:clamp(42px,5vw,68px);line-height:1}.section-heading.centered>p:last-child{font-size:16px}.category-grid{grid-template-columns:repeat(12,1fr);gap:18px;align-items:end}.category{grid-column:span 2;aspect-ratio:auto;height:360px;border-radius:120px 120px 14px 14px;padding:14px;align-items:flex-start;justify-content:flex-end;overflow:hidden;background:#173525!important;color:#fff;box-shadow:0 18px 45px rgba(11,48,31,.14)}.category:nth-child(even){height:315px}.category img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .8s cubic-bezier(.2,.8,.2,1)}.category::before{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(3,35,23,.92),transparent 68%);z-index:-1}.category::after{display:none}.category span{font-size:9px;filter:none;text-transform:uppercase;letter-spacing:.12em;color:#f1c54a}.category strong{font-size:22px;margin-top:0}.category i{width:34px;height:34px;border-radius:50%;background:#fff;color:var(--forest);display:grid;place-items:center;position:absolute;right:14px;bottom:16px}.category i svg{width:15px}.category:hover{transform:translateY(-15px);box-shadow:var(--shadow-hover)}.category:hover img{transform:scale(1.1)}.category:hover span{transform:none}
.latest{background:linear-gradient(145deg,#f1eadc,#f9f5eb);padding-top:120px;padding-bottom:130px}.latest .recipe-grid{grid-template-columns:1.35fr repeat(3,1fr);gap:18px}.recipe-card{border-radius:18px;background:#fffefb;border:0;box-shadow:0 15px 45px rgba(24,53,36,.09)}.card-image-wrap{height:300px}.latest .recipe-card:first-child .card-image-wrap{height:380px}.latest .recipe-card:first-child{transform:translateY(-22px)}.recipe-card:hover{transform:translateY(-14px);box-shadow:var(--shadow-hover)}.latest .recipe-card:first-child:hover{transform:translateY(-34px)}.card-copy{padding:24px}.card-copy h3{font-size:25px}.badge{background:var(--gold);color:#173525}.save-button{width:44px;height:44px}
.season-story{margin:50px 18px;border-radius:34px;overflow:hidden;min-height:720px;background:#fff;box-shadow:var(--shadow-soft)}.season-image{min-height:720px}.season-copy{background:#fffef9}.season-copy h2{font-size:clamp(45px,5vw,72px)}.script{font-size:28px;color:#a46715}.red-button{background:var(--forest);border-radius:99px;padding:16px 24px}.mini-stats strong{font-size:32px;color:var(--forest)}
.world{padding-top:120px;padding-bottom:130px}.cuisine-grid{gap:22px}.cuisine{height:500px;border-radius:180px 180px 18px 18px;box-shadow:0 20px 55px rgba(11,48,31,.15)}.cuisine h3{font-size:34px}.more-recipes{background:var(--forest);color:#fff;padding-top:120px;padding-bottom:140px}.more-recipes .kicker.red{color:#eab834}.more-recipes .recipe-card{color:var(--ink)}
.cook-tonight{min-height:600px;margin:0 18px;border-radius:34px;background:radial-gradient(circle at 85% 25%,#3d7152,#073f2a 52%);padding-top:100px;padding-bottom:100px}.cook-tonight h2{font-size:clamp(48px,6vw,78px)}.pantry-demo{border-radius:99px;padding:8px 8px 8px 20px;box-shadow:0 18px 45px rgba(0,0,0,.18)}.pantry-demo button{border-radius:99px;background:var(--gold)}.ingredient-scatter span{background:#ffffff0f;border:1px solid #ffffff17;backdrop-filter:blur(5px);box-shadow:inset 0 0 30px #ffffff08}
.chef-section{border-radius:30px;overflow:hidden;min-height:720px;box-shadow:var(--shadow-soft)}.chef-copy{padding:90px}.chef-copy blockquote{font-size:clamp(36px,4vw,58px);line-height:1.08}.chef-photo>span{border-radius:99px;padding:14px 18px}.love{margin:80px 18px;border-radius:30px;background:#eadfbf;padding-top:120px;padding-bottom:120px}.review-cards article{border-radius:18px;padding:38px;box-shadow:0 20px 60px rgba(25,49,34,.12)}.newsletter{border-radius:28px;background:linear-gradient(135deg,#f1d5bd,#eadfbf);box-shadow:var(--shadow-soft);padding:75px}.newsletter form{border-radius:99px;padding:8px}.newsletter button{border-radius:99px;background:var(--forest)}
.page-hero{margin:0 18px;border-radius:0 0 38px 38px;padding:110px 24px;background:radial-gradient(circle at 80% 10%,#49755a,#073f2a 55%)}.page-hero h1{font-size:clamp(54px,7vw,92px);line-height:.94}.prototype-container{padding-top:100px;padding-bottom:100px}.start-grid{grid-template-columns:repeat(12,1fr);gap:18px}.start-card{grid-column:span 4;height:470px;padding:0;border-radius:180px 180px 20px 20px;position:relative;overflow:hidden;color:#fff;box-shadow:var(--shadow-soft)}.start-card:nth-child(4),.start-card:nth-child(5),.start-card:nth-child(6){grid-column:span 4;height:390px}.start-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:.7s}.start-card::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(2,34,22,.92),transparent 65%)}.start-card>div{position:relative;z-index:2;padding:30px;width:100%;margin-top:auto}.start-card>div>span{font-size:10px;color:#f1bd37}.start-card h3{font-size:34px}.start-card p{justify-content:space-between}.start-card:hover img{transform:scale(1.1)}
.filter-card,.pantry-builder,.recipe-body>aside,.week-grid article,.school-grid article,.aisle{border-radius:18px}.match-panel,.collection-card{border-radius:22px}.school-grid article{background:#fff;box-shadow:var(--shadow-soft);padding:38px}.admin-shell{background:#f1f3ee}.metric-grid article,.admin-panel,.admin-table{border-radius:14px;box-shadow:0 12px 35px rgba(27,57,39,.07)}
@media(max-width:1000px){.category-grid{grid-template-columns:repeat(6,1fr)}.category{grid-column:span 2}.latest .recipe-grid{grid-template-columns:repeat(2,1fr)}.start-card{grid-column:span 6}.start-card:nth-child(4),.start-card:nth-child(5),.start-card:nth-child(6){grid-column:span 6}}
@media(max-width:720px){.site-header{height:72px}.hero,.page-hero,.cook-tonight,.love{margin-left:8px;margin-right:8px;border-radius:0 0 24px 24px}.hero{min-height:720px}.hero h1{font-size:58px}.hero::after{display:none}.category-grid{grid-template-columns:repeat(2,1fr)}.category{grid-column:span 1;height:300px!important;border-radius:90px 90px 12px 12px}.category strong{font-size:18px}.latest .recipe-grid{grid-template-columns:1fr}.latest .recipe-card:first-child{transform:none}.season-story{margin:25px 8px;border-radius:22px}.season-image{min-height:500px}.cuisine{height:350px}.cook-tonight{border-radius:24px}.chef-section{border-radius:22px}.chef-copy{padding:45px 25px}.newsletter{border-radius:22px;padding:40px 25px}.start-grid{grid-template-columns:1fr}.start-card,.start-card:nth-child(n){grid-column:auto;height:390px}.page-hero{padding:75px 20px}.page-hero h1{font-size:52px}}

/* Scroll-connected ingredient story */
.journey-line path{fill:none;stroke:#c99a24;stroke-width:.18;stroke-dasharray:.025 .018;stroke-linecap:round;stroke-dashoffset:calc(1 - var(--journey-progress,0))}

.dish-finale{height:760px;margin:90px 18px 18px;border-radius:36px;position:relative;overflow:hidden;background:radial-gradient(circle at 50% 57%,#315e44 0%,#0b432e 32%,#052d20 70%);color:#fff;display:grid;place-items:center;text-align:center}.dish-finale::before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle,#f0c34b44 1px,transparent 1px);background-size:28px 28px;mask-image:linear-gradient(transparent,#000 40%,#000);opacity:.35}.finale-copy{position:absolute;top:70px;z-index:1}.finale-copy p{text-transform:uppercase;letter-spacing:.22em;color:#edc453;font-size:9px;font-weight:800}.finale-copy h2{font:italic 600 clamp(44px,6vw,76px)/.98 'Playfair Display',serif;margin:14px 0}.finale-copy span{color:#c6d8cb;font-size:12px}.finale-target{position:absolute;left:50%;top:62%;width:min(460px,78vw);aspect-ratio:1;transform:translate(-50%,-50%)}.finale-target i{position:absolute;inset:0;border:1px solid rgba(238,193,72,.22);border-radius:50%;animation:finale-ring 4s ease-in-out infinite}.finale-target i:nth-child(2){inset:10%;animation-delay:-1.3s}.finale-target i:nth-child(3){inset:20%;animation-delay:-2.6s}
@keyframes finale-ring{0%,100%{transform:scale(.96);opacity:.3}50%{transform:scale(1.04);opacity:.8}}
.dish-finale{margin-top:0}

/* Data-driven recipe reference content */
.recipe-facts-wide{max-width:1180px;grid-template-columns:repeat(6,1fr)}
.recipe-facts-wide>div:nth-last-child(2){border-right:1px solid var(--line)}
.recipe-reference{padding-top:90px;padding-bottom:30px}
.recipe-info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:34px}
.recipe-info-grid article{padding:28px;background:#fff;border:1px solid #eee6d8;border-radius:18px;box-shadow:0 12px 35px rgba(27,57,39,.07)}
.recipe-info-grid h3{margin:0 0 16px;font:600 24px 'Playfair Display',serif;color:var(--brand-green)}
.recipe-info-grid p,.recipe-info-grid li{color:#222222;font-size:13px;line-height:1.7}
.recipe-info-grid ul{margin:0;padding-left:18px}
.recipe-info-grid dl{margin:0}.recipe-info-grid dl div{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--line)}
.recipe-info-grid dt{color:#333333}.recipe-info-grid dd{margin:0;font-weight:800;color:var(--brand-green)}
.recipe-faq{max-width:850px;margin:65px auto 30px}.recipe-faq h2{font:600 38px 'Playfair Display',serif;color:var(--brand-green)}
.recipe-faq details{padding:18px 0;border-bottom:1px solid var(--line)}.recipe-faq summary{cursor:pointer;font-weight:750;color:var(--brand-green)}.recipe-faq details p{color:#222222;line-height:1.7}
.recipe-collections{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin:35px 0}.recipe-collections a{padding:9px 14px;border-radius:99px;background:#e7eee6;color:var(--brand-green);font-size:11px;font-weight:750}
.recipe-not-found{min-height:70vh;display:grid;place-content:center;text-align:center;padding:60px 20px}.recipe-not-found>span{font:600 90px 'Playfair Display';color:var(--gold)}.recipe-not-found h1{font:600 44px 'Playfair Display';margin:0;color:var(--brand-green);}.recipe-not-found p{color:#222222}.recipe-not-found>div{display:flex;justify-content:center;align-items:center;gap:18px}.recipe-not-found .big-green{width:auto;margin:0}
@media(max-width:900px){.recipe-facts-wide{grid-template-columns:repeat(3,1fr)}.recipe-facts-wide>div{border-right:0!important}.recipe-info-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.recipe-facts-wide{grid-template-columns:repeat(2,1fr)}.recipe-info-grid{grid-template-columns:1fr}.recipe-info-grid article{padding:22px}.recipe-reference{padding-top:55px}.recipe-not-found>div{flex-direction:column}}
@media print{.announcement,.site-header,.recipe-actions,.wide-action,.recipe-reference,.recipe-page>.prototype-container,.mini-footer{display:none!important}.recipe-lead{grid-template-columns:1fr 280px}.recipe-body{break-before:avoid}.recipe-page{color:#000}}
.catalogue-section{max-width:1320px}.catalogue-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:45px}.catalogue-heading h2{margin:8px 0 0;font:600 clamp(40px,5vw,64px)/1 'Playfair Display',serif;color:var(--brand-green);}.catalogue-heading>div:last-child{display:flex;flex-direction:column;align-items:flex-end;gap:10px;color:#333333}.catalogue-heading a{padding:11px 16px;border-radius:99px;background:var(--brand-green);color:#fff;font-size:11px;font-weight:750}.catalogue-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.catalogue-grid .card-image-wrap{height:290px}
.search-empty{grid-column:1/-1;padding:70px 25px;text-align:center;border:1px dashed #cfc7b8;border-radius:18px;background:#fff}.search-empty h2{margin:0 0 10px;font:600 34px 'Playfair Display',serif;color:var(--brand-green);}.search-empty p{color:#222222}.search-empty button{margin-top:12px;padding:12px 18px;border:0;border-radius:99px;background:var(--brand-green);color:#fff;font-weight:750}
.recipe-actions button.action-success{border-color:#8bb69a;background:#e4f1e7;color:var(--brand-green)}
@media(max-width:900px){.catalogue-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.catalogue-heading{align-items:start;flex-direction:column}.catalogue-heading>div:last-child{align-items:flex-start}.catalogue-grid{grid-template-columns:1fr}}
@media(max-width:720px){.journey-line{opacity:.14}.journey-dish{width:82vw;height:42vh}.dish-finale{height:650px;margin:55px 8px 8px;border-radius:24px}.finale-copy{top:48px;padding:0 20px}.finale-copy h2{font-size:47px}.finale-target{top:64%}}
/* Blog page styling */
.blog-page {
  max-width: 1240px;
  padding: 78px 28px 64px;
}

.blog-page .section-heading.centered {
  max-width: 780px;
}

.blog-feature {
  display: grid;
  grid-template-columns: minmax(440px, 1fr) minmax(420px, 1fr);
  align-items: center;
  gap: clamp(26px, 4vw, 48px);
  background: var(--paper);
  border: 1px solid rgba(36,54,42,.08);
  border-radius: 28px;
  box-shadow: 0 22px 70px rgba(36,54,42,.10);
  padding: clamp(30px, 5vw, 54px);
  margin: 0 auto 34px;
  overflow: hidden;
}

.blog-feature-copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
}

.blog-feature-copy h2 {
  margin: 0;
  font: 600 clamp(38px, 4vw, 56px)/1.08 'Playfair Display', serif;
  color: var(--brand-green, #073f2a);
  letter-spacing: -.035em;
}

.blog-feature-copy p {
  margin: 6px 0 14px;
  color: #222222;
  font-size: 16px;
  line-height: 1.7;
}

.blog-feature-image {
  min-width: 0;
  position: relative;
}

.blog-feature-image::before {
  content: '';
  position: absolute;
  inset: -12px;
  border-radius: 30px;
  border: 1px solid rgba(214,157,35,.4);
  transform: translate(14px, -10px);
}

.blog-feature-image img {
  width: 100%;
  height: min(440px, 50vw);
  max-height: 460px;
  object-fit: cover;
  border-radius: 22px 22px 22px 80px;
  border: 8px solid var(--paper);
  box-shadow: 0 22px 54px rgba(36,54,42,.16);
}

.blog-category {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  padding: 7px 12px;
  border-radius: 99px;
  background: #e9eee7;
  color: var(--brand-green, #073f2a);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.blog-meta {
  display: flex;
  align-items: center;
  gap: 18px;
  flex-wrap: wrap;
  color: #333333;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.blog-meta span + span {
  border-left: 1px solid var(--line);
  padding-left: 18px;
}

.button,
.blog-feature-copy .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 44px;
  padding: 13px 20px;
  border-radius: 99px;
  background: var(--brand-green, #073f2a);
  color: #fff;
  font-weight: 800;
  font-size: 12px;
  letter-spacing: .12em;
  text-transform: uppercase;
  box-shadow: 0 12px 30px rgba(36,54,42,.14);
  transition: transform .25s ease, box-shadow .25s ease, background .25s ease;
}

.button:hover,
.blog-feature-copy .button:hover {
  background: #125539;
  color: #fff;
  transform: translateY(-3px);
  box-shadow: 0 16px 34px rgba(36,54,42,.22);
}

.blog-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
  align-items: stretch;
  margin-top: 34px;
}

.blog-card {
  background: #fffefb;
  padding: 30px 28px;
  border-radius: 18px;
  border: 1px solid rgba(36,54,42,.08);
  box-shadow: 0 12px 35px rgba(36,54,42,.08);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  min-height: 270px;
  transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}

.blog-card:nth-child(2) {
  transform: translateY(14px);
}

.blog-card:nth-child(5) {
  transform: translateY(-14px);
}

.blog-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 24px 50px rgba(36,54,42,.15);
  border-color: rgba(212,157,35,.45);
}

.blog-card h3 {
  margin: 14px 0 12px;
  font: 600 30px/1.15 'Playfair Display', serif;
  color: var(--brand-green, #073f2a);
  letter-spacing: -.035em;
}

.blog-card p {
  margin: 0 0 18px;
  color: #222222;
  font-size: 14px;
  line-height: 1.68;
}

.blog-card a {
  margin-top: auto;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--brand-green, #073f2a);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.blog-card a svg {
  width: 16px;
  height: 16px;
  transition: transform .25s ease;
}

.blog-card a:hover svg {
  transform: translateX(5px);
}

.blog-card.emphasized {
  background: linear-gradient(135deg, var(--brand-green, #073f2a), #244f35);
  color: #fff;
}

.blog-card.emphasized * {
  color: #fff!important;
}

.blog-card.emphasized .blog-category {
  background: rgba(255,255,255,.12);
  color: #f7d27b!important;
}

.blog-card.emphasized {
  border-color: rgba(255,255,255,.24);
}

.blog-card.emphasized a {
  border-bottom: 1px solid rgba(255,255,255,.55);
}

.blog-newsletter {
  display: grid;
  grid-template-columns: minmax(400px, 1fr) minmax(380px, 1fr);
  align-items: center;
  gap: 30px;
  margin-top: 40px;
  padding: clamp(28px, 4vw, 50px);
  background: linear-gradient(145deg, var(--cream), #f7e8d8);
  border-radius: 24px;
  border: 1px solid rgba(36,54,42,.08);
  box-shadow: 0 16px 50px rgba(36,54,42,.08);
}

.blog-newsletter h2 {
  margin: 0 0 14px;
  font: 600 clamp(36px, 4vw, 50px)/1.08 'Playfair Display', serif;
  color: var(--brand-green, #073f2a);
}

.blog-newsletter p:not(.kicker) {
  color: #222222;
  font-size: 15px;
  line-height: 1.7;
}

.blog-newsletter > div .kicker {
  justify-content: flex-start;
}

.blog-newsletter form {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  padding: 10px;
  background: var(--paper);
  border-radius: 99px;
  border: 1px solid var(--line);
  box-shadow: 0 10px 30px rgba(36,54,42,.08);
}

.blog-newsletter input {
  flex: 1 1 240px;
  min-height: 44px;
  border: 0;
  background: transparent;
  padding: 0 14px;
  outline: none;
  color: #111111;
}

.blog-newsletter .consent-row {
  flex-basis: 100%;
  margin-left: 15px;
  font-size: 11px;
  color: #333333;
}

.blog-newsletter .consent-row input {
  width: 16px;
  height: 16px;
  min-height: unset;
  margin-right: 8px;
}

.blog-newsletter button {
  min-height: 44px;
  padding: 11px 22px;
  border: 0;
  border-radius: 99px;
  background: var(--brand-green, #073f2a);
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

@media (max-width: 980px) {
  .blog-feature {
    grid-template-columns: 1fr;
  }

  .blog-feature-image img {
    height: 420px;
    max-height: unset;
  }

  .blog-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .blog-newsletter {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 680px) {
  .blog-page {
    padding: 50px 20px 44px;
  }

  .blog-feature {
    padding: 22px;
    border-radius: 20px;
  }

  .blog-feature-copy h2 {
    font-size: 38px;
  }

  .blog-feature-image img {
    height: 280px;
    border-radius: 20px;
  }

  .blog-grid {
    grid-template-columns: 1fr;
  }

  .blog-card:nth-child(2),
  .blog-card:nth-child(5) {
    transform: none;
  }

  .blog-newsletter {
    padding: 24px;
  }

  .blog-newsletter form {
    border-radius: 18px;
    align-items: stretch;
  }

  .blog-newsletter .consent-row {
    flex-basis: 100%;
    margin-left: 0;
  }
}

@media(prefers-reduced-motion:reduce){.ingredient-journey{display:none}.finale-target i{animation:none}.dish-finale{height:460px}.finale-copy{position:relative;top:auto}}


/* ============================================================
   Ingredient Journey — rebuilt scroll animation (confined pin,
   mobile-safe --vh, sequential presenter hand-offs). Replaces the old
   full-page-fixed .ingredient-journey rules removed above.
   ============================================================ */
:root{--green-deep:#0b3324}
/* ---------- journey section ---------- */
.journey-section{position:relative;background:var(--cream)}

.journey-intro{
  max-width:640px;margin:0 auto;padding:96px 28px 40px;text-align:center;position:relative;z-index:1;
}
.journey-intro h2{font:600 clamp(34px,5vw,54px)/1.05 'Playfair Display',serif}

/* the tall scroll track: its height sets how much scroll the whole sequence takes.
   Uses a JS-measured --vh custom property (set in script.js) instead of raw vh units,
   because mobile browsers resize their address bar as you scroll, which makes plain
   vh jump around mid-animation. --vh always reflects the real, current innerHeight. */
.journey-scroll{
  position:relative;
  height:calc(var(--vh, 1vh) * 800); /* host + 6 ingredients + finale */
}

/* the pinned stage: only THIS box overlays anything, and only within its own track.
   We pin it manually with JS (toggling these three states) instead of relying on
   position:sticky, because sticky can silently fail inside nested/scaled preview
   frames — a fixed/absolute toggle driven by scroll math is far more reliable. */
.journey-stage{
  position:absolute;
  top:0;left:0;
  width:100%;
  height:calc(var(--vh, 1vh) * 100);
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}
.journey-stage.is-pinned{
  position:fixed;
  top:0;left:0;
}
.journey-stage.is-past{
  position:absolute;
  top:auto;
  bottom:0;left:0;
}

/* Chef Olivia opens the story before presenting each ingredient. */
.journey-host{
  position:absolute;inset:clamp(18px,4vh,42px) clamp(28px,7vw,110px);
  margin:0;overflow:hidden;border-radius:clamp(20px,3vw,36px);
  opacity:1;transform:translateZ(0) scale(1);will-change:transform,opacity;
  box-shadow:0 26px 70px rgba(11,51,36,.2);background:var(--green-deep);
}
.journey-host img{width:100%;height:100%;display:block;object-fit:contain;object-position:center}

/* ---------- ingredients ---------- */
.journey-ingredients{position:absolute;inset:0;pointer-events:none}

.journey-ingredient{
  position:absolute;
  left:50%;top:50%;
  width:clamp(390px,40vw,570px);
  opacity:0;
  will-change:transform,opacity;
  transform:translate3d(-50%,-50%,0);
}
.journey-ingredient .card{
  display:flex;
  flex-direction:column;
  align-items:center;
  filter:drop-shadow(0 16px 22px rgba(11,51,36,.28));
}
.journey-ingredient img{
  width:100%;
  height:auto;
  max-height:88vh;
  object-fit:contain;
  display:block;
}
.journey-detail{
  position:absolute;left:50%;top:50%;width:min(500px,36vw);padding:42px 44px;
  border-left:3px solid var(--red);border-radius:0 18px 18px 0;background:rgba(255,253,248,.82);
  box-shadow:0 18px 55px rgba(20,50,33,.1);backdrop-filter:blur(8px);opacity:0;
  color:var(--green-deep);will-change:transform,opacity;
}
.journey-detail>span{display:block;color:var(--red);font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.journey-detail h3{margin:10px 0 12px;font:600 clamp(30px,3vw,46px)/1 'Playfair Display',serif}
.journey-detail p{margin:0;color:#526258;font-size:16px;line-height:1.65}
.journey-detail small{display:inline-block;margin-top:18px;padding:7px 12px;border-radius:99px;background:#e8efe8;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.journey-facts{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:26px;padding-top:22px;border-top:1px solid var(--line)}
.journey-facts b{display:block;margin-bottom:7px;color:var(--green-deep);font-size:10px;letter-spacing:.11em;text-transform:uppercase}
.journey-facts p{font-size:12px;line-height:1.5}
.journey-ingredient .label{
  margin-top:10px;
  padding:5px 12px;
  border-radius:99px;
  background:rgba(255,253,248,.94);
  border:1px solid var(--line);
  color:var(--green-deep);
  font-size:10px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.08em;
  white-space:nowrap;
  box-shadow:0 6px 14px rgba(20,50,33,.1);
}

/* ---------- final plate ---------- */
.journey-plate{
  position:absolute;
  left:50%;top:50%;
  width:min(420px,62vw);
  margin:0;
  text-align:center;
  opacity:0;
  transform:translate3d(-50%,-50%,0) scale(.55);
  will-change:transform,opacity;
  pointer-events:none;
}
.journey-plate img{
  width:100%;
  display:block;
  filter:drop-shadow(0 30px 34px rgba(3,30,20,.4));
}
.journey-plate figcaption{
  margin-top:14px;
  font:italic 600 22px 'Playfair Display',serif;
  color:var(--green-deep);
}
.dish-finale .journey-plate{z-index:2;width:82%}
.dish-finale .journey-plate figcaption{color:#fff;text-shadow:0 2px 14px rgba(0,0,0,.35)}

/* ---------- progress rail ---------- */
.journey-progress{
  position:absolute;
  right:22px;top:12%;
  width:3px;height:76%;
  background:var(--line);
  border-radius:99px;
  overflow:hidden;
}
.journey-progress-fill{
  width:100%;height:0%;
  background:var(--red);
  border-radius:99px;
  transition:height .05s linear;
}

@media (max-width:720px){
  .journey-intro{padding:64px 20px 24px}
  .journey-intro h2{font-size:clamp(28px,8vw,40px)}
  .journey-scroll{height:calc(var(--vh, 1vh) * 700)}
  .journey-ingredient{width:clamp(230px,62vw,330px)}
  .journey-ingredient .card{filter:drop-shadow(0 10px 14px rgba(11,51,36,.24))}
  .journey-ingredient .label{font-size:9px;padding:4px 10px;letter-spacing:.05em}
  .journey-plate{width:66vw}
  .journey-plate figcaption{font-size:18px}
  .journey-progress{right:10px;top:16%;height:68%}
  .journey-detail{left:50%!important;top:auto;bottom:24px;width:calc(100% - 48px);padding:18px 20px;border-left-width:2px}
  .journey-detail h3{font-size:26px;margin:6px 0}
  .journey-detail p{font-size:12px;line-height:1.45}
  .journey-facts{display:none}
  .journey-detail small{display:none}
  .journey-host{inset:18px 12px;border-radius:22px}
  .demo-block{padding:80px 22px}
  .demo-block.dark{padding:90px 22px}
}

@media (max-width:420px){
  .journey-ingredient{width:64vw;max-width:280px}
  .journey-ingredient img{max-height:58vh}
  .journey-ingredient .label{font-size:8px;padding:4px 8px}
  .journey-plate{width:70vw}
  .journey-progress{display:none}
}

/* landscape phones: the sequence is short on vertical space, so keep the
   stage from feeling cramped and shrink artwork a touch more */
@media (max-width:900px) and (orientation:landscape){
  .journey-ingredient{width:24vh;max-width:170px}
  .journey-ingredient img{max-height:48vh}
  .journey-plate{width:38vh;max-width:280px}
}

/* respect device notches / home indicators when the stage is pinned edge-to-edge */
.journey-stage{
  padding-left:env(safe-area-inset-left);
  padding-right:env(safe-area-inset-right);
}

@media (prefers-reduced-motion:reduce){
  .journey-scroll{height:auto}
  .journey-stage{position:static!important;height:auto;min-height:0;flex-wrap:wrap;gap:20px;padding:40px 20px}
  .journey-host{position:static!important;width:min(100%,900px);height:auto;aspect-ratio:5/4;transform:none!important;opacity:1!important}
  .journey-ingredients{position:static;display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-end;gap:24px;width:100%}
  .journey-ingredient{position:static!important;transform:none!important;opacity:1!important;width:160px}
  .journey-plate{position:static!important;transform:none!important;opacity:1!important;margin:10px auto 0;width:240px}
  .journey-detail{position:static!important;transform:none!important;opacity:1!important;width:100%}
  .journey-progress{display:none}
}

/* Interactive recipe tools */
.recipe-tool-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.recipe-tool-grid article{background:#fffaf0;border:1px solid #e4ddcf;border-radius:18px;padding:24px;min-width:0}
.recipe-tool-grid h3{margin:12px 0}
.recipe-tool-grid input:not([type=checkbox]),.recipe-tool-grid textarea,.recipe-tool-grid select,.recipe-dialog input{display:block;width:100%;box-sizing:border-box;border:1px solid #bdb7aa;border-radius:8px;padding:10px;margin:8px 0;font:inherit;background:white;color:#263a2d}
.recipe-tool-grid button,.unit-toggle,.recipe-dialog button,.local-comments button{border:1px solid #b8bbaa;border-radius:8px;padding:9px 14px;background:#fff;color:#264735;cursor:pointer;margin:4px}
.recipe-tool-grid .tool-primary{background:#244b36;color:white}
.recipe-page button:focus-visible,.recipe-dialog button:focus-visible,.step-upload input:focus-visible{outline:3px solid #a44025;outline-offset:3px}
.recipe-page button:disabled{opacity:.45;cursor:default}
.timer-display{font-variant-numeric:tabular-nums;font-size:2.5rem;font-weight:700}
.timer-tool input{max-width:120px}
.rating-picker{display:flex;flex-wrap:wrap}
.rating-picker button{font-size:1.5rem;color:#776f63}
.rating-picker button.selected{background:#fff0b8;color:#805416;border-color:#805416}
.tool-help,.step-upload+small{display:block;font-size:.85rem;line-height:1.5;color:#625c51}
#recipeToolStatus{min-height:1.5em;color:#244b36}
.local-comments article{padding:20px;border-bottom:1px solid #ddd}
.local-comments p{white-space:pre-wrap;overflow-wrap:anywhere}
.recipe-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}
.gallery-thumb{border:1px solid #ddd;border-radius:12px;background:#fffaf0;padding:8px;text-align:left;cursor:pointer;max-width:360px}
.gallery-thumb img{width:100%;height:180px;object-fit:cover;border-radius:8px}
.gallery-thumb span{display:block;padding:8px}
.step-photo{max-width:100%;width:320px;height:190px;object-fit:cover;border-radius:10px;margin-bottom:12px}
.step-photo[hidden]{display:none}
.step-upload{display:block;font-size:.85rem;margin:12px 0 4px}
.step-upload input{display:block;max-width:100%;margin-top:5px}
.recipe-dialog{width:min(850px,90vw);max-height:85vh;box-sizing:border-box;border:1px solid #bdb7aa;border-radius:18px;padding:24px;color:#263a2d;background:#fffaf0}
.recipe-dialog::backdrop{background:rgb(0 0 0 / .55)}
.recipe-dialog .dialog-close{float:right}
.recipe-dialog h2{margin:0 0 20px}
.gallery-large{display:block;max-width:100%;max-height:55vh;object-fit:contain;margin:auto}
.plan-day{display:block;width:100%;text-align:left}
.comparison-scroll{overflow-x:auto}
.comparison-scroll table{width:100%;border-collapse:collapse}
.comparison-scroll th,.comparison-scroll td{padding:12px;border:1px solid #ddd;white-space:pre-line;vertical-align:top;text-align:left;min-width:120px}
.comparison-scroll caption{text-align:left;margin-bottom:12px}
@media(max-width:650px){.recipe-tool-grid{grid-template-columns:1fr}.recipe-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-thumb img{height:130px}.recipe-dialog{padding:16px}}
@media print{
  .recipe-tools,.recipe-gallery-section,.step-upload,.step-upload+small,.step-upload+small+button,.unit-toggle,.tool-help,#recipeToolStatus,.serving-tools button,.recipe-dialog,.step-photo{display:none!important}
  .recipe-page{max-width:none;margin:0;padding:0}
  .recipe-lead{display:block}.recipe-lead>img{display:none}
  .recipe-body{display:block}.recipe-body aside{position:static;width:auto}
  .cook-step,.ingredient,.chef-tip{break-inside:avoid}
  .recipe-page>.recipe-reference{display:block!important;padding:20px 0}
  .recipe-reference>.section-heading,.recipe-reference>.recipe-faq,.recipe-reference>.recipe-collections,.recipe-info-grid>article:not(:first-child){display:none!important}
  .recipe-info-grid{display:block}.ingredient.checked span{text-decoration:none}
}


.recipe-body>*,.cook-step>div{min-width:0}
.ingredient-head{flex-wrap:wrap;gap:10px}
.ingredient-head h2{margin-bottom:8px}
.serving-tools{white-space:nowrap}
@media(max-width:760px){.recipe-body{grid-template-columns:minmax(0,1fr)}.recipe-body>aside{padding:22px}.cook-step{grid-template-columns:35px minmax(0,1fr);gap:10px}.cook-step>span{width:32px;height:32px}}

/* My Kitchen and local preferences */
.kitchen-layout{max-width:1150px}.kitchen-panel{border:1px solid #e1d9ca;background:#fffcf5;border-radius:18px;padding:26px;margin-bottom:22px}.kitchen-panel h2{font-family:'Playfair Display',serif;font-size:30px;margin:0 0 18px;color:var(--brand-green)}.kitchen-panel p{line-height:1.7;max-width:80ch;color:#222222}
.personal-recipes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}.personal-recipe{border:1px solid #e1d9ca;border-radius:12px;padding:18px;min-width:0;background:white}.personal-recipe>a:first-child{display:block;font-weight:700;font-size:18px;overflow-wrap:anywhere;color:var(--brand-green)}.personal-recipe small{display:block;color:#444444;margin:8px 0}
.personal-recipe button,.personal-link,.privacy-button,.cooked-button,.personal-shopping-add button,.personal-shopping-row>button{display:inline-block;border:1px solid #9caa9c;padding:10px 14px;border-radius:8px;background:#fff;color:var(--brand-green);cursor:pointer;font:inherit;text-decoration:none}.personal-link,.cooked-button{background:var(--brand-green);color:white;margin:6px 4px 6px 0}.cooked-button:disabled{background:#eee;color:#444444;cursor:default;opacity:1}
.personal-chip{display:inline-block;max-width:100%;overflow-wrap:anywhere;padding:9px 14px;margin:5px;border:1px solid #c3cbbd;border-radius:24px;color:var(--brand-green);background:white}
.personal-preferences{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.personal-preferences label,.personal-search-preference label{display:block;font-weight:600;color:#111111}
.personal-preferences select,.personal-search-preference select,.personal-shopping-add input{display:block;width:100%;box-sizing:border-box;margin-top:8px;padding:10px;border:1px solid #b6b9ad;border-radius:8px;font:inherit;background:white;color:#111111}.personal-preferences small{display:block;line-height:1.5;color:#444444}
.personal-search-preference{padding:18px;background:#f8f2e7;border-radius:12px;margin-bottom:20px}.personal-search-preference small{display:block;margin-top:10px;color:#444444}.personal-search-preference select{max-width:350px}
.personal-home{margin:24px auto;max-width:1100px;padding:20px 24px;background:#f8f2e7;border-radius:16px}.personal-home h2{font:600 30px 'Playfair Display',serif;margin:0 0 10px;color:var(--brand-green)}
.personal-status:not(:empty){position:fixed;bottom:20px;left:20px;right:20px;z-index:1000;padding:16px;background:var(--brand-green);color:white;border-radius:10px;box-shadow:0 3px 20px #0003}.personal-status:empty{display:none}
.personal-shopping-add{display:flex;align-items:end;gap:12px;margin:20px 0}.personal-shopping-add label{flex:1;min-width:0;color:#111111}
.personal-shopping-row{display:flex;gap:12px;align-items:center;border-bottom:1px solid #e4dfd4}.personal-shopping-row label{flex:1;min-width:0;border:0;color:#111111}.personal-shopping-row label span{overflow-wrap:anywhere}.personal-shopping-row>button{font-size:12px;padding:8px}
.step-completion{display:flex;gap:8px;align-items:center;margin-top:14px;font-size:14px;color:#111111}.step-done>span{background:var(--brand-green);color:white}.cook-step{scroll-margin-top:100px}.privacy-button{border-color:#a55337;color:#883b23}.recipe-dialog textarea{display:block;min-height:200px;width:100%;box-sizing:border-box}
.kitchen-panel button:focus-visible,.kitchen-panel a:focus-visible,.kitchen-panel select:focus-visible,.personal-shopping-row button:focus-visible{outline:3px solid #a44025;outline-offset:3px}
:root[data-density=compact] .results-grid,:root[data-density=compact] .personal-recipes{gap:12px}:root[data-density=compact] .card-copy{padding:12px}:root[data-density=compact] .card-image-wrap>img{height:170px}:root[data-density=compact] .personal-recipe{padding:12px}
:root[data-text-size=large] .recipe-body p,:root[data-text-size=large] .ingredient,:root[data-text-size=large] .recipe-tool-grid p,:root[data-text-size=large] .recipe-info-grid p,:root[data-text-size=large] .recipe-info-grid li,:root[data-text-size=large] .kitchen-panel p,:root[data-text-size=large] .personal-recipe small,:root[data-text-size=large] .card-meta,:root[data-text-size=large] .aisle label{font-size:18px;line-height:1.75}
:root[data-text-size=large] input,:root[data-text-size=large] select,:root[data-text-size=large] textarea{font-size:18px}
:root[data-motion=reduced] *{scroll-behavior:auto!important;animation:none!important;transition:none!important}:root[data-motion=reduced] .reveal-ready{opacity:1!important;transform:none!important}
:root[data-motion=reduced] .journey-scroll{height:auto}:root[data-motion=reduced] .journey-stage{position:static!important;height:auto;min-height:0;flex-wrap:wrap;gap:20px;padding:40px 20px}
:root[data-motion=reduced] .journey-host{position:static!important;width:min(100%,900px);height:auto;aspect-ratio:5/4;transform:none!important;opacity:1!important}
:root[data-motion=reduced] .journey-ingredients{position:static;display:flex;flex-wrap:wrap;justify-content:center;gap:24px;width:100%}
:root[data-motion=reduced] .journey-ingredient{position:static!important;transform:none!important;opacity:1!important;width:160px}
:root[data-motion=reduced] .journey-plate{position:static!important;transform:none!important;opacity:1!important;margin:10px auto;width:240px}
:root[data-motion=reduced] .journey-detail{position:static!important;transform:none!important;opacity:1!important;width:100%}:root[data-motion=reduced] .journey-progress{display:none}
@media(max-width:650px){.personal-recipes,.personal-preferences{grid-template-columns:minmax(0,1fr)}.kitchen-panel{padding:18px}.personal-home{margin:16px}.personal-shopping-add{flex-wrap:wrap}.personal-shopping-add label{flex-basis:100%}}
@media print{.personal-home,.personal-status,.cooked-button,.step-completion,.personal-shopping-add,.personal-shopping-row>button{display:none!important}}


/* Search page, live suggestions and header overlay */
.search-results-column,.search-filter-panel{min-width:0}
.search-filter-panel>summary,.search-explore>summary{cursor:pointer;font-weight:700;padding:14px 0}
.search-filter-panel .filter-card{position:static}
.filter-card h2{font:600 24px 'Playfair Display',serif;margin:0 0 18px;color:var(--brand-green)}
.filter-card input{width:100%;box-sizing:border-box;padding:10px;border:1px solid #d9d5ca;border-radius:6px;font:inherit;background:white;color:#111111}
.search-reset,.search-history-clear{border:1px solid #b7bba9;background:white;color:var(--brand-green);padding:10px 14px;border-radius:8px;cursor:pointer}
.search-input-wrap{position:relative;min-width:0}
.search-box input{min-width:0;width:100%;color:#111111}
.search-box button{flex-shrink:0}
.search-suggestions{position:absolute;top:100%;left:0;right:0;z-index:40;background:#fffdf6;border:1px solid #c9cfbf;border-radius:12px;box-shadow:0 12px 30px #19352125;max-height:390px;overflow:auto}
.search-suggestions[hidden]{display:none}
.search-suggestion{display:flex;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid #eee8db;text-decoration:none;color:#111111;min-height:48px;font-size:14px}
.search-suggestion img{width:52px;height:52px;object-fit:cover;border-radius:8px;flex-shrink:0}
.search-suggestion[aria-selected=true],.search-suggestion:hover{background:#e7efdf}
.search-chip{display:inline-block;max-width:100%;white-space:normal;overflow-wrap:anywhere;text-align:left;margin:4px;padding:8px 14px;border:1px solid #b7c7b2;border-radius:20px;background:#f0f4ea;color:var(--brand-green);font:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease}
.search-chip:hover{background:#073f2a;color:#ffffff;border-color:#073f2a}
.active-search-filters{margin-top:12px}
.active-search-filters:empty,.search-matching-groups:empty,#searchMatchNote:empty{display:none}
.result-line{flex-wrap:wrap;gap:12px}.result-line select{font:inherit;padding:8px;border:1px solid #d3d5c6;border-radius:6px;max-width:160px;color:#111111}
.search-explore{margin-top:36px;border-top:1px solid #e3decd}
.search-activity{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:18px}
.search-activity section{min-width:0}.search-activity h3{font-size:16px;margin:0 0 10px;color:var(--brand-green)}.search-activity p{font-size:13px;line-height:1.6;color:#222222}
.search-history-clear{display:block;font-size:12px;margin-top:10px}
#emptyResults[hidden]{display:none}#emptyResults{padding:24px 0}#emptyResults>.results-grid{margin-top:20px}
.header-search-dialog{width:min(760px,94vw);max-height:90dvh;border:1px solid #d5d9c8;border-radius:18px;padding:28px;color:#111111;background:#fffdf6;box-sizing:border-box;overflow:auto}
.header-search-dialog::backdrop{background:#14291ccc}
.header-search-dialog h2{font:600 34px 'Playfair Display',serif;margin:10px 0 24px;padding-right:110px;color:var(--brand-green)}
.search-dialog-close{float:right;border:1px solid #b7bba9;border-radius:8px;background:white;color:var(--brand-green);padding:10px 14px;cursor:pointer}
.header-search-dialog .search-box{margin:0}
.header-search-dialog .search-suggestions{position:relative;top:auto;max-height:310px;margin-top:8px}
.header-search-dialog .search-activity{clear:both}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.search-filter-panel button:focus-visible,.search-chip:focus-visible,.search-suggestion:focus-visible,.header-search-dialog button:focus-visible,.header-search-dialog a:focus-visible{outline:3px solid #a44025;outline-offset:2px}
@media(min-width:761px){.search-filter-panel>summary{display:none}}
@media(max-width:760px){
 .search-layout{grid-template-columns:minmax(0,1fr);gap:20px}
 .search-filter-panel>summary{padding:14px 18px;border:1px solid #d4d6c9;border-radius:10px;background:#f8f2e7}
 .search-filter-panel .filter-card{margin-top:10px}
 .search-activity{grid-template-columns:minmax(0,1fr)}
 .header-search-dialog{width:100%;max-width:100%;height:100dvh;max-height:100dvh;margin:0;border:0;border-radius:0;padding:20px}
 .header-search-dialog h2{font-size:28px;padding-right:80px}
 .search-box{padding:10px;gap:8px}.search-box input{font-size:16px}
 .search-box button{padding:10px}
}
@media print{.header-search-dialog{display:none!important}}


/* Olivia photo inserts — reusable across pages */
.olivia-note{display:flex;align-items:center;gap:16px;background:#e1eadf;padding:16px 18px;border-radius:10px;margin:26px 0}
.olivia-note img{width:64px;height:64px;border-radius:50%;object-fit:cover;flex-shrink:0}
.olivia-note strong{display:block;color:var(--brand-green);font-size:10px;text-transform:uppercase;letter-spacing:.09em;margin-bottom:5px}
.olivia-note p{margin:0;color:#111111;font-size:13px;line-height:1.6}
.olivia-feature{display:grid;grid-template-columns:1fr 1fr;border-radius:22px;overflow:hidden;margin:56px auto;max-width:1140px;box-shadow:var(--shadow-soft,0 20px 50px rgba(42,55,43,.12))}
.olivia-feature img{width:100%;height:100%;min-height:340px;object-fit:cover}
.olivia-feature-copy{padding:50px;display:flex;flex-direction:column;justify-content:center;background:#fff}
.olivia-feature-copy .kicker{color:var(--brand-green)}
.olivia-feature-copy h3{font:600 30px 'Playfair Display',serif;margin:8px 0 12px;color:var(--brand-green)}
.olivia-feature-copy p{color:#222222;line-height:1.7;margin:0}
.olivia-feature.reverse{grid-template-columns:1fr 1fr}
.olivia-feature.reverse .olivia-feature-copy{order:-1}
.olivia-byline{display:flex;align-items:center;gap:10px;margin:18px 0}
.olivia-byline img{width:38px;height:38px;border-radius:50%;object-fit:cover}
.olivia-byline span{font-size:12px;color:#444444}
.olivia-byline strong{display:block;font-size:13px;color:var(--brand-green)}
@media(max-width:720px){
  .olivia-feature,.olivia-feature.reverse{grid-template-columns:1fr}
  .olivia-feature img{min-height:260px}
  .olivia-feature.reverse .olivia-feature-copy{order:0}
  .olivia-feature-copy{padding:32px 24px}
}

/* Shared navigation: grouped destinations and accessible disclosure panels. */
.announcement a{color:#fff;text-decoration:underline;text-underline-offset:3px;margin-left:12px}
header.site-header{height:84px;gap:24px;padding-inline:clamp(18px,3vw,48px)}
.site-header .official-logo{width:190px;height:60px}
.site-header .official-logo img{width:190px;top:-18px}
.site-header .nav{display:flex;align-items:center;gap:4px;padding:5px;border-radius:14px;position:static}
.site-header .nav-group{position:relative}
.site-header .nav-disclosure,.site-header .nav>a{font:600 14px/1.3 inherit;font-family:inherit;font-size:14px;font-weight:600;display:flex;align-items:center;gap:9px;min-height:44px;padding:10px 14px;border:0;border-radius:10px;background:transparent;color:#111111;white-space:nowrap;cursor:pointer;letter-spacing:0;box-shadow:none;transform:none}
.site-header .nav-disclosure:hover,.site-header .nav-disclosure[aria-expanded=true],.site-header .nav-group.is-current>.nav-disclosure,.site-header .nav a[aria-current=page],.site-header .nav>a:hover{background:#123f2c;color:#fff}
.nav-chevron{font-size:18px;transition:transform .15s}.nav-disclosure[aria-expanded=true] .nav-chevron{transform:rotate(180deg)}
.site-header .nav-submenu[hidden]{display:none}
.site-header .nav-submenu{position:absolute;top:calc(100% + 12px);left:0;width:246px;padding:8px;background:#fffdf7;border:1px solid #dce3da;border-radius:14px;box-shadow:0 16px 36px #15382426}
.site-header .nav-submenu a{min-height:44px;padding:12px;font-size:14px;letter-spacing:0;white-space:normal;box-shadow:none;transform:none;color:#073f2a;border-radius:8px;transition:background .15s,color .15s}
.site-header .nav-submenu a:hover{background:#123f2c;color:#ffffff}
.site-header .nav>.nav-start{display:none}
.site-header .header-actions{gap:8px;flex:none}
.site-header .menu-button{display:none}
.site-header :is(a,button):focus-visible,.announcement a:focus-visible{outline:3px solid #b47a00;outline-offset:3px}
@media(max-width:1100px){
 header.site-header{height:72px;padding-inline:18px;gap:12px}
 .site-header .official-logo{width:170px;height:54px}.site-header .official-logo img{width:170px;top:-17px}
 .site-header .menu-button{display:grid;width:44px;height:44px;background:#e9eee7;border-radius:12px}
 .site-header .header-actions .start-button{display:none}
 .site-header .nav{display:none;position:absolute;top:100%;left:12px;right:12px;padding:12px;background:#fffdf7;border:1px solid #dce3da;box-shadow:0 18px 35px #15382426;max-height:calc(100dvh - 118px);overflow-y:auto;align-items:stretch;flex-direction:column;gap:6px}
 .site-header .nav.open{display:flex}
 .site-header .nav-disclosure,.site-header .nav>a{width:100%;min-height:48px;padding:12px 14px;justify-content:space-between;font-size:15px;color:#111111}
 .site-header .nav-submenu{position:static;width:auto;margin:4px 0 8px 12px;padding:4px;border:0;border-left:2px solid #dce3da;border-radius:0;box-shadow:none;background:transparent}
 .site-header .nav-submenu a{background:transparent;border:0;font-weight:500;color:#111111}
 .site-header .nav-submenu a:hover{background:#123f2c;color:white}
 .site-header .nav>.nav-start{display:flex;background:#efba28;color:#173525;margin-top:6px}
}
@media(max-width:380px){header.site-header{padding-inline:10px;gap:6px}.site-header .official-logo{width:140px;height:48px}.site-header .official-logo img{width:140px;top:-14px}.site-header .header-actions{gap:4px}.site-header .header-actions .icon-button{width:40px;height:44px}.announcement{letter-spacing:.03em}.announcement a{margin-left:5px}}
@media print{header.site-header,.announcement{display:none!important}}

/* Consistent decorative icons retain visible navigation labels. */
.site-header .menu-link-icon{flex:0 0 auto;stroke-width:1.8}
.site-header .menu-link-label{flex:1;text-align:left}
.site-header .nav-submenu a{gap:11px}
.site-header .nav-disclosure{gap:8px}

/* High-resolution logo: preserve the full artwork and readable two-line tagline. */
.official-logo,.site-header .official-logo{display:block;position:relative;width:250px;height:auto;aspect-ratio:2063/762;overflow:visible;flex:none;background:#fffdf8;border-radius:4px}
.official-logo img,.site-header .official-logo img{display:block;position:static;width:100%;height:100%;object-fit:contain;mix-blend-mode:normal;filter:none;transform:none;transition:none}
.official-logo:hover img,.site-header .official-logo:hover img{filter:none;transform:none}
header.site-header{height:108px;gap:16px}
.footer-logo{width:310px;max-width:100%;padding:0}
@media(min-width:1101px) and (max-width:1250px){header.site-header{padding-inline:18px;gap:10px}.site-header .nav-disclosure,.site-header .nav>a{padding-inline:9px;font-size:13px}.site-header .header-actions{gap:5px}.site-header .header-actions .start-button{padding-inline:11px}}
@media(max-width:600px){header.site-header{height:156px;display:flex;flex-direction:column;justify-content:center;gap:3px;padding:5px 14px}.site-header .official-logo{width:260px;height:96px}.site-header .header-actions{gap:12px;justify-content:center}.site-header .nav{max-height:calc(100dvh - 205px)}.site-header .header-actions .icon-button,.site-header .menu-button{width:44px;height:44px}.footer-logo{width:290px}}

/* Related destinations: shared end-of-page discovery section. */
.explore-more{max-width:1280px;margin:60px auto 64px;padding:0 40px;color:#111111}
.explore-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:28px;border-top:1px solid #dbe1d4;padding-top:38px}
.explore-eyebrow{font-size:10px;letter-spacing:.17em;font-weight:700;color:var(--brand-green);margin:0 0 12px}
.explore-heading h2{font:600 clamp(30px,3.3vw,44px)/1.15 'Playfair Display',Georgia,serif;letter-spacing:-.035em;margin:0;color:var(--brand-green)}
.explore-heading>p{font-size:14px;color:#222222;line-height:1.7;max-width:310px;margin:0}
.explore-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.explore-card{display:flex;flex-direction:column;align-items:start;padding:30px;border-radius:16px;background:#f0f2e8;border:1px solid #dbe3d3;color:#111111;transition:transform .2s,box-shadow .2s,border-color .2s;text-decoration:none;min-width:0}
.explore-card:first-child{background:#173f2b;color:#fffdf8;border-color:#173f2b}
.explore-card:first-child *{color:#fffdf8}
.explore-card-top{display:flex;align-items:center;justify-content:space-between;width:100%;margin-bottom:30px}
.explore-symbol{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:#fffdf8;color:var(--brand-green)}
.explore-card:first-child .explore-symbol{background:#e9ba48;color:#213c28}
.explore-arrow{display:grid;place-items:center;width:34px;height:34px;border:1px solid currentColor;border-radius:50%;opacity:.7}
.explore-card-eyebrow{font-size:9px;letter-spacing:.12em;line-height:1.5;font-weight:700;color:var(--brand-green);margin-bottom:12px}
.explore-card:first-child .explore-card-eyebrow{color:#edce83}
.explore-card h3{font:600 27px/1.2 'Playfair Display',Georgia,serif;letter-spacing:-.02em;margin:0 0 16px;color:var(--brand-green)}
.explore-card:first-child h3{color:#fff!important}
.explore-card p{font-size:14px;line-height:1.8;color:#222222;margin:0 0 25px}
.explore-card:first-child p{color:#f0f4f1!important}
.explore-action{display:block;padding-top:14px;border-top:1px solid #b9c7ad;width:100%;font-size:12px;font-weight:700;margin-top:auto;color:var(--brand-green)}
.explore-card:first-child .explore-action{border-color:#57705b;color:#f2d995!important}
.explore-card:hover{transform:translateY(-4px);box-shadow:0 15px 30px #183c2317;border-color:#789466}
.explore-card:focus-visible{outline:3px solid #b87f14;outline-offset:5px}
@media(max-width:950px){.explore-more{padding-inline:24px}.explore-card{padding:24px}.explore-card h3{font-size:23px}}
@media(max-width:700px){.explore-more{margin-block:40px;padding-inline:20px}.explore-heading{display:block;padding-top:28px}.explore-heading>p{margin-top:14px;max-width:none}.explore-grid{grid-template-columns:1fr;gap:16px}.explore-card{padding:26px}.explore-card-top{margin-bottom:22px}.explore-card h3{font-size:27px}}
@media(prefers-reduced-motion:reduce){.explore-card{transition:none}.explore-card:hover{transform:none}}
@media print{.explore-more{display:none!important}}

/* Align popular search shortcuts and keep their touch targets consistent. */
.hero .popular{display:flex;align-items:center;flex-wrap:nowrap;gap:14px;margin-top:22px;font-size:12px}
.hero .popular-label{flex:none;font-size:11px;font-weight:600;letter-spacing:.025em;color:#ffffff;line-height:1.5}
.hero .popular-links{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-width:0}
.hero .popular a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;line-height:1.2;white-space:nowrap;border:1px solid #ffffff59;background:#103c2bd9;color:#fff;border-radius:24px;text-decoration:none;transition:background .2s,border-color .2s}
.hero .popular a:hover{background:#365e3e;border-color:#efd07a;color:#fff}
.hero .popular a:focus-visible{outline:3px solid #efc34b;outline-offset:3px}
@media(max-width:600px){.hero .popular{flex-direction:column;align-items:flex-start;gap:10px;margin-top:20px}.hero .popular-links{gap:8px}.hero .popular a{padding:10px 14px}}
@media(prefers-reduced-motion:reduce){.hero .popular a{transition:none}}

/* Tablet layouts: portrait and landscape, without shrinking desktop grids. */
@media (min-width:601px) and (max-width:1180px){
 .section,.prototype-container{padding:64px 28px}
 .page-hero{padding:68px 28px}.page-hero h1{font-size:clamp(44px,6vw,66px);line-height:1.08;color:#fff!important;}.page-hero>p:last-child{max-width:650px;margin-inline:auto;color:#fff;}
 .hero{min-height:700px}.hero-copy{margin-left:0;padding:72px 40px;max-width:760px;width:100%}.hero h1{font-size:clamp(48px,6.5vw,72px);line-height:1.03;color:#fff;}.hero-copy>p:not(.kicker){font-size:16px;color:#fff;}.hero::after{display:none}
 .section-heading h2,.newsletter h2{font-size:clamp(34px,4.2vw,48px);line-height:1.12;color:var(--brand-green)}
 .cook-tonight h2{font-size:clamp(34px,4.2vw,48px);line-height:1.12;color:#fff}
 .recipe-grid,.latest .recipe-grid,.results-grid,.catalogue-grid,.school-grid,.personal-recipes,.recipe-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
 .recipe-grid>*,.catalogue-grid>*,.results-grid>*,.school-grid>*,.personal-recipes>*,.search-layout>*,.recipe-lead>*,.recipe-body>*,.about-hero>*,.admin-shell>main{min-width:0}
 .card-image-wrap,.latest .recipe-card:first-child .card-image-wrap{height:260px}.latest .recipe-card:first-child{transform:none}.card-copy{padding:22px}.card-copy h3{font-size:25px;color:var(--brand-green)}.card-meta{gap:12px;flex-wrap:wrap;color:#333333}
 .category-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-width:none;gap:20px}.category{grid-column:auto;height:300px}.category:nth-child(even){height:300px}
 .start-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.start-card,.start-card:nth-child(n){grid-column:auto;height:370px}.start-card h3{font-size:30px;color:#fff}
 .cuisine-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cuisine{height:360px}.review-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.review-cards article{padding:26px}
 .season-story,.chef-section{min-height:0}.season-copy,.chef-copy{padding:38px}.season-copy h2{font-size:42px;color:var(--brand-green)}.chef-copy blockquote{font-size:36px;color:var(--brand-green)}.season-image{min-height:480px}
 .newsletter{margin:50px 28px;padding:36px;gap:28px;grid-template-columns:1fr}.newsletter form{max-width:620px;width:100%}
 .cook-tonight{padding:55px 30px;gap:24px;min-height:0}.ingredient-scatter span{width:70px;height:70px;font-size:42px}
 .school-grid article{padding:26px}.school-grid h2{font-size:26px;color:var(--brand-green)}
 .recipe-lead{gap:30px;padding:50px 28px}.recipe-lead>img{width:100%;max-width:100%;height:420px}.recipe-lead h1{font-size:clamp(38px,4.4vw,52px);line-height:1.1;color:var(--brand-green)}
 .recipe-facts,.recipe-facts-wide{grid-template-columns:repeat(3,minmax(0,1fr));margin:0 28px 40px;gap:18px}.recipe-facts>div{border:0}
 .recipe-body{padding:0 28px;gap:30px;grid-template-columns:minmax(240px,.8fr) minmax(0,1.2fr)}.recipe-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.recipe-info-grid article{padding:24px}
 .about-hero img{width:100%;min-width:0;max-width:100%;height:520px;object-fit:cover}.about-hero>div{padding:40px 30px}.about-hero h1{font-size:48px;color:#fff!important;}.promise-grid{grid-template-columns:1fr}
 .search-layout{grid-template-columns:240px minmax(0,1fr);gap:24px}.search-layout .results-grid{grid-template-columns:1fr}.filter-card{padding:20px}.results-heading{flex-wrap:wrap;gap:12px}
 .personal-preferences{grid-template-columns:repeat(2,minmax(0,1fr))}
 footer{grid-template-columns:1fr;gap:20px;padding:36px 28px}footer>div{grid-column:1;grid-row:auto;flex-wrap:wrap;gap:16px 24px}
 .admin-shell{grid-template-columns:180px minmax(0,1fr)}.admin-shell>aside{width:180px;padding:20px 10px}.admin-shell>main{padding:0 22px 40px}.admin-toolbar{gap:12px;flex-wrap:wrap}.admin-toolbar>div{width:auto;flex:1;min-width:0}.admin-row{gap:10px;padding:14px}.admin-recipe{min-width:0;overflow-wrap:anywhere}.admin-columns{grid-template-columns:1fr}
 /* Give the ingredient explanation enough width and make the presenter larger. */
 .journey-detail{width:44vw;max-width:500px;padding:24px 26px;max-height:calc(100dvh - 48px);overflow-y:auto;pointer-events:auto}
 .journey-detail h3{font-size:34px;line-height:1.1;color:var(--brand-green)}.journey-detail>p{font-size:16px;line-height:1.6;color:#222222}.journey-facts{gap:16px;margin-top:18px;padding-top:16px}.journey-facts p{font-size:14px;line-height:1.55;color:#222222}.journey-facts b{font-size:10px;letter-spacing:.04em;color:var(--brand-green)}.journey-detail small{margin-top:16px;font-size:10px}
 .journey-ingredient{width:58vw;max-width:680px}.journey-ingredient img{max-height:86dvh}.journey-ingredient .label{font-size:12px;padding:8px 14px;color:var(--brand-green)}.journey-progress{right:12px}
}
@media (min-width:601px) and (max-width:900px){
 .search-layout,.pantry-page,.recipe-lead,.recipe-body,.about-hero,.season-story,.chef-section{grid-template-columns:1fr}
 .filter-card{position:static}.search-layout .results-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .recipe-lead>img{height:380px}.about-hero img{height:440px}.about-hero>div{padding:44px 32px}.season-image{min-height:380px}.chef-photo{min-height:400px}
 .cook-tonight{grid-template-columns:1fr}.ingredient-scatter{margin-top:10px}.collection-grid{grid-template-columns:1fr}.recipe-info-grid{grid-template-columns:1fr}
 .split{align-items:flex-start;flex-wrap:wrap;gap:18px}.explore-grid{grid-template-columns:1fr}.explore-card{padding:26px}.explore-heading{align-items:start}
 .admin-shell{display:block}.admin-shell>aside{position:static;display:flex;flex-wrap:wrap;gap:4px;width:auto;padding:12px}.admin-shell aside>a{margin:0;min-width:0}.admin-brand{margin:0 16px 0 0!important}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (min-width:601px) and (max-width:720px){
 .journey-detail{width:calc(100% - 48px);padding:18px 22px;max-height:45dvh}.journey-detail h3{font-size:28px;color:var(--brand-green)}.journey-detail>p{font-size:14px;color:#222222}.journey-facts{display:none}
}
@media (hover:none) and (min-width:601px) and (max-width:1180px){.recipe-card:hover,.latest .recipe-card:first-child:hover,.category:hover,.school-grid article:hover{transform:none}}
/* Page refinements: clear controls, ingredient guides and complete recipe cards. */
.chef-about-grid,.chef-olivia-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:36px;align-items:start}.chef-photo-wrap img,.chef-olivia-image img{display:block;width:100%;height:auto;border-radius:20px}.chef-about-grid .chef-copy{padding:24px 0}.chef-olivia-layout .recipe-info-grid{grid-template-columns:1fr}.chef-olivia-layout>*{min-width:0}
.chef-copy .button.button-ghost{display:inline-flex;width:auto;align-self:flex-start;background:var(--brand-green);color:#fff;border:1px solid var(--brand-green);letter-spacing:.03em}.chef-copy .button.button-ghost:hover,.chef-copy .button.button-ghost:focus-visible{background:#125539;color:#fff;border-color:#125539}.button:hover{color:#fff}
.personal-recipe{overflow:hidden;display:flex;flex-direction:column;align-items:flex-start;gap:12px}.personal-recipe .personal-recipe-photo{display:block;width:100%;min-height:0;margin:0 0 4px;border-radius:9px;overflow:hidden}.personal-recipe-photo img{display:block;width:100%;height:190px;object-fit:cover}.personal-recipe>small{margin-top:auto}.personal-recipe>button{margin-top:0}
.ingredient-guide-grid{margin-top:28px;gap:22px}.ingredient-guide-card{position:relative;padding:30px 32px;background:#fff;border:1px solid #dce3d5;border-radius:18px;box-shadow:0 10px 25px #183c2309}.ingredient-guide-card .tag{display:inline-block;background:#eaf0df;color:var(--brand-green);padding:7px 12px;font-size:11px;font-weight:700;letter-spacing:.05em;border-radius:20px}.ingredient-guide-card h3{font:600 30px Georgia,serif;margin:20px 0 12px;color:var(--brand-green)}.ingredient-guide-card h3 a{color:var(--brand-green)}.ingredient-guide-card h3 a:after{content:'';position:absolute;inset:0;border-radius:18px}.ingredient-guide-card p{font-size:15px;line-height:1.7;color:#222222;margin-bottom:24px}.ingredient-guide-action{font-size:12px;font-weight:700;color:var(--brand-green)}.ingredient-guide-card:hover{border-color:#789766;background:#fbfdf7}.ingredient-guide-card:focus-within{outline:3px solid #bd841d;outline-offset:3px}
body[data-page=pantry-finder] .pantry-page{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:start;padding-top:40px}.pantry-builder{padding:30px!important;min-width:0}.pantry-builder h2,.match-panel>h2{font:600 32px/1.2 Georgia,serif;margin:0 0 22px;color:var(--brand-green)}.pantry-help{font-size:13px;line-height:1.7;color:#222222;margin:20px 0}.pantry-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 16px;margin:24px 0}.pantry-filters label{display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:600;color:#111111;min-width:0}.pantry-filters select{width:100%;min-width:0;min-height:48px;padding:11px 12px;border:1px solid #cbd5c4;background:#fffdf9;color:#111111;border-radius:8px;font:inherit}.pantry-filters label:last-child{grid-column:1/-1}.ingredient-input{display:flex;align-items:center;gap:8px}.ingredient-input input{width:100%;min-width:0;color:#111111}.ingredient-input button{flex:none;display:flex;align-items:center;gap:5px;color:#111111}.ingredient-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.pantry-builder .big-green{margin-top:10px;min-height:50px;width:100%;white-space:normal;background:var(--brand-green);color:#fff}
body[data-page=pantry-finder] .match-panel{padding:28px;text-align:left;min-width:0}.match-panel>.match-score{position:static;display:inline-block;margin-bottom:18px;color:var(--brand-green)}.match-panel-card>img{display:block;width:100%;height:260px;object-fit:cover;border-radius:12px}.match-panel-card h2{font:600 28px/1.25 Georgia,serif;color:var(--brand-green)}.match-panel-card p{font-size:14px;line-height:1.7;color:#222222}.pantry-actions{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.pantry-actions>a,.pantry-actions>button{display:inline-flex;align-items:center;justify-content:center;padding:12px 16px;border-radius:8px;font-size:12px;border:1px solid #bdcbb4;background:#eaf0e3;color:var(--brand-green)}.pantry-actions>a{background:var(--brand-green);color:white}.pantry-result{display:grid;grid-template-columns:88px minmax(0,1fr);gap:16px;padding:18px 0;border-top:1px solid #dde3d6}.pantry-result img{width:88px;height:88px;object-fit:cover;border-radius:10px}.pantry-result h3{font-size:17px;margin:0 0 9px;color:var(--brand-green)}.pantry-result p,.pantry-result small{font-size:12px;line-height:1.6;margin:0;color:#222222}.pantry-discovery-photo{width:100%;height:190px;object-fit:cover;border-radius:10px}.pantry-results{margin-top:18px}#pantryStatus:empty{display:none}#pantryStatus{background:#eaf0e3;padding:14px;font-size:13px;color:#111111}
@media(max-width:1000px){.chef-about-grid,.chef-olivia-layout{grid-template-columns:1fr}.chef-photo-wrap img,.chef-olivia-image img{max-height:500px;object-fit:cover;object-position:center 25%}body[data-page=pantry-finder] .pantry-page{grid-template-columns:1fr}.pantry-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.pantry-filters label:last-child{grid-column:auto}}
@media(max-width:600px){.ingredient-guide-grid{grid-template-columns:1fr}.ingredient-guide-card{padding:26px}.pantry-builder{padding:22px!important}.pantry-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.pantry-filters label:last-child{grid-column:1/-1}body[data-page=pantry-finder] .match-panel{padding:22px}.personal-recipe-photo img{height:180px}}
.letter-hub .page-hero .button{margin-top:20px;background:#edbd43;color:#163d27}.letter-hub .page-hero .button:hover{background:#f3cd68;color:#163d27}.letter-intro,.letter-section{max-width:1160px;margin:64px auto;padding:0 28px}.letter-intro{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}.letter-intro img{width:100%;border-radius:22px;background:#e4e9d7}.letter-hub h2{font:600 clamp(32px,4vw,44px)/1.15 Georgia,serif;margin:12px 0 22px;color:var(--brand-green)}.letter-hub p{line-height:1.8;color:#222222}.letter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:30px}.letter-grid article{padding:28px;background:#fff;border:1px solid #dce3d5;border-radius:16px}.letter-grid article>span{font-size:10px;font-weight:700;letter-spacing:.13em;color:var(--brand-green)}.letter-grid h3,.letter-sample h3{font:600 25px Georgia,serif;color:var(--brand-green)}.letter-grid a,.letter-faq a,.letter-fine a{color:var(--brand-green);text-decoration:underline;text-underline-offset:4px}.letter-grid a{font-size:13px;font-weight:600}.letter-sample{display:grid;grid-template-columns:.8fr 1.2fr;gap:48px;padding:42px;background:#eef1e6;border-radius:20px}.letter-sample-label{font-size:12px;color:#333333}.letter-signup{display:grid;grid-template-columns:1fr 1fr;gap:44px;padding:42px;border:1px solid #d7ddce;background:#fff;border-radius:20px;scroll-margin-top:130px}.letter-signup form{display:flex;flex-direction:column;gap:14px;min-width:0}.letter-signup label{font-size:13px;font-weight:600;color:#111111}.letter-signup input[type=email]{width:100%;padding:14px;border:1px solid #cbd6c3;border-radius:8px;font:inherit;color:#111111}.letter-consent{display:flex;align-items:flex-start;gap:10px;line-height:1.6;color:#222222}.letter-consent input{width:18px;height:18px;min-height:18px;flex:none;margin-top:2px}.letter-signup button{min-height:48px;border:0;border-radius:8px;background:var(--brand-green);color:#fff;font:600 14px inherit}.letter-hub .letter-fine{font-size:12px;color:#444444}.letter-faq details{border-bottom:1px solid #d5ddce;padding:20px 0}.letter-faq summary{cursor:pointer;font-weight:600;min-height:44px;line-height:1.6;color:var(--brand-green)}.letter-faq details p{max-width:850px;color:#222222}.letter-signup .newsletter-message{grid-column:1/-1;padding:16px;background:#edf2e7;border-radius:8px;color:#111111}
@media(max-width:900px){.letter-grid{grid-template-columns:1fr}.letter-intro,.letter-sample,.letter-signup{grid-template-columns:1fr;gap:26px}.letter-intro img{max-height:360px;object-fit:contain}.letter-sample,.letter-signup{margin-inline:28px;padding:30px}}
@media(max-width:600px){.letter-intro,.letter-section{margin-block:42px;padding-inline:20px}.letter-sample,.letter-signup{margin-inline:20px;padding:24px}.letter-hub .page-hero h1{font-size:42px}.letter-signup{scroll-margin-top:175px}}
.official-logo,.site-header .official-logo{background:transparent;aspect-ratio:2035/773}.footer-logo{background:#f8f2e7;padding:10px;border-radius:10px}
.footer-logo{background:transparent;padding:0}.footer-logo img,.footer-logo:hover img{filter:brightness(0) invert(1)}
.pantry-missing-list{padding-left:20px;margin:12px 0 22px;font-size:14px;line-height:1.8;color:#5c6a55}.pantry-missing-list li{margin:6px 0}
/* Compact header branding while preserving the transparent logo. */
header.site-header{height:86px}
.site-header .official-logo{width:205px;height:auto;aspect-ratio:2035/773}
@media(max-width:1100px){header.site-header{height:82px}.site-header .official-logo{width:190px}}
@media(max-width:600px){header.site-header{height:116px;gap:2px;padding-block:4px}.site-header .official-logo{width:180px;height:auto}.site-header .header-actions .icon-button,.site-header .menu-button{height:40px;width:40px}.site-header .nav{max-height:calc(100dvh - 170px)}}
/* Smaller header logo, requested size refinement. */
header.site-header{height:72px}
.site-header .official-logo{width:165px;height:auto}
@media(max-width:1100px){header.site-header{height:68px}.site-header .official-logo{width:155px}}
@media(max-width:600px){header.site-header{height:102px;gap:2px;padding-block:3px}.site-header .official-logo{width:145px;height:auto}.site-header .nav{max-height:calc(100dvh - 155px)}}
/* Homepage signup: keep consent separate from the email entry row. */
.newsletter>.newsletter-slot{min-width:0;width:100%}
.newsletter #newsletterForm{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px 10px;width:100%;max-width:none;margin:0;padding:0;background:transparent;border-radius:0}
.newsletter #newsletterForm>input[type=email]{grid-column:1;grid-row:1;display:block;width:100%;min-width:0;min-height:56px;padding:16px 20px;border:1px solid #c8cbb7;border-radius:12px;background:#fffefa;color:#234635;font:inherit;box-sizing:border-box}
.newsletter #newsletterForm>button{grid-column:2;grid-row:1;min-height:56px;padding:14px 22px;border:0;border-radius:12px;background:#084c36;color:white;white-space:nowrap;line-height:1.3;font-size:14px}
.newsletter #newsletterForm>button:hover{background:#153d2c;color:white}
.newsletter #newsletterForm>.consent-row{grid-column:1/-1;grid-row:2;display:flex;align-items:flex-start;justify-content:flex-start;gap:10px;margin:0;padding:0;background:transparent;color:#304a3a;font-size:13px;line-height:1.6;text-align:left;cursor:pointer}
.newsletter #newsletterForm>.consent-row>input[type=checkbox]{appearance:auto;display:block;flex:0 0 18px;width:18px;height:18px;min-width:18px;min-height:18px;max-width:18px;margin:2px 0 0;padding:0;border-radius:3px;accent-color:#084c36;box-shadow:none}
.newsletter #newsletterForm :is(input,button):focus-visible{outline:3px solid #a77b17;outline-offset:3px}
@media(max-width:600px){.newsletter #newsletterForm{grid-template-columns:minmax(0,1fr);gap:14px}.newsletter #newsletterForm>input[type=email]{grid-column:1;grid-row:1}.newsletter #newsletterForm>.consent-row{grid-column:1;grid-row:2}.newsletter #newsletterForm>button{grid-column:1;grid-row:3;width:100%}}
/* Flip the inner panel; retain the existing article reveal, tilt and hover effects. */
.review-deck{min-width:0;width:100%}.review-flip-grid{align-items:stretch;perspective:1400px;width:100%}.review-cards article.review-flip-card{padding:0;background:transparent;isolation:isolate;min-width:0}.review-flip-inner{display:grid;grid-template-columns:minmax(0,1fr);transform-style:preserve-3d;transition:transform .85s cubic-bezier(.22,.7,.2,1);height:100%;border-radius:18px}.review-flip-inner.is-flipped{transform:rotateY(180deg)}.review-flip-face{grid-area:1/1;min-width:0;min-height:350px;padding:32px;display:flex;flex-direction:column;align-items:flex-start;background:#fff;border:1px solid #ffffffb3;border-radius:18px;backface-visibility:hidden;-webkit-backface-visibility:hidden;transform:translateZ(1px)}.review-flip-back{transform:rotateY(180deg) translateZ(1px);background:#fffdf6}.review-face-heading{display:flex;align-items:center;gap:12px;margin-bottom:6px}.review-avatar{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#e8efdf;color:#315440;font:700 12px Arial,sans-serif;flex-shrink:0}.review-flip-face .stars{font-size:15px;letter-spacing:1px}.review-cards .review-flip-face p{font-size:20px;line-height:1.55;margin:18px 0 24px;flex:1;overflow-wrap:anywhere}.review-flip-face strong{line-height:1.5;overflow-wrap:anywhere}.review-source{display:block;font-size:10px;line-height:1.5;color:#75806d;margin-top:8px}.review-note-label{font-size:11px;font-weight:600;color:#617154}.review-flip-face a{font-size:11px;color:#315540;text-decoration:underline;margin-top:10px}.review-rotation-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;margin-top:40px}.review-rotation-controls button{min-width:44px;min-height:44px;padding:10px 14px;border:1px solid #c7c5aa;border-radius:99px;background:#fffdf1;color:#214632;font:600 12px Arial,sans-serif;cursor:pointer}.review-rotation-controls button:hover{background:#214632;color:white}.review-rotation-controls button:disabled{opacity:.65;cursor:default}.review-rotation-controls span{font-size:11px;color:#607053}.review-deck :is(button,a):focus-visible{outline:3px solid #b48924;outline-offset:3px}.review-reduced .review-flip-inner{transition:none!important}.review-reduced .review-flip-card{transition:none!important}@media(max-width:1100px){.review-flip-face{padding:26px;min-height:340px}.review-cards .review-flip-face p{font-size:19px}}@media(max-width:720px){.review-flip-grid{grid-template-columns:1fr}.review-flip-face{min-height:290px;padding:27px}.review-rotation-controls{margin-top:28px}.review-cards .review-flip-face p{font-size:20px}}@media(prefers-reduced-motion:reduce){.review-flip-inner{transition:none!important}}

.mini-footer-legal{display:flex;flex-wrap:wrap;gap:8px 16px}.mini-footer-legal a{color:#f0ca7a}

/* Home page cooking intro: the logo drops into the pot, flips out, then dives back in. */
.site-loader{position:fixed;inset:0;z-index:2147483000;display:grid;place-items:center;padding:22px;background:rgba(248,246,237,.98);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .22s ease,visibility .22s ease}
html.site-loading .site-loader{opacity:1;visibility:visible;pointer-events:auto}
.site-loader-card{width:min(100%,370px);padding:24px 26px 23px;text-align:center;border:1px solid #e7dfca;border-radius:26px;background:#fffdf7;box-shadow:0 22px 70px rgba(7,63,42,.13)}
.site-loader-kicker{margin:0 0 9px;color:#9a7118;font:700 10px/1.4 Arial,sans-serif;letter-spacing:.19em;text-transform:uppercase}
.site-loader-title{margin:0;color:#073f2a;font:600 clamp(24px,6vw,30px)/1.2 Georgia,serif;letter-spacing:-.025em}
.site-loader-message{margin:8px 0 0;color:#566557;font:14px/1.6 Arial,sans-serif}
.site-loader-stage{position:relative;width:min(100%,230px);height:190px;margin:0 auto 7px;isolation:isolate}
.site-loader-art{position:absolute;inset:0;width:100%;height:100%;overflow:visible;animation:loader-pot-bob 1.05s ease-in-out infinite}
.site-loader-art .pot-body{fill:#0a4c35}.site-loader-art .pot-rim{fill:#e3b84f}.site-loader-art .pot-highlight{fill:none;stroke:#4a8065;stroke-width:4;stroke-linecap:round}.site-loader-art .pot-handle{fill:none;stroke:#173c2d;stroke-width:11;stroke-linecap:round}
.site-loader-art .bubble{fill:#e8bf5d;transform-box:fill-box;transform-origin:center;animation:loader-bubble .85s ease-in-out infinite}.site-loader-art .bubble-two{animation-delay:.24s}.site-loader-art .bubble-three{animation-delay:.48s}.site-loader-art .shadow{fill:#d9e0d2}
.site-loader-art .steam{fill:none;stroke:#d6a537;stroke-width:3.5;stroke-linecap:round;stroke-dasharray:36;stroke-dashoffset:36;animation:loader-steam 1.3s ease-in-out infinite}.site-loader-art .steam-two{animation-delay:.3s}.site-loader-art .steam-three{animation-delay:.6s}
.site-loader-logo{position:absolute;z-index:2;top:10px;left:50%;width:104px;height:auto;max-height:42px;object-fit:contain;opacity:0;transform:translate(-50%,-70px) scale(.6);transform-origin:center;animation:loader-logo-cook 2.4s cubic-bezier(.4,0,.2,1) infinite}
.site-loader-fire{position:absolute;z-index:0;left:50%;bottom:7px;display:flex;align-items:flex-end;gap:7px;height:43px;transform:translateX(-50%)}
.site-loader-fire i{display:block;width:15px;height:28px;border-radius:70% 25% 65% 35%;background:linear-gradient(155deg,#ffd55a 5%,#f39b25 55%,#e85825 100%);transform:rotate(12deg);transform-origin:50% 100%;animation:loader-flame .55s ease-in-out infinite alternate}
.site-loader-fire i:nth-child(2),.site-loader-fire i:nth-child(4){height:38px;width:17px;animation-delay:.17s}.site-loader-fire i:nth-child(3){height:31px;animation-delay:.32s}.site-loader-fire i:nth-child(5){height:23px;animation-delay:.08s}
@keyframes loader-pot-bob{0%,100%{transform:translateY(1px) rotate(-1deg)}50%{transform:translateY(-6px) rotate(1deg)}}
@keyframes loader-flame{from{transform:scaleY(.76) rotate(-12deg);filter:brightness(.92)}to{transform:scaleY(1.12) rotate(13deg);filter:brightness(1.15)}}
@keyframes loader-logo-cook{0%,100%{opacity:0;transform:translate(-50%,-70px) rotate(-55deg) scale(.55)}7%{opacity:1;transform:translate(-50%,-46px) rotate(-12deg) scale(.78)}18%{opacity:1;transform:translate(-54%,-2px) rotate(88deg) scale(.78)}27%,35%{opacity:0;transform:translate(-54%,31px) rotate(190deg) scale(.55)}44%{opacity:1;transform:translate(-55%,-31px) rotate(325deg) scale(.77)}55%{opacity:1;transform:translate(-55%,-65px) rotate(405deg) scale(1.02)}65%{opacity:1;transform:translate(-52%,-35px) rotate(535deg) scale(.8)}76%,86%{opacity:0;transform:translate(-52%,30px) rotate(705deg) scale(.55)}94%{opacity:.6;transform:translate(-50%,-45px) rotate(790deg) scale(.7)}}
@keyframes loader-bubble{0%,100%{transform:scale(.68);opacity:.55}50%{transform:scale(1.15);opacity:1}}
@keyframes loader-steam{0%{stroke-dashoffset:36;opacity:0;transform:translateY(6px)}30%{opacity:.85}100%{stroke-dashoffset:0;opacity:0;transform:translateY(-8px)}}
@media(max-width:480px){.site-loader-card{padding:21px 18px 19px;border-radius:22px}.site-loader-stage{height:176px}.site-loader-art{width:215px;left:50%;right:auto;transform:translateX(-50%);animation:loader-pot-bob-mobile 1.05s ease-in-out infinite}.site-loader-logo{width:96px}}
@keyframes loader-pot-bob-mobile{0%,100%{transform:translateX(-50%) translateY(1px) rotate(-1deg)}50%{transform:translateX(-50%) translateY(-6px) rotate(1deg)}}
@media(prefers-reduced-motion:reduce){.site-loader,.site-loader *{animation:none!important;transition:none!important}.site-loader-logo{opacity:1;transform:translate(-50%,-45px) scale(.7)}.site-loader-art .steam{stroke-dashoffset:0;opacity:.45}}
