@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600;700&display=swap');:root{--ink:#202719;--green:#274738;--lime:#e2edb9;--paper:#fbfaf5;--line:#dddcd2}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 'DM Sans',Arial,sans-serif}a{color:inherit}header{border-bottom:1px solid var(--line);background:#fff}header .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 24px}.brand{font:700 25px/1.1 'Playfair Display',Georgia,serif;text-decoration:none;color:var(--green)}nav{display:flex;gap:24px;flex-wrap:wrap}nav a{text-decoration:none;font-weight:600;font-size:14px}nav a:hover,.text-link:hover{text-decoration:underline}.wrap{max-width:1120px;margin:auto;padding:0 24px}main{min-height:65vh}.hero{background:var(--green);color:#fff;padding:72px 0 76px}.eyebrow{text-transform:uppercase;letter-spacing:.15em;font-size:13px;font-weight:700;color:#a9d395}.hero h1{max-width:800px;font:600 clamp(42px,6vw,76px)/1.09 'Playfair Display',Georgia,serif;letter-spacing:-.035em;margin:15px 0 18px}.hero p{max-width:620px;font-size:19px;color:#e9efdd}.section{padding:60px 0}.section h2,.article h1,.page h1{font:600 clamp(36px,4vw,55px)/1.15 'Playfair Display',Georgia,serif;letter-spacing:-.025em;margin:0 0 14px}.section-intro{max-width:650px;color:#536054;margin-bottom:30px}.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.card{display:block;border:1px solid var(--line);background:#fff;text-decoration:none;overflow:hidden;border-radius:12px;transition:transform .2s,box-shadow .2s}.card:hover{transform:translateY(-3px);box-shadow:0 12px 24px #1b352018}.art{height:230px;display:grid;place-items:center;background:var(--card-bg);color:var(--card-color);font:600 42px/1.1 'Playfair Display',Georgia,serif;padding:24px;text-align:center;letter-spacing:-.03em}.card-content{padding:24px}.meta{font-size:13px;text-transform:uppercase;letter-spacing:.09em;font-weight:700;color:#64775d}.card h3{font:600 29px/1.18 'Playfair Display',Georgia,serif;margin:10px 0}.card p{margin:0 0 16px;color:#536054}.text-link{font-weight:700;color:var(--green)}.article,.page{max-width:800px;margin:0 auto;padding:64px 24px 90px}.article .lead,.page .lead{font-size:20px;line-height:1.6;color:#4c594d}.article h2,.page h2{font:600 29px 'Playfair Display',Georgia,serif;margin:42px 0 12px}.article ul,.article ol{padding-left:24px}.article li{padding:5px 0}.recipe-facts{display:flex;gap:30px;flex-wrap:wrap;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:30px 0}.recipe-banner{height:240px;border-radius:12px;display:grid;place-items:center;background:var(--card-bg);color:var(--card-color);font:600 45px 'Playfair Display',Georgia,serif;text-align:center;padding:20px}.note{background:#edf1dc;border-left:4px solid var(--green);padding:18px 22px;margin-top:40px}footer{background:#172d24;color:#e8eede;padding:42px 0}footer .wrap{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap}footer a{color:#e8eede;margin-right:18px}footer small{display:block;margin-top:12px;color:#bacaba}.back{font-weight:700;color:var(--green);text-decoration:none}.back:hover{text-decoration:underline}@media(max-width:640px){header .wrap{align-items:flex-start;flex-direction:column}nav{gap:14px}.hero{padding:52px 0}.hero p{font-size:17px}.grid{grid-template-columns:1fr}.art{height:190px}.section{padding:40px 0}.article,.page{padding-top:42px}.recipe-banner{height:180px;font-size:35px}}
/* Photo frames contain images without letting their intrinsic size push into card copy. */
.art,.recipe-banner{position:relative;overflow:hidden}
.art img,.recipe-banner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.card-content{position:relative;background:#fff}
@media (prefers-reduced-motion:no-preference){
 .hero .wrap{animation:arrive .65s ease-out both}
 .card{animation:arrive .55s ease-out both}
 .card:nth-child(2){animation-delay:.08s}.card:nth-child(3){animation-delay:.16s}.card:nth-child(4){animation-delay:.24s}
 .card img{transition:transform .45s ease}
 .card:hover img{transform:scale(1.045)}
 @keyframes arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
}
@media (prefers-reduced-motion:reduce){.card,.card img{animation:none;transition:none}}

.browse{margin:24px 0 30px}.browse label{display:block;font-weight:700;margin-bottom:8px}.browse input{width:min(100%,430px);border:1px solid #8b9a8b;border-radius:8px;background:#fff;padding:12px 14px;font:inherit}.browse input:focus-visible,.filters button:focus-visible,.action:focus-visible{outline:3px solid #7c9d43;outline-offset:3px}.filters{display:flex;gap:9px;flex-wrap:wrap;margin-top:18px}.filters button,.action{border:1px solid #9ba99a;background:#fff;color:var(--green);border-radius:6px;padding:9px 15px;font:600 14px 'DM Sans',Arial,sans-serif;cursor:pointer;text-decoration:none}.filters button.active,.filters button:hover,.action:hover{background:var(--green);color:#fff}.browse #result-count{color:#536054;font-size:14px;margin:13px 0 0}.card[hidden],#no-results[hidden]{display:none}.recipe-actions{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0}.recipe-actions .action{display:inline-flex;align-items:center}.article #recipe{scroll-margin-top:24px}@media print{header,footer,.back,.recipe-actions,.recipe-banner{display:none!important}.article{max-width:none;padding:0}.article h1{font-size:30px}.article li{padding:2px 0}.note{margin-top:20px}body{background:white}}

.browse{position:relative;isolation:isolate;overflow:hidden;margin:32px 0 34px;padding:30px 34px 27px;border-radius:16px;background:linear-gradient(115deg,#203f32 0%,#315945 58%,#476a4b 100%);box-shadow:0 14px 32px rgba(30,58,39,.16);color:#fff}
.browse::before{content:"";position:absolute;z-index:-1;right:-120px;top:-180px;width:410px;height:410px;border-radius:50%;background:radial-gradient(circle,rgba(206,226,151,.19),transparent 67%);pointer-events:none}
.browse label{display:block;margin:0 0 11px;font:600 27px/1.2 'Playfair Display',Georgia,serif;color:#fff}
.browse input{display:block;width:100%;max-width:none;min-height:58px;border:2px solid transparent;border-radius:9px;background:#fff;padding:13px 18px;font:500 17px/1.4 'DM Sans',Arial,sans-serif;color:#203227;box-shadow:0 3px 12px rgba(0,0,0,.1)}
.browse input::placeholder{color:#617266;opacity:1}
.browse input:focus-visible{outline:3px solid #d7eb9b;outline-offset:3px}
.browse .filters{margin:20px 0 0;gap:9px}
.browse .filters button{border:1px solid rgba(255,255,255,.53);border-radius:999px;background:rgba(255,255,255,.09);color:#fff;padding:9px 17px;transition:background .2s,color .2s,border-color .2s}
.browse .filters button.active,.browse .filters button:hover{border-color:#e3edc6;background:#e3edc6;color:#203f32}
.browse #result-count{color:#e0e9db;margin:17px 0 0}
@media(max-width:640px){.browse{padding:24px 20px;margin:24px 0 28px}.browse label{font-size:24px}.browse input{min-height:54px;font-size:16px}.browse .filters{gap:8px}.browse .filters button{padding:8px 13px}}

.recipe-guidance{margin-top:46px;padding-top:3px;border-top:1px solid var(--line)}.recipe-guidance ul{padding-left:22px}.recipe-guidance li{margin:8px 0}.next-recipe{margin-top:40px;padding-top:20px;border-top:1px solid var(--line);font-weight:700}.next-recipe a{color:var(--green)}

html{overflow-x:hidden}body{min-width:0;overflow-wrap:break-word}
.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.card,.card-content,.article,.page{min-width:0}
.brand{flex-shrink:0}nav a{display:inline-flex;align-items:center;min-height:44px}
.filters button,.recipe-actions .action{min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.article img,.page img{max-width:100%;height:auto}
@media(max-width:900px){
 header .wrap{gap:12px;padding-top:14px;padding-bottom:14px}
 nav{gap:8px 16px}
 .hero{padding:58px 0 62px}
 .section{padding:48px 0}
 .grid{gap:18px}
 .card-content{padding:20px}
 .card h3{font-size:26px}
 .art{height:200px}
}
@media(max-width:700px){
 header .wrap{align-items:stretch;flex-direction:column;gap:8px}
 nav{gap:4px 20px}
 .grid{grid-template-columns:1fr;max-width:580px;margin-inline:auto}
 .art{height:clamp(190px,52vw,270px)}
 .hero{padding:48px 0 52px}
 .hero h1{font-size:clamp(38px,9vw,58px)}
 .section{padding:42px 0}
 .browse{margin:25px 0 30px;padding:25px}
 .article,.page{padding-top:42px;padding-bottom:65px}
}
@media(max-width:480px){
 .wrap{padding-left:18px;padding-right:18px}
 header .wrap{padding-top:12px;padding-bottom:10px}
 .brand{font-size:23px}
 nav{justify-content:space-between;gap:4px}
 nav a{font-size:14px;padding:0 3px}
 .hero{padding:40px 0 44px}
 .hero h1{font-size:clamp(36px,10vw,46px);line-height:1.13}
 .hero p{font-size:16px;line-height:1.55}
 .section h2,.article h1,.page h1{font-size:clamp(33px,9vw,42px)}
 .section{padding:36px 0}
 .browse{padding:22px 18px;margin:22px 0 26px;border-radius:13px}
 .browse label{font-size:23px}
 .browse input{font-size:16px;min-height:54px;padding:12px 14px}
 .browse .filters{gap:8px;margin-top:16px}
 .browse .filters button{min-height:44px;padding:9px 14px}
 .card-content{padding:20px}
 .card h3{font-size:27px}
 .recipe-facts{gap:8px 20px}
 .recipe-actions{gap:9px}
 .recipe-actions .action{flex:1 1 145px;text-align:center}
 .article,.page{padding-left:18px;padding-right:18px}
 .article .lead,.page .lead{font-size:18px}
 footer .wrap{gap:18px}
 footer .wrap>div:last-child{display:flex;flex-wrap:wrap;gap:4px 14px}
 footer a{display:inline-flex;align-items:center;min-height:44px;margin-right:0}
}
@media(max-width:350px){.wrap,.article,.page{padding-left:15px;padding-right:15px}.browse{padding:18px 15px}.brand{font-size:21px}}
.section.wrap{padding-left:24px;padding-right:24px}
@media(max-width:480px){.section.wrap{padding-left:18px;padding-right:18px}}
@media(max-width:350px){.section.wrap{padding-left:15px;padding-right:15px}}
.brand{display:inline-flex;align-items:center;gap:11px;min-height:44px;white-space:nowrap}
.brand img{display:block;flex:none;width:42px;height:42px;border-radius:11px}
@media(max-width:480px){.brand{font-size:21px;gap:9px}.brand img{width:38px;height:38px}}
@media(max-width:350px){.brand{font-size:19px;gap:8px}.brand img{width:36px;height:36px}}
.author-line{margin:20px 0 0;color:#536054;font-size:14px;font-weight:600}
.author-line a{color:var(--green);text-underline-offset:3px}
.author-profile{display:grid;grid-template-columns:minmax(0,250px) minmax(0,1fr);gap:28px;align-items:center;margin:25px 0 36px}
.author-profile img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:16px}
.author-profile .lead{margin:8px 0 12px}.author-profile p:last-child{margin-bottom:0}
@media(max-width:600px){.author-profile{grid-template-columns:1fr;gap:20px}.author-profile img{max-width:280px}}
.recipe-story,.recipe-conclusion{font-size:17px;line-height:1.8;color:#38463c}
.recipe-story h2,.recipe-conclusion h2{color:var(--ink)}
.recipe-story p,.recipe-conclusion p{margin:0 0 18px}
.recipe-conclusion{margin-top:42px;padding:2px 24px 7px;background:#f0f2e6;border-radius:12px}
@media(max-width:480px){.recipe-story,.recipe-conclusion{font-size:16px}.recipe-conclusion{padding:2px 18px 5px}}
.footer-identity{display:flex;align-items:center;gap:10px}
.footer-identity img{display:block;width:38px;height:38px;border:1px solid #bdcdb7;border-radius:10px}
.author-line{display:flex;align-items:center;gap:10px}
.author-line img{display:block;width:38px;height:38px;object-fit:cover;border-radius:50%}
