:root{--paper:#f7f5ee;--ink:#2c3029;--muted:#6e7268;--line:#dcded2;--soft:#eeeee4;--accent:#526044;--accent-light:#e7ebdf;--serif:Georgia,'Times New Roman',serif;--sans:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font:15px/1.6 var(--sans);-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit}button,a,input,summary{touch-action:manipulation}a{color:inherit;text-decoration:none}button{color:inherit;cursor:pointer}button:disabled{opacity:.35;cursor:default}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:5px}button{border:0;background:none}svg{display:block}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400}.skip{position:fixed;top:8px;left:8px;z-index:10;padding:10px 16px;background:var(--ink);color:white;transform:translateY(-150%)}.skip:focus{transform:none}.sidebar{width:242px;position:fixed;inset:0 auto 0 0;border-right:1px solid var(--line);padding:44px 30px 28px;display:flex;flex-direction:column;z-index:3;background:var(--paper)}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:34px;height:44px;border:1px solid var(--ink);border-radius:1px 4px 4px 1px;position:relative;display:grid;place-items:center}.brand-mark:before{content:'';position:absolute;left:6px;top:0;bottom:0;border-left:1px solid var(--ink)}.brand-mark>span{font:20px var(--serif);margin-left:5px}.brand-name{font:22px/1.08 var(--serif);letter-spacing:-.8px}.nav{display:grid;gap:8px;margin-top:68px}.nav a{display:flex;align-items:center;gap:12px;padding:10px 12px;margin:0 -12px;font-size:13px}.nav a.active{background:var(--accent-light);color:#3f4e32;border-radius:3px}.nav a:hover{background:var(--soft)}.nav svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.35}.count-pill{margin-left:auto;min-width:21px;height:21px;display:grid;place-items:center;font-size:11px;background:var(--paper);border-radius:50%;font-variant-numeric:tabular-nums}.sidebar-bottom{margin-top:auto;color:var(--muted);font:italic 17px/1.5 var(--serif)}.sprig{width:75px;height:110px;margin:30px 0 22px;stroke:#768266;fill:none;stroke-width:1.25}.sidebar-bottom small{display:block;font:10px var(--sans);letter-spacing:1.5px;margin-top:16px;text-transform:uppercase}.main{margin-left:242px;max-width:1440px;padding:38px 64px 25px;min-height:100vh}.topline{display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:1.7px;color:var(--muted);text-transform:uppercase;margin-bottom:61px}.topline .right{display:flex;align-items:center;gap:8px;letter-spacing:.8px}.dot{height:5px;width:5px;border-radius:50%;background:#79876b}.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:1.8px;color:var(--muted)}.hero{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:48px}.hero h1{font:clamp(42px,4.7vw,69px)/1.08 var(--serif);letter-spacing:-2.6px}.hero h1 em{font-weight:400;color:var(--accent)}.hero-copy{max-width:244px;font-size:13px;line-height:1.9;color:var(--muted);padding-bottom:5px}.collection-toolbar{padding:0 0 19px;border-bottom:1px solid var(--ink);display:flex;align-items:center;gap:20px;justify-content:space-between}.section-label{font-size:10px;letter-spacing:1.6px;text-transform:uppercase;white-space:nowrap}.section-label span{color:var(--muted);margin-left:7px;letter-spacing:0}.searchbox{position:relative;width:284px}.searchbox svg{width:16px;height:16px;stroke:var(--muted);fill:none;stroke-width:1.4;position:absolute;left:0;top:12px}.searchbox input{padding:8px 20px 8px 27px;border:0;background:transparent;color:var(--ink);width:100%;font-size:12px;border-bottom:1px solid var(--line);border-radius:0}.searchbox input::placeholder{color:var(--muted)}.recipe-row{display:grid;grid-template-columns:47px 1fr auto;gap:20px;align-items:center;border-bottom:1px solid var(--line);min-height:112px;transition:background .2s}.recipe-row:hover{background:rgba(232,234,220,.35)}.recipe-number{font:italic 15px var(--serif);color:#979c90}.recipe-row h2{font:29px/1.3 var(--serif);letter-spacing:-.6px;margin-bottom:5px}.recipe-row .description{font-size:12px;color:var(--muted);line-height:1.7;max-width:660px}.recipe-row a{display:block;padding:21px 0}.row-tail{display:flex;gap:28px;align-items:center;padding-left:16px}.row-meta{text-align:right;font-size:10px;line-height:1.9;white-space:nowrap;color:var(--muted)}.row-meta .category{display:block;font-size:9px;letter-spacing:1.2px;text-transform:uppercase}.add-round{width:38px;height:38px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-size:20px;line-height:1;font-weight:300}.add-round[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:white}.add-round:hover{border-color:var(--accent)}.collection-note{margin:19px 0 55px;font-size:11px;line-height:1.7;color:var(--muted);display:flex;justify-content:space-between;gap:25px}.footer{border-top:1px solid var(--line);padding-top:21px;margin-top:35px;display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:10px}.footer .serif{font:italic 16px var(--serif)}.empty{padding:55px 10px;text-align:center;color:var(--muted);border-bottom:1px solid var(--line)}.empty h2{font:30px var(--serif);color:var(--ink);margin-bottom:10px}.empty a{display:inline-block;margin-top:18px;text-decoration:underline;text-underline-offset:4px}.breadcrumb{font-size:11px;display:inline-flex;gap:10px;align-items:center;margin-bottom:27px;color:var(--muted)}.breadcrumb:hover{color:var(--ink)}.recipe-header{max-width:800px;margin-bottom:34px}.recipe-header h1{font:clamp(44px,5.5vw,76px)/1.05 var(--serif);letter-spacing:-2.5px;margin:14px 0 22px}.recipe-header .lede{font:17px/1.7 var(--serif);max-width:660px;color:#5d6556}.draft-label{display:inline-flex;align-items:center;gap:6px;background:var(--soft);padding:4px 8px;font-size:9px;letter-spacing:.7px;text-transform:uppercase;border-radius:2px;margin-top:19px}.recipe-facts{display:flex;gap:35px;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:32px 0}.fact small{display:block;font-size:9px;text-transform:uppercase;letter-spacing:1px;color:var(--muted)}.fact span{font:20px var(--serif)}.fact.wide{margin-left:auto;max-width:350px}.fact.wide span{font:12px/1.6 var(--sans)}.recipe-actions{display:flex;justify-content:space-between;gap:15px;align-items:center;margin:24px 0 45px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid var(--ink);border-radius:2px;padding:10px 18px;font-size:12px;min-height:43px;background:transparent;text-align:center}.btn.primary{background:var(--ink);color:var(--paper)}.btn.subtle{border-color:var(--line)}.btn:hover{background:var(--soft)}.btn.primary:hover{background:#435139}.btn.selected{background:var(--accent)}.action-buttons{display:flex;gap:10px}.serving-control{display:flex;align-items:center;gap:14px;font-size:12px}.serving-control>span{color:var(--muted)}.stepper{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:3px;overflow:hidden;background:var(--paper)}.stepper button{width:34px;height:36px;display:grid;place-items:center;font-size:18px}.stepper button:hover{background:var(--soft)}.stepper output{min-width:30px;text-align:center;font-size:12px;font-variant-numeric:tabular-nums}.recipe-body{display:grid;grid-template-columns:minmax(220px,.78fr) minmax(320px,1.5fr);gap:60px}.recipe-body h2,.notes-title{font:29px var(--serif);margin-bottom:24px;letter-spacing:-.5px}.ingredient-list{list-style:none;margin:0;padding:0}.ingredient-list li{padding:13px 0;border-bottom:1px solid var(--line);font-size:13px;line-height:1.6;display:grid;grid-template-columns:auto 1fr;gap:10px}.ingredient-amount{font-weight:500;white-space:nowrap;min-width:46px}.ingredient-list small{display:block;color:var(--muted);font-size:11px}.ingredient-group{font-size:10px;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted);margin:22px 0 0}.ingredient-group:first-child{margin-top:0}.quantity-note{color:var(--muted);font-size:10px;line-height:1.7;margin-top:18px}.method{list-style:none;padding:0;margin:0;counter-reset:steps}.method li{counter-increment:steps;position:relative;padding-left:40px;margin-bottom:30px}.method li:before{content:counter(steps,decimal-leading-zero);position:absolute;left:0;top:0;font:italic 16px var(--serif);color:#8e987f}.method h3{font:21px/1.3 var(--serif);margin-bottom:8px}.method p{font-size:13px;line-height:1.9;color:#58614f}.recipe-notes{margin-top:45px;padding:27px 30px;background:var(--soft);border-radius:3px}.recipe-notes h3{font:23px var(--serif);margin-bottom:12px}.recipe-notes ul{padding-left:18px;margin:0;font-size:12px;line-height:1.9;color:#58614f}.recipe-notes li+li{margin-top:10px}.safety{margin-top:18px;border-left:2px solid #8f9a7f;padding-left:16px;font-size:12px;line-height:1.8}.safety strong{display:block;font-weight:500;margin-bottom:6px}.sources{margin-top:25px;font-size:11px;color:var(--muted)}.sources summary{cursor:pointer}.sources a{display:block;text-decoration:underline;text-underline-offset:3px;margin-top:8px}.page-title{font:clamp(44px,5.3vw,68px)/1.1 var(--serif);letter-spacing:-2px;margin:13px 0 20px}.page-intro{font-size:13px;color:var(--muted);max-width:590px;line-height:1.8;margin-bottom:30px}.shopping-layout{display:grid;grid-template-columns:260px 1fr;gap:43px;margin-top:38px}.selected-menu{padding-right:25px;border-right:1px solid var(--line)}.selected-menu h2{font:24px var(--serif);margin-bottom:23px}.selection{padding:18px 0;border-top:1px solid var(--line)}.selection-title{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:12px}.selection a{font:18px/1.3 var(--serif)}.selection a:hover{text-decoration:underline}.remove-recipe{font-size:20px;line-height:1;color:var(--muted);width:24px;height:24px}.selection .serving-control{justify-content:space-between;gap:10px;font-size:10px}.shopping-toolbar{display:flex;gap:10px;flex-wrap:wrap;padding-bottom:25px;border-bottom:1px solid var(--line)}.list-group{margin-bottom:27px}.list-group h2{font-size:10px;text-transform:uppercase;letter-spacing:1.4px;padding-bottom:11px;border-bottom:1px solid var(--ink);margin-bottom:2px}.grocery-row{display:flex;align-items:center;gap:11px;padding:12px 0;border-bottom:1px solid var(--line);font-size:12px}.grocery-row label{display:flex;align-items:center;gap:11px;flex:1;cursor:pointer;min-height:27px}.grocery-row input{appearance:none;width:17px;height:17px;flex:0 0 17px;border:1px solid #959e8d;border-radius:2px;background:transparent;margin:0}.grocery-row input:checked{background:var(--accent);border-color:var(--accent)}.grocery-row input:checked:after{content:'✓';display:block;font-size:12px;line-height:16px;color:#fff;text-align:center}.grocery-row.checked .grocery-name{text-decoration:line-through;color:#8a8d83}.grocery-row .amount{font-size:11px;color:var(--muted);margin-left:auto;padding-left:10px}.pantry-btn{font-size:10px;color:var(--muted);padding:4px 0 4px 8px;text-decoration:underline;text-underline-offset:3px}.pantry-btn:hover{color:var(--ink)}.shopping-note{font-size:11px;color:var(--muted);line-height:1.8;margin-bottom:28px}.pantry-box{border-top:1px solid var(--line);padding-top:20px;font-size:12px;margin-top:15px}.pantry-box summary{cursor:pointer}.pantry-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;color:var(--muted)}.pantry-row button{font-size:10px;text-decoration:underline}.shop-count{font-size:11px;color:var(--muted);margin-bottom:23px}.notice{padding:10px 14px;background:var(--accent-light);font-size:11px;margin:14px 0;border-radius:3px}.prose{max-width:690px;margin-top:35px}.prose h2{font:28px var(--serif);margin:35px 0 12px}.prose p{font-size:13px;color:#58614f;line-height:1.9;margin-bottom:14px}.prose a{text-decoration:underline}.toast{position:fixed;left:calc(50% + 121px);transform:translateX(-50%);bottom:25px;background:var(--ink);color:white;padding:11px 20px;border-radius:4px;font-size:12px;z-index:9;box-shadow:0 4px 16px #0001;max-width:calc(100% - 40px);text-align:center}.toast[hidden],[hidden]{display:none!important}dialog{background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:4px;padding:34px;max-width:510px;width:calc(100% - 32px);box-shadow:0 12px 70px #0002}dialog::backdrop{background:#242d2299}dialog h2{font:31px var(--serif);margin-bottom:15px}dialog p{font-size:12px;line-height:1.8;color:var(--muted);margin-bottom:18px}dialog .close{position:absolute;right:14px;top:10px;font-size:25px}.transfer-field{width:100%;font-size:11px;line-height:1.6;border:1px solid var(--line);padding:10px;background:white;resize:none;color:var(--muted);margin-bottom:15px}.dialog-actions{display:flex;gap:9px;flex-wrap:wrap}@media(min-width:1450px){.main{padding-left:90px;padding-right:90px}}@media(max-width:1120px){.sidebar{width:200px;padding:36px 25px}.main{margin-left:200px;padding:34px 38px 25px}.hero h1{font-size:53px}.hero-copy{max-width:190px}.row-tail{gap:15px}.recipe-body{gap:35px;grid-template-columns:1fr 1.35fr}.shopping-layout{grid-template-columns:220px 1fr;gap:28px}.toast{left:calc(50% + 100px)}}@media(max-width:820px){.sidebar{width:auto;position:relative;border-right:0;border-bottom:1px solid var(--line);padding:20px 24px;flex-direction:row;align-items:center;justify-content:space-between;gap:15px}.brand-name{font-size:18px}.brand-mark{width:27px;height:35px}.brand-mark>span{font-size:16px}.nav{display:flex;gap:14px;margin:0}.nav a{margin:0;padding:8px;font-size:0;gap:7px}.nav a svg{width:19px;height:19px}.count-pill{font-size:10px}.sidebar-bottom{display:none}.main{margin-left:0;padding:30px 30px 24px;max-width:100%}.topline{margin-bottom:45px}.hero{margin-bottom:40px}.hero h1{font-size:56px}.hero-copy{max-width:225px}.recipe-body{grid-template-columns:1fr 1.5fr;gap:40px}.toast{left:50%}.shopping-layout{grid-template-columns:210px 1fr;gap:28px}}@media(max-width:600px){.sidebar{padding:17px 22px}.brand-name{font-size:17px}.brand{gap:9px}.nav{gap:4px}.nav a{padding:8px}.main{padding:27px 23px 22px}.topline{margin-bottom:36px;font-size:8px;letter-spacing:1.2px}.topline .right{font-size:8px}.hero{display:block;margin-bottom:31px}.hero h1{font-size:49px;letter-spacing:-2px;line-height:1.08}.hero-copy{margin-top:23px;max-width:300px;font-size:12px;line-height:1.8}.collection-toolbar{display:block;padding-bottom:13px}.section-label{font-size:9px;display:block;margin-bottom:13px}.searchbox{width:100%}.searchbox input{font-size:12px;padding-top:11px;padding-bottom:11px}.searchbox svg{top:15px}.recipe-row{grid-template-columns:23px 1fr auto;gap:11px;min-height:110px}.recipe-row h2{font-size:25px;letter-spacing:-.5px}.recipe-row .description{font-size:11px;line-height:1.6}.recipe-number{font-size:12px;align-self:start;margin-top:29px}.row-tail{padding-left:0}.row-meta{display:none}.add-round{width:33px;height:33px;font-size:18px}.collection-note{display:block;font-size:10px;margin-bottom:37px}.collection-note span+span{display:block;margin-top:8px}.footer{font-size:9px;padding-top:19px}.footer .serif{font-size:14px}.breadcrumb{margin-bottom:22px}.recipe-header h1{font-size:48px;letter-spacing:-1.8px}.recipe-header .lede{font-size:16px}.recipe-facts{gap:25px;flex-wrap:wrap;margin:27px 0}.fact span{font-size:19px}.fact.wide{margin-left:0;flex-basis:100%;max-width:none}.recipe-actions{align-items:flex-start;flex-direction:column;gap:20px;margin-bottom:38px}.action-buttons{width:100%}.action-buttons .btn{flex:1;font-size:11px;padding:10px 12px}.recipe-body{display:block}.ingredients{margin-bottom:40px}.recipe-body h2{font-size:28px;margin-bottom:18px}.ingredient-list li{padding:12px 0}.method li{margin-bottom:28px;padding-left:33px}.method h3{font-size:22px}.method p{font-size:13px}.recipe-notes{padding:23px;margin-top:34px}.recipe-header{margin-bottom:22px}.page-title{font-size:48px}.shopping-layout{display:block;margin-top:28px}.selected-menu{border-right:0;padding-right:0;margin-bottom:30px}.selected-menu h2{font-size:24px;margin-bottom:17px}.selection{display:flex;gap:15px;align-items:center}.selection-title{flex:1;margin:0}.selection a{font-size:17px}.selection .serving-control>span{display:none}.remove-recipe{order:2}.selection .serving-control{order:2}.selected-menu>.btn{margin-top:10px}.shopping-toolbar{gap:8px}.shopping-toolbar .btn{font-size:11px;padding:9px 11px;flex:1}.grocery-row{font-size:12px;gap:6px}.pantry-btn{font-size:9px}.grocery-row .amount{padding-left:2px}.shopping-note{font-size:10px}.toast{bottom:15px;font-size:11px}.page-intro{font-size:12px}.prose{margin-top:25px}dialog{padding:28px 23px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}@media print{.sidebar,.topline,.breadcrumb,.recipe-actions,.footer,.toast,.sources,.draft-label,.skip,dialog,.shopping-toolbar,.selected-menu,.pantry-btn{display:none!important}.main{margin:0;padding:0;max-width:100%}.recipe-header h1{font-size:38px}.recipe-body{grid-template-columns:1fr 1.5fr;gap:35px}.recipe-notes{break-inside:avoid}.method li{break-inside:avoid}.shopping-layout{display:block}body{background:white;font-size:11px}.recipe-facts{padding:15px 0;margin:20px 0}.ingredient-list li,.method p{font-size:11px}}

/* Utility-focused layout */
.main{padding-top:64px}.utility-header{margin-bottom:35px}.utility-header h1{font-size:52px;letter-spacing:-1.8px}.page-title{margin-top:0}.collection-note{margin-bottom:25px}@media(max-width:820px){.main{padding-top:38px}}@media(max-width:600px){.main{padding-top:30px}.utility-header{margin-bottom:26px}.utility-header h1{font-size:42px}.page-title{font-size:42px}}

.unit-control{display:flex;align-items:center;gap:3px;flex-wrap:wrap;margin:0 0 14px;font-size:11px}.unit-control>span{margin-right:9px;color:var(--muted)}.unit-control button{border:1px solid var(--line);padding:7px 10px;min-height:36px;border-radius:2px}.unit-control button[aria-pressed=true]{background:var(--accent);color:white;border-color:var(--accent)}.unit-note{font-size:10px;color:var(--muted);line-height:1.6;margin:0 0 15px}.unit-note a{text-decoration:underline}.ingredient-amount{white-space:normal;max-width:130px;min-width:55px}.ingredient-list li{grid-template-columns:minmax(65px,0.7fr) minmax(120px,1.6fr)}.original-measure{font-size:10px!important;font-weight:400;color:var(--muted);display:block}.measure-note{font-size:9px!important;font-weight:400;color:var(--muted);display:block;line-height:1.5}.grocery-row .amount{max-width:135px}.grocery-row .measure-note{display:none}.grocery-name{flex:1}.brand-name{letter-spacing:-.65px}.unit-control button:focus-visible{outline-offset:2px}@media print{.unit-control{display:none}}
.recipe-provenance{border-top:1px solid var(--line);margin-top:54px;padding-top:19px;color:var(--muted);font-size:11px;line-height:1.8;max-width:100%}.recipe-provenance p+p{margin-top:5px}.source-label{display:block;font-size:9px;text-transform:uppercase;letter-spacing:1.2px;margin-bottom:6px}.source-links a{text-decoration:underline;text-underline-offset:3px}.source-links{font-size:10px}@media print{.recipe-provenance{font-size:9px;break-inside:avoid;margin-top:28px}}

.brand-mark .monogram-letter{position:relative;left:.035em}

/* Keep long passive waits readable without inflating the cooking-session total. */
.recipe-time{font-size:11px;color:var(--muted);line-height:1.7;margin-top:7px}.recipe-time .passive-time{margin-left:7px}.recipe-facts{flex-wrap:wrap}.timing-fact{max-width:290px}.timing-fact .session-time{font:20px var(--serif)}.timing-fact .passive-time{display:block;font:11px/1.6 var(--sans);color:var(--muted);margin-top:5px}@media(max-width:600px){.recipe-time{font-size:10px}.recipe-time .passive-time{display:block;margin-left:0}.timing-fact{max-width:100%}}

.related-recipes{font-size:12px;line-height:1.8;margin-top:16px}.related-recipes a{text-decoration:underline;text-underline-offset:3px}
