:root{--paper:#faf9f5;--cream:#f0eee5;--ink:#283c2b;--muted:#666f62;--line:#dce1d4;--green:#3f5438;--lime:#e2ebc9;--rust:#a65e3f;--white:#fff;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.6 var(--sans)}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #a65e3f;outline-offset:4px}button{color:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.12}h1{font-size:clamp(36px,4.2vw,64px);letter-spacing:-1.9px;margin-bottom:22px}h2{font-size:32px;letter-spacing:-.6px}h3{font-size:24px}p{margin-bottom:16px}small{font-size:12px}.skip{position:fixed;top:-100px;background:white;padding:16px;z-index:99}.skip:focus{top:0}.sidebar{width:238px;position:fixed;inset:0 auto 0 0;border-right:1px solid var(--line);padding:34px 24px;display:flex;flex-direction:column;background:#f6f5ee;z-index:10}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;font:24px var(--serif);white-space:nowrap}.monogram{border:1px solid var(--green);border-radius:50%;width:45px;height:45px;display:grid;place-items:center;font-size:24px;font-style:italic;flex-shrink:0}.brand small{display:block;font:8px var(--sans);letter-spacing:1.4px;margin-top:8px}.nav-label{font-size:11px;color:var(--muted);margin:40px 0 15px}nav{display:grid;gap:6px}nav a{display:flex;align-items:center;gap:12px;text-decoration:none;padding:11px 12px;border-radius:8px;font-size:13px;min-height:46px}nav a:hover{background:#eaece0}nav a.active{background:var(--lime);font-weight:700}nav a span{font-size:18px;width:20px;text-align:center;font-weight:400}.sidebar-bottom{margin-top:auto;padding-top:30px}.sidebar-bottom p{font:25px/1.25 var(--serif);margin:12px 0 20px}.tiny-label,.eyebrow{font-size:10px;letter-spacing:1.9px;text-transform:uppercase;font-weight:700}.eyebrow{color:var(--rust);display:block;margin-bottom:18px}.text-btn{background:none;border:0;padding:7px 0;border-bottom:1px solid var(--line);font-size:12px}.shell{margin-left:238px}.topbar{height:79px;border-bottom:1px solid var(--line);padding:0 44px;display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--muted)}.topbar>div{display:flex;align-items:center;gap:18px}.edition{font-size:9px;letter-spacing:1.5px;border:1px solid var(--line);padding:5px 10px;border-radius:20px}.icon-btn{border:1px solid var(--line);background:transparent;border-radius:50%;width:38px;height:38px;font-size:21px}main{max-width:1440px;margin:auto;padding:38px 44px 60px;min-height:75vh}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:430px;gap:45px;align-items:center;margin-bottom:45px}.hero-copy{padding:20px 0}.hero p{max-width:440px;color:var(--muted);font-size:16px;line-height:1.8}.hero-photo{height:430px;position:relative;border-radius:140px 140px 12px 12px;overflow:hidden;background:var(--cream)}.hero-photo img{width:100%;height:100%;object-fit:cover}.photo-note{position:absolute;bottom:13px;left:13px;background:#faf9f5ec;border-radius:6px;padding:8px 13px;font-size:10px;max-width:90%}.btn{display:inline-flex;align-items:center;justify-content:center;gap:22px;background:var(--green);color:white;border:1px solid var(--green);border-radius:7px;padding:12px 19px;text-decoration:none;font-size:13px;min-height:46px}.btn:hover{background:#2e4228}.btn.secondary{background:transparent;color:var(--ink);border-color:#bdc7b6}.btn.secondary:hover{background:var(--lime)}.btn.small{min-height:38px;padding:7px 13px;font-size:12px}.actions{display:flex;gap:10px;flex-wrap:wrap}.section-title{display:flex;justify-content:space-between;align-items:end;gap:15px;margin:32px 0 22px}.section-title h2{margin:0}.section-title p{font-size:12px;color:var(--muted);margin:0}.products{display:grid;grid-template-columns:repeat(4,1fr);gap:17px}.product{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:white;display:flex;flex-direction:column}.book-art{height:194px;display:flex;justify-content:center;align-items:center;background:var(--cream);position:relative;overflow:hidden}.book-art:after{content:'';width:130px;height:130px;border:1px solid #ffffff70;border-radius:50%;position:absolute;right:-45px;top:-25px}.book{width:112px;height:153px;background:#3c5036;color:#f9f5e8;box-shadow:6px 8px 0 #d5d4c6,10px 12px 19px #0002;transform:rotate(-6deg);border-left:6px solid #ffffff25;display:flex;flex-direction:column;justify-content:space-between;padding:15px 11px;font:21px/1.1 var(--serif);position:relative;z-index:1}.book small{font:6px var(--sans);letter-spacing:1.4px}.book-art.plan{background:#e3e8d6}.plan .book{background:#9d6047;transform:rotate(5deg)}.book-art.grocery{background:#e5d9bf}.grocery .book{background:#ede8d7;color:var(--ink)}.book-art.gut{background:#dfe5dc}.gut .book{background:#69795d;transform:rotate(5deg)}.product-body{padding:20px;display:flex;flex-direction:column;flex:1}.product h3{font-size:22px;margin:10px 0 12px}.product p{font-size:12px;color:var(--muted);line-height:1.75}.product .btn{margin-top:auto}.product .tiny-label{font-size:8px;letter-spacing:1.2px;color:var(--rust)}.note{font-size:12px;color:var(--muted);border-left:2px solid #a8b893;padding:10px 16px;margin:22px 0;background:#f0f2e9;border-radius:0 6px 6px 0}.home-strip{margin-top:32px;border:1px solid var(--line);border-radius:10px;padding:23px;display:flex;justify-content:space-between;gap:20px;align-items:center}.home-strip h3{margin-bottom:5px}.home-strip p{font-size:12px;margin:0;color:var(--muted)}.intro{max-width:700px;margin:10px 0 28px}.intro h1{font-size:48px}.intro p{color:var(--muted)}.toolbar{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:24px 0}.search{flex:1;min-width:190px;position:relative}.search input{width:100%;padding:12px 15px;background:white;border:1px solid var(--line);border-radius:7px}.field{padding:11px 12px;border:1px solid var(--line);border-radius:7px;background:white;color:var(--ink);max-width:100%}.chips{display:flex;gap:7px;flex-wrap:wrap;margin:15px 0 25px}.chip{border:1px solid var(--line);border-radius:25px;background:transparent;padding:8px 14px;font-size:12px;min-height:38px}.chip.active{background:var(--green);border-color:var(--green);color:white}.recipe-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.recipe-card{background:white;border:1px solid var(--line);border-radius:10px;overflow:hidden;position:relative;display:flex;flex-direction:column}.recipe-art{height:85px;padding:22px;display:flex;align-items:center;justify-content:space-between;background:#ecefdf;color:#647454;font:26px var(--serif)}.recipe-art[data-cat='Sweet treats']{background:#f0e2d7;color:#8b654a}.recipe-art[data-cat='Drinks']{background:#e7ece6;color:#5a796d}.recipe-art[data-cat='Snacks & dips']{background:#eae3d3;color:#887545}.recipe-art .tiny-label{font:9px var(--sans);letter-spacing:1px}.recipe-body{padding:19px;display:flex;flex-direction:column;flex:1}.recipe-body h3{font-size:22px;margin:0 35px 13px 0}.recipe-body h3 button{text-align:left;border:0;background:none;padding:0;font:inherit;line-height:1.15}.recipe-meta{color:var(--muted);font-size:11px;margin:0 0 17px}.recipe-body .text-btn{margin-top:auto;align-self:flex-start}.save{position:absolute;right:13px;top:98px;border:0;background:transparent;font-size:25px;line-height:1;width:34px;height:34px}.save.saved{color:var(--rust)}.results-count{font-size:12px;color:var(--muted);margin-bottom:18px}.empty{padding:40px;border:1px dashed var(--line);border-radius:10px;text-align:center;color:var(--muted)}.center{text-align:center;margin:25px 0}.planner-head{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap}.week-tabs{display:flex;gap:7px}.meal-list{display:grid;gap:11px}.meal{display:grid;grid-template-columns:78px 1fr auto;gap:20px;align-items:center;border:1px solid var(--line);padding:20px;background:white;border-radius:9px}.meal-day{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--muted)}.meal-day strong{font:28px var(--serif);color:var(--ink);display:block}.meal h3{margin:0 0 5px;font-size:23px}.meal p{margin:0;font-size:12px;color:var(--muted)}.meal .actions{justify-content:end}.flex-meals{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:15px}.soft-card{background:var(--cream);border:1px solid var(--line);border-radius:9px;padding:21px}.soft-card h3{font-size:22px;margin-bottom:9px}.soft-card p{font-size:12px;margin:0;color:var(--muted)}.split{display:grid;grid-template-columns:1.45fr 1fr;gap:28px}.shopping-list{background:white;border:1px solid var(--line);border-radius:10px;overflow:hidden}.shopping-row{display:flex;align-items:center;gap:13px;padding:12px 18px;border-bottom:1px solid #edf0e7;font-size:13px;cursor:pointer}.shopping-row:last-child{border:0}.shopping-row input{width:18px;height:18px;accent-color:var(--green);flex-shrink:0}.shopping-row span{flex:1}.shopping-row strong{font-size:12px;white-space:nowrap}.shopping-row:has(input:checked){color:#90988b;text-decoration:line-through;background:#f8faf4}.progress{height:5px;background:var(--line);border-radius:5px;margin:10px 0 22px;overflow:hidden}.progress div{background:var(--green);height:100%;transition:width .2s}.extras{margin:15px 0;display:flex;gap:8px}.extras input{min-width:0;flex:1}.remove{background:none;border:0;min-height:30px;min-width:30px;font-size:20px}.guide-layout{display:grid;grid-template-columns:245px minmax(0,1fr);gap:28px;align-items:start}.chapters{position:sticky;top:20px;background:#f0f2e9;border:1px solid var(--line);border-radius:10px;padding:15px;max-height:75vh;overflow:auto}.chapters button{display:block;width:100%;text-align:left;border:0;background:transparent;padding:11px;border-radius:6px;font-size:12px;line-height:1.4}.chapters button.active{background:var(--green);color:white}.reader{background:white;border:1px solid var(--line);border-radius:10px;padding:35px;min-width:0}.reader h2{font-size:35px}.reader h3{font:600 17px var(--sans);margin:28px 0 12px}.reader p{font-size:14px;line-height:1.85}.reader .eyebrow{font-size:9px}.reader textarea{display:block;width:100%;min-height:90px;border:1px solid var(--line);border-radius:6px;background:var(--paper);padding:10px;margin:8px 0 20px;resize:vertical}.reader label{font-size:12px;font-weight:600;display:block}.table-wrap{overflow:auto;margin:20px 0}table{width:100%;border-collapse:collapse;font-size:12px;text-align:left}th{background:#e9eedf}th,td{padding:10px;border-bottom:1px solid var(--line);vertical-align:top;min-width:95px}td{white-space:pre-line}.reader-nav{display:flex;justify-content:space-between;margin-top:30px;gap:10px}.reader a{overflow-wrap:anywhere;color:var(--rust)}.safety{background:#f8eee7;border-color:#c18c70}.download-row{display:flex;align-items:center;gap:20px;padding:25px;border:1px solid var(--line);border-radius:10px;background:white;margin-bottom:14px}.download-row h3{font-size:25px;margin:0 0 7px}.download-row p{font-size:12px;color:var(--muted);margin:0}.download-row .btn{margin-left:auto;white-space:nowrap}footer{border-top:1px solid var(--line);padding:24px 44px;display:flex;justify-content:space-between;gap:15px;font-size:10px;color:var(--muted);flex-wrap:wrap}footer span{font-style:italic}dialog{border:1px solid var(--line);border-radius:14px;background:var(--paper);color:var(--ink);width:min(760px,calc(100vw - 24px));max-height:88vh;padding:40px;box-shadow:0 25px 90px #0003}dialog::backdrop{background:#1b2c25a6;backdrop-filter:blur(3px)}.close{position:sticky;float:right;top:0;background:var(--paper);border:1px solid var(--line);border-radius:50%;font-size:24px;width:38px;height:38px;z-index:2}.modal-title{font-size:38px;margin-right:30px}.recipe-detail{display:grid;grid-template-columns:.85fr 1.4fr;gap:25px}.recipe-detail h3{font-size:23px;margin:24px 0 15px}.recipe-detail p,.recipe-detail li{font-size:13px;line-height:1.85}.recipe-detail ol{padding-left:20px}.recipe-detail li{margin-bottom:13px}.ingredients{white-space:pre-line}.choose-row{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:14px 0}.choose-row p{font-size:14px;margin:0}.choose-row small{color:var(--muted);display:block}.toast{position:fixed;bottom:24px;left:calc(50% + 100px);transform:translateX(-50%);background:var(--ink);color:white;border-radius:8px;padding:12px 20px;z-index:50;opacity:0;pointer-events:none;transition:opacity .15s;font-size:13px;max-width:85vw}.toast.show{opacity:1}.review-note{font-size:11px;color:var(--muted);margin-top:28px}.counter{font:32px var(--serif);color:var(--green)}
@media(min-width:1550px){.hero-photo{height:490px}.hero{gap:70px}.book-art{height:230px}.book{transform:rotate(-6deg) scale(1.15)}}
@media(max-width:1150px){.sidebar{width:208px;padding:28px 16px}.shell{margin-left:208px}main{padding:30px}.topbar{padding:0 30px}.hero{gap:25px}.hero-photo{height:390px}.products{grid-template-columns:repeat(2,1fr)}.recipe-grid{grid-template-columns:repeat(2,1fr)}.guide-layout{grid-template-columns:190px minmax(0,1fr)}.reader{padding:25px}.split{grid-template-columns:1fr}}
@media(max-width:760px){.sidebar{position:relative;width:100%;padding:20px 20px 10px;border-right:0;border-bottom:1px solid var(--line)}.brand{font-size:24px}.monogram{width:39px;height:39px}.brand small{font-size:8px}.nav-label,.sidebar-bottom{display:none}nav{display:flex;overflow:auto;margin-top:18px;padding-bottom:5px;gap:4px}nav a{flex-shrink:0;padding:9px 12px;font-size:12px;min-height:42px}nav a span{font-size:16px;width:16px}.shell{margin:0}.topbar{height:55px;padding:0 20px}.edition{font-size:8px}.topbar>div{gap:10px}main{padding:24px 20px 40px}.hero{grid-template-columns:1fr;gap:22px;margin-bottom:30px;min-height:auto}.hero-copy{padding:8px 0 0}.hero h1{font-size:48px;max-width:450px}.hero p{font-size:14px}.hero-photo{height:320px;border-radius:100px 100px 9px 9px}.hero-photo img{object-position:50% 48%}.section-title{align-items:start}.section-title h2{font-size:28px}.section-title p{max-width:140px;text-align:right;font-size:10px}.products{gap:12px}.book-art{height:165px}.book{width:95px;height:132px;font-size:19px}.product-body{padding:15px}.product h3{font-size:21px}.product p{font-size:11px}.product .btn{font-size:11px;gap:8px;padding:10px 8px}.home-strip{align-items:start;flex-direction:column}.intro h1{font-size:41px}.intro p{font-size:14px}.recipe-grid{gap:12px}.recipe-body{padding:15px}.recipe-body h3{font-size:20px;margin-right:22px}.save{right:5px;top:96px;font-size:23px}.recipe-art{padding:17px}.recipe-art .tiny-label{font-size:8px}.recipe-meta{font-size:10px}.toolbar{gap:9px}.toolbar .search{flex-basis:100%}.toolbar .field{flex:1;min-width:0}.meal{grid-template-columns:45px 1fr;gap:13px;padding:16px}.meal h3{font-size:22px}.meal .actions{grid-column:2;justify-content:start}.meal-day{font-size:9px}.meal-day strong{font-size:23px}.meal p{font-size:11px}.flex-meals{grid-template-columns:1fr}.planner-head{align-items:start}.week-tabs{gap:5px}.week-tabs .chip{padding:8px 12px}.guide-layout{display:block}.chapters{position:static;max-height:180px;margin-bottom:20px;padding:10px}.chapters button{padding:10px}.reader{padding:23px}.reader h2{font-size:30px}.reader p{font-size:13px}.download-row{flex-wrap:wrap;padding:20px;gap:12px}.download-row .btn{margin-left:0}.download-row h3{font-size:24px}.recipe-detail{grid-template-columns:1fr;gap:0}dialog{padding:23px}.modal-title{font-size:32px}.toast{left:50%}footer{padding:24px 20px}.shopping-row{padding:12px}.shopping-row strong{font-size:11px}.note{font-size:11px}.reader-nav .btn{font-size:11px;padding:9px 12px}}
@media(max-width:360px){main{padding:20px 14px}.hero h1{font-size:42px}.recipe-grid{grid-template-columns:1fr}.products{gap:9px}.product-body{padding:12px}.product h3{font-size:20px}.book-art{height:148px}.week-tabs .chip{padding:8px 9px}.section-title p{display:none}.edition{display:none}}
.chapters{display:block}.reader a.btn{color:white}.reader a.btn.secondary{color:var(--ink)}.reader td textarea{min-height:70px;min-width:110px;margin:0;font-size:12px}.btn:disabled{cursor:default;opacity:.55}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}
@media print{.sidebar,.topbar,footer,.actions,.toolbar,.chips,.chapters,.reader-nav,.toast,.close,.save,.btn,.text-btn,.extras{display:none!important}.shell{margin:0}main{padding:0}.hero-photo{display:none}.hero,.guide-layout,.split{display:block}.reader{border:0;padding:0}.recipe-card,.meal{break-inside:avoid}.recipe-grid{grid-template-columns:repeat(2,1fr)}dialog[open]{position:static;max-height:none;width:100%;border:0;box-shadow:none}body:has(dialog[open]) .shell{display:none}body{background:white;color:black}textarea{border:1px solid #aaa!important}.shopping-row{padding:5px}a{text-decoration:none}}

.tc-access{max-width:620px;margin:8vh auto;padding:35px}.tc-access h1{font-size:44px}.tc-access a{margin:10px 8px 0 0}.product-price{font-weight:700;margin:12px 0}.product-state{color:var(--green);font-size:12px;letter-spacing:.08em}.unlock-detail{max-width:760px}.unlock-detail .book-art{max-width:280px;margin-bottom:24px}.bundle-offer{background:var(--lime);border-radius:18px;padding:28px;margin:28px 0}.bundle-offer h2{margin-top:0}.bundle-offer .actions{margin-top:18px}.checkout-note{font-size:13px;line-height:1.6;margin:16px 0;color:var(--muted)}.commerce-status{border:1px solid var(--green);padding:14px 18px;margin-bottom:22px;border-radius:12px}.purchase-summary{font-size:24px;font-weight:700;margin:18px 0}.btn[disabled]{opacity:.65;cursor:not-allowed}.product .btn{width:100%}.product-body{display:flex;flex-direction:column}.product-body .btn{margin-top:auto}