:root{--ink:#1b1a18;--red:#a73327;--cream:#f5f1e9;--line:#d9d3c8;--muted:#6e6a64;--paper:#fff;--accent:#efc24f;--shadow:0 18px 55px rgba(27,26,24,.16)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:16px/1.5 Roboto,Arial,sans-serif;color:var(--ink);background:#fff}button,input,select{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit}.shell{width:min(1240px,calc(100% - 40px));margin:auto}.demo-note{padding:7px 16px;text-align:center;background:var(--cream);border-bottom:1px solid #e8e1d6;font-size:.78rem;color:#5d574f}.demo-note b{color:var(--red)}header{background:#fff;border-bottom:1px solid var(--line)}
.masthead{min-height:88px;display:grid;grid-template-columns:1fr minmax(330px,560px) auto;align-items:center;gap:28px}.brand{display:flex;align-items:center;gap:11px;text-decoration:none}.brand-mark{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--red);color:#fff;font-size:1.4rem;font-weight:900}.brand strong{display:block;font-size:1.65rem;line-height:1;letter-spacing:-.05em}.brand em{color:var(--red);font-style:normal}.brand small{display:block;margin-top:4px;color:var(--muted);font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700}.top-search{display:flex;border:2px solid var(--ink);min-height:44px}.top-search input{min-width:0;flex:1;border:0;outline:0;padding:10px 13px}.top-search button{border:0;background:var(--ink);color:#fff;padding:0 18px;font-weight:900}.fav-button{border:0;background:transparent;font-weight:800;white-space:nowrap}.fav-button span{display:inline-grid;place-items:center;min-width:21px;height:21px;border-radius:12px;background:var(--red);color:#fff;font-size:.72rem}
.catalog-nav{border-top:1px solid var(--line)}.nav-scroll{display:flex;align-items:center;gap:34px;overflow:auto;scrollbar-width:none}.catalog-nav button{flex:none;border:0;border-bottom:4px solid transparent;background:transparent;padding:15px 0 11px;font-weight:900}.catalog-nav button.active,.catalog-nav button:hover{color:var(--red);border-color:var(--red)}.catalog-menu{display:none;border-top:1px solid #eee8de;background:var(--cream)}.catalog-menu.open{display:block}.catalog-menu .shell{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding-block:24px}.menu-group h3{margin:0 0 10px;font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.menu-group button{display:block;width:100%;padding:7px 0;border:0;background:none;text-align:left;font-weight:700}.menu-group button:hover{color:var(--red)}
main{padding:34px 0 70px}.intro{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:48px;align-items:end;padding-bottom:36px;border-bottom:1px solid var(--line)}.eyebrow{display:inline-block;color:var(--red);font-size:.71rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.intro h1,.section-title h2,.recipe-head h2{margin:7px 0 10px;line-height:.98;letter-spacing:-.055em}.intro h1{max-width:850px;font-size:clamp(2.7rem,5vw,5.1rem)}.intro p{max-width:780px;margin:0;color:var(--muted);font-size:1.03rem}.intro-facts{display:grid;grid-template-columns:auto 1fr;gap:8px 13px;padding:22px;border:1px solid var(--line);border-top:6px solid var(--ink)}.intro-facts b{font-size:1.8rem;line-height:1;color:var(--red)}.intro-facts span{align-self:center;font-size:.84rem;font-weight:700;color:var(--muted)}
.directory{padding-top:44px}.section-title,.recipe-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:18px}.section-title h2,.recipe-head h2{font-size:clamp(2rem,3.4vw,3.1rem)}.clear-link{border:0;border-bottom:2px solid var(--ink);background:transparent;padding:4px 0;font-weight:900}.directory-grid{display:grid;grid-template-columns:repeat(5,1fr);border-block:5px solid var(--ink)}.directory-card{padding:21px 18px 24px;border-right:1px solid var(--line)}.directory-card:last-child{border-right:0}.directory-card h3{margin:0 0 12px;font-size:.92rem;text-transform:uppercase;letter-spacing:.06em}.directory-card button{display:flex;justify-content:space-between;gap:9px;width:100%;padding:8px 0;border:0;background:transparent;text-align:left;color:#35322e}.directory-card button:hover,.directory-card button.active{color:var(--red);font-weight:900}.directory-card small{color:#8b857d}
.recipe-section{padding-top:58px}.recipe-head{border-bottom:5px solid var(--ink);padding-bottom:15px}.recipe-head p{margin:0;color:var(--muted)}.sort-wrap{display:grid;gap:5px;font-size:.76rem;font-weight:800}.sort-wrap select{min-width:185px;border:1px solid var(--ink);background:#fff;padding:9px 12px}.active-filters{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}.filter-pill{border:1px solid var(--red);background:#fff4f0;color:var(--red);padding:7px 10px;font-size:.78rem;font-weight:800}.recipe-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:34px 22px}.recipe-card{border:0;background:#fff}.recipe-card:hover h3{color:var(--red)}.image-wrap{position:relative;aspect-ratio:4/3;overflow:hidden;background:linear-gradient(135deg,#e9e3d9,#c8b9a8)}.image-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.recipe-card:hover img{transform:scale(1.025)}.source-badge{position:absolute;left:10px;top:10px;padding:6px 8px;background:rgba(255,255,255,.92);font-size:.67rem;font-weight:900}.heart{position:absolute;right:10px;top:10px;width:38px;height:38px;border:0;border-radius:50%;background:#fff;font-size:1.05rem}.heart.saved{background:var(--red);color:#fff}.card-body{padding:12px 1px 0}.card-kicker{font-size:.7rem;text-transform:uppercase;letter-spacing:.07em;color:var(--red);font-weight:900}.recipe-card h3{margin:6px 0 8px;font-size:1.22rem;line-height:1.12;letter-spacing:-.025em}.card-desc{margin:0 0 10px;color:var(--muted);font-size:.84rem}.meta{display:flex;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:.74rem;font-weight:700}.status{margin-top:9px;font-size:.71rem;font-weight:800;color:#7a5c11}.empty{display:none;padding:45px;border:1px solid var(--line);text-align:center;color:var(--muted)}
.trust{display:grid;grid-template-columns:repeat(3,1fr);margin-top:64px;border-block:1px solid var(--ink)}.trust>div{padding:24px 26px 26px 0;border-right:1px solid var(--line)}.trust>div+div{padding-left:26px}.trust>div:last-child{border-right:0}.trust span{color:var(--red);font-size:.7rem;font-weight:900;letter-spacing:.08em}.trust b{display:block;margin:4px 0}.trust p{margin:0;color:var(--muted);font-size:.84rem}footer{border-top:1px solid var(--line);padding:28px 0 38px;color:var(--muted);font-size:.76rem}.footer-row{display:flex;justify-content:space-between;gap:20px}
.overlay{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:24px;background:rgba(20,18,15,.7);opacity:0;pointer-events:none;transition:.2s}.overlay.open{opacity:1;pointer-events:auto}.recipe-modal{position:relative;width:min(1050px,100%);max-height:calc(100vh - 48px);overflow:auto;background:#fff;box-shadow:var(--shadow)}.close{position:absolute;z-index:4;right:16px;top:16px;width:44px;height:44px;border:0;border-radius:50%;background:#fff;font-size:1.45rem;box-shadow:0 5px 20px #0002}.modal-image{height:360px;background:linear-gradient(135deg,#e8e0d4,#cdbca7)}.modal-image img{width:100%;height:100%;object-fit:cover}.modal-body{padding:30px 40px 48px}.modal-body h2{max-width:830px;margin:7px 0 10px;font-size:clamp(2.2rem,5vw,4rem);line-height:.98;letter-spacing:-.05em}.modal-lead{max-width:760px;margin:0;color:var(--muted);font-size:1.02rem}.modal-meta{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.modal-meta span{padding:7px 9px;border:1px solid var(--line);font-size:.77rem;font-weight:800}.serving-box{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:24px 0;padding:15px 17px;border-left:5px solid var(--red);background:var(--cream)}.counter{display:flex;align-items:center;gap:12px}.counter button{width:36px;height:36px;border:0;background:var(--red);color:#fff;font-size:1.2rem;font-weight:900}.counter output{min-width:26px;text-align:center;font-weight:900}.recipe-layout{display:grid;grid-template-columns:.86fr 1.14fr;gap:38px}.recipe-layout h3,.editor-box h3{margin:0 0 12px;font-size:1.35rem}.ingredients{list-style:none;padding:0;margin:0}.ingredients li{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-bottom:1px solid var(--line)}.ingredients b{text-align:right}.steps{margin:0;padding-left:22px}.steps li{padding:0 0 14px 5px}.editor-boxes{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:24px}.editor-box{padding:17px;background:var(--cream);border-top:4px solid var(--ink)}.editor-box p{margin:0;color:#58534d;font-size:.86rem}.source-line{margin:24px 0 0;padding-top:14px;border-top:1px solid var(--line);font-size:.75rem;color:var(--muted)}
@media(max-width:1000px){.masthead{grid-template-columns:1fr auto}.top-search{grid-column:1/-1;grid-row:2}.catalog-menu .shell{grid-template-columns:repeat(2,1fr)}.directory-grid{grid-template-columns:repeat(2,1fr)}.directory-card{border-bottom:1px solid var(--line)}.recipe-grid{grid-template-columns:repeat(3,1fr)}.intro{grid-template-columns:1fr}.intro-facts{max-width:420px}.trust{grid-template-columns:1fr}.trust>div,.trust>div+div{padding:20px 0;border-right:0;border-bottom:1px solid var(--line)}}
@media(max-width:720px){.shell{width:min(100% - 24px,1240px)}.masthead{min-height:auto;padding:12px 0;gap:12px}.brand strong{font-size:1.4rem}.brand small{display:none}.fav-button{font-size:.78rem}.nav-scroll{gap:22px}.intro{gap:22px}.intro h1{font-size:2.65rem}.section-title,.recipe-head{align-items:start;flex-direction:column}.directory-grid{grid-template-columns:1fr}.directory-card{border-right:0}.recipe-grid{grid-template-columns:repeat(2,1fr)}.recipe-layout,.editor-boxes{grid-template-columns:1fr}.modal-image{height:270px}.modal-body{padding:25px 20px 42px}.footer-row{flex-direction:column}.overlay{padding:0;place-items:stretch}.recipe-modal{max-height:100vh;min-height:100vh}}
@media(max-width:480px){.recipe-grid{grid-template-columns:1fr}.image-wrap{aspect-ratio:16/11}.catalog-menu .shell{grid-template-columns:1fr}.top-search button{padding:0 12px}.serving-box{align-items:flex-start;flex-direction:column}}
@media print{header,footer,.close,.serving-box,.source-line{display:none!important}.overlay{position:static;opacity:1;background:#fff;padding:0}.recipe-modal{max-height:none;width:100%;box-shadow:none}.modal-image{height:230px}}
/* Recipe detail v2 — full page cooking view */
.overlay{display:block;overflow:auto;padding:0;background:#f3efe7;opacity:0;pointer-events:none}.overlay.open{opacity:1;pointer-events:auto}
.recipe-modal{position:relative;width:100%;min-height:100vh;max-height:none;overflow:visible;background:#fff;box-shadow:none}.modal-body{width:min(1180px,calc(100% - 48px));margin:0 auto;padding:92px 0 80px}
.close{position:fixed;z-index:70;left:24px;right:auto;top:18px;width:auto;height:42px;border:1px solid var(--line);border-radius:999px;background:#fff;padding:0 16px;font-size:.84rem;font-weight:900;box-shadow:0 8px 25px #0001}.close span{margin-left:6px}
.recipe-breadcrumbs{display:flex;align-items:center;gap:8px;overflow:hidden;margin-bottom:28px;color:var(--muted);font-size:.76rem;white-space:nowrap}.recipe-breadcrumbs button{border:0;background:none;padding:0;color:var(--red);font-weight:900}.recipe-breadcrumbs b{overflow:hidden;text-overflow:ellipsis}
.recipe-detail-head{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:50px;align-items:end;padding-bottom:28px;border-bottom:1px solid var(--line)}.recipe-detail-head h2{max-width:820px;margin:8px 0 14px;font-size:clamp(2.8rem,5.7vw,5.8rem);line-height:.92;letter-spacing:-.06em}.modal-lead{max-width:760px;margin:0;color:#57524c;font-size:1.08rem;line-height:1.6}.recipe-status-card{padding:18px 18px 17px;border-top:5px solid var(--ink);background:var(--cream)}.recipe-status-card b,.recipe-status-card span,.recipe-status-card small{display:block}.recipe-status-card b{margin-bottom:10px;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.recipe-status-card span{font-weight:900;color:#6f5310}.recipe-status-card small{margin-top:4px;color:var(--muted)}
.recipe-jump{display:flex;gap:10px;flex-wrap:wrap;padding:18px 0 24px}.recipe-jump a,.recipe-jump button{border:1px solid var(--line);background:#fff;padding:9px 13px;text-decoration:none;font-size:.78rem;font-weight:900}.recipe-jump a:hover,.recipe-jump button:hover{border-color:var(--red);color:var(--red)}
.recipe-hero{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(340px,.88fr);gap:38px;align-items:start}.recipe-photo{position:sticky;top:76px;overflow:hidden;background:#e8e1d6}.recipe-photo img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover}.photo-credit{position:absolute;left:12px;bottom:12px;padding:6px 9px;background:rgba(255,255,255,.92);font-size:.68rem;font-weight:800}.recipe-summary{border-top:5px solid var(--ink)}
.summary-stats{display:grid;grid-template-columns:1fr 1fr;border-inline:1px solid var(--line)}.summary-stats div{min-height:78px;padding:13px 14px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.summary-stats div:nth-child(2n){border-right:0}.summary-stats small,.summary-stats b{display:block}.summary-stats small{margin-bottom:5px;color:var(--muted);font-size:.67rem;text-transform:uppercase;letter-spacing:.06em}.summary-stats b{font-size:.98rem}.recipe-summary .serving-box{margin:18px 0 24px;border:0;border-block:1px solid var(--line);background:#fff;padding:13px 0}.recipe-summary .serving-box small{display:block;margin-top:3px;color:var(--muted)}
.ingredient-head{display:flex;align-items:end;justify-content:space-between;gap:20px;padding-bottom:10px;border-bottom:3px solid var(--ink)}.ingredient-head h3{margin:2px 0 0;font-size:2rem;letter-spacing:-.04em}.ingredient-head>span{font-size:.76rem;color:var(--muted);font-weight:800}.ingredients li{padding:11px 0;font-size:.91rem}.ingredients li b{font-size:.88rem}
.recipe-method{max-width:900px;margin:76px auto 0}.recipe-section-head{padding-bottom:22px;border-bottom:5px solid var(--ink)}.recipe-section-head h3{margin:5px 0 8px;font-size:clamp(2.2rem,4vw,3.7rem);line-height:.98;letter-spacing:-.05em}.recipe-section-head p{max-width:650px;margin:0;color:var(--muted)}
.steps-v2{counter-reset:step}.step-card{display:grid;grid-template-columns:78px 1fr;gap:20px;padding:27px 0;border-bottom:1px solid var(--line)}.step-number{font-size:2.5rem;font-weight:900;line-height:1;color:#c7b9a7}.step-card h4{margin:0 0 8px;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--red)}.step-card p{margin:0;font-size:1rem;line-height:1.7;color:#393631}
.recipe-editorial-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:70px 0 0}.result-card{padding:26px 28px 30px;background:var(--cream);border-top:6px solid var(--ink)}.result-card.warning{border-color:var(--red)}.result-card h3{margin:6px 0 10px;font-size:1.65rem;letter-spacing:-.035em}.result-card p{margin:0;color:#4e4943;line-height:1.65}.source-line{max-width:900px;margin:42px auto 0;padding-top:17px;border-top:1px solid var(--line);line-height:1.6}
@media(max-width:900px){.recipe-detail-head{grid-template-columns:1fr;gap:22px}.recipe-status-card{max-width:420px}.recipe-hero{grid-template-columns:1fr}.recipe-photo{position:relative;top:auto}.recipe-photo img{aspect-ratio:4/3}.recipe-summary{max-width:none}.recipe-editorial-grid{grid-template-columns:1fr}.recipe-method{margin-top:52px}}
@media(max-width:600px){.modal-body{width:min(100% - 24px,1180px);padding:74px 0 54px}.close{left:12px;top:12px}.recipe-detail-head h2{font-size:2.75rem}.recipe-jump{overflow:auto;flex-wrap:nowrap;scrollbar-width:none}.recipe-jump a,.recipe-jump button{flex:none}.recipe-photo img{aspect-ratio:1/1}.summary-stats{grid-template-columns:1fr 1fr}.step-card{grid-template-columns:50px 1fr;gap:12px}.step-number{font-size:1.8rem}.recipe-editorial-grid{margin-top:48px}.result-card{padding:21px}.recipe-breadcrumbs{margin-bottom:18px}}
@media print{.overlay{display:block!important;position:static!important;opacity:1!important;background:#fff!important}.recipe-modal{min-height:auto}.modal-body{width:100%;padding:0}.close,.recipe-jump,.recipe-status-card{display:none!important}.recipe-detail-head{grid-template-columns:1fr}.recipe-photo{position:static}.recipe-hero{grid-template-columns:1fr 1fr}.recipe-method{margin-top:30px}.source-line{display:block!important}}

.recipe-intro{max-width:790px;margin-top:16px;color:#514d47;font-size:1.04rem;line-height:1.72}.recipe-intro p{margin:0 0 12px}.recipe-intro p:last-child{margin-bottom:0}
.ingredient-group+.ingredient-group{margin-top:24px}.ingredient-group h4{margin:0 0 7px;padding-bottom:7px;border-bottom:2px solid var(--ink);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--red)}
.step-card p{margin:0 0 10px;line-height:1.7;color:#4f4b45}.step-card p:last-child{margin-bottom:0}.step-card h4{margin:0 0 8px;font-size:1.22rem}
.recipe-extra{margin-top:46px;padding-top:34px;border-top:5px solid var(--ink)}.tips-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.tips-grid article{padding:18px 20px;background:var(--cream);border-top:3px solid var(--red)}.tips-grid h4{margin:0 0 7px;font-size:1rem}.tips-grid p{margin:0;color:#5b554e;line-height:1.6}
.storage-box{display:grid;grid-template-columns:minmax(200px,.35fr) minmax(0,.65fr);gap:36px;align-items:start}.storage-box h3{margin:5px 0 0;font-size:2rem}.storage-box>p{margin:2px 0 0;line-height:1.72;color:#514d47}
@media(max-width:720px){.recipe-intro{font-size:.98rem}.tips-grid,.storage-box{grid-template-columns:1fr}.storage-box{gap:12px}.ingredient-group+.ingredient-group{margin-top:20px}}
