@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=DM+Serif+Display:ital@0;1&display=swap');
:root{--paper:#faf8f3;--white:#fffefa;--ink:#29372e;--green:#344c3b;--sage:#e7ecdf;--muted:#788075;--line:#e4e4d9;--rust:#ae6142;--serif:'DM Serif 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)}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}a:focus-visible,button:focus-visible{outline:3px solid var(--rust);outline-offset:4px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.12}h1{font-size:clamp(38px,4.7vw,65px);letter-spacing:-1.5px}h2{font-size:32px;letter-spacing:-.6px}h3{font-size:25px}p{margin:14px 0;line-height:1.75}small{font-size:12px}.site-header{max-width:1240px;margin:auto;min-height:105px;padding:22px 34px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:13px;font-family:var(--serif);font-size:27px;line-height:1.05}.brand-mark{font-size:38px;background:var(--green);color:#fff9e9;width:48px;height:48px;text-align:center;border-radius:50%;line-height:1.05;padding-top:3px}.brand small{display:block;font:9px/1 var(--sans);letter-spacing:2.3px;margin-top:9px}.site-header nav{display:flex;align-items:center;gap:32px;font-size:13px;font-weight:500}.site-header nav a{padding:10px 0}.site-header nav a[aria-current]{color:var(--green);box-shadow:0 2px var(--green)}.site-header nav .account-link{border:1px solid var(--line);padding:8px 17px;border-radius:22px;box-shadow:none}.header-note{font-size:12px;color:var(--muted)}main{max-width:1172px;padding:0 0 50px;margin:auto;min-height:65vh}.site-footer{max-width:1172px;margin:auto;border-top:1px solid var(--line);padding:27px 0 35px;display:flex;justify-content:space-between;gap:20px;font-size:11px;color:var(--muted)}.footer-brand{font-family:var(--serif);font-size:17px;color:var(--green)}.eyebrow{display:block;font-size:10px;font-weight:600;letter-spacing:2.2px;line-height:1.5;color:var(--rust);margin-bottom:16px}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;border:1px solid var(--green);border-radius:6px;padding:13px 21px;background:var(--green);color:#fffef5;font-size:13px;font-weight:500;line-height:1.5;transition:background .15s,transform .15s}.button:hover{background:#253a2a;transform:translateY(-1px)}.button.secondary{background:transparent;color:var(--green);border-color:#cdd4c8}.button.secondary:hover{background:var(--sage)}.full{width:100%}.button.danger{background:#8b3c30;border-color:#8b3c30}.home-hero{margin:32px 0 49px;background:#eeefe3;border-radius:12px;min-height:346px;padding:40px 52px;display:grid;grid-template-columns:1fr 1fr;position:relative;overflow:hidden}.home-hero h1{font-size:66px;line-height:1.01}.home-hero h1 em{color:#6b7d56;font-weight:400}.home-hero p{color:#69715f;font-size:13px;margin:18px 0 23px}.home-hero .eyebrow{font-size:9px;color:#65715c}.home-hero>img{width:100%;height:320px;align-self:center;object-fit:contain;transform:rotate(-5deg)}.collection-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:23px}.collection-head .eyebrow{margin-bottom:8px}.count{display:inline-flex;font:12px var(--sans);background:var(--sage);border-radius:30px;min-width:26px;height:26px;padding:4px 8px;align-items:center;justify-content:center;vertical-align:middle;margin-left:8px}.search{position:relative;width:315px}.search input{padding-right:48px;background:var(--white);font-size:12px}.search button{position:absolute;right:10px;top:4px;border:0;background:transparent;font-size:26px;color:var(--green)}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:27px}.chip{padding:7px 16px;font-size:12px;border:1px solid var(--line);border-radius:25px;background:var(--white)}.chip:hover{border-color:var(--green)}.chip.selected{background:var(--green);border-color:var(--green);color:white}.recipe-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.recipe-card{background:var(--white);border:1px solid var(--line);border-radius:10px;overflow:hidden;transition:transform .2s,box-shadow .2s}.recipe-card:hover{transform:translateY(-4px);box-shadow:0 8px 22px #2635260b}.card-image{height:225px;position:relative;background:#efeddf;overflow:hidden}.card-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.recipe-card:hover .card-image img{transform:scale(1.035)}img.placeholder-image{object-fit:contain;padding:15px;background:#efeddf}.category-tag{position:absolute;bottom:15px;left:16px;padding:4px 12px;border-radius:20px;background:#fffef5ed;color:var(--green);font-size:10px;font-weight:600}.favorite-mark{position:absolute;right:13px;top:13px;background:#fffdf5;border-radius:100%;width:29px;height:29px;text-align:center;padding-top:3px;color:var(--rust)}.card-copy{padding:22px}.card-copy h3{font-size:24px}.card-copy p{color:var(--muted);font-size:12px;margin:10px 0 20px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:21px}.card-meta{display:flex;gap:14px;font-size:10px;color:var(--muted);border-top:1px solid var(--line);padding-top:14px}.card-meta span:last-child{margin-left:auto;color:var(--green)}.empty{text-align:center;margin:25px 0;padding:48px 20px 56px;border:1px dashed #cdd2c4;border-radius:12px;background:#f4f4eb}.empty-icon{display:block;font-size:33px;color:var(--rust);margin-bottom:12px}.empty p{font-size:13px;color:var(--muted);margin-bottom:23px}.pagination{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:25px;font-size:12px}.panel{padding:28px;background:var(--white);border:1px solid var(--line);border-radius:10px;margin-bottom:22px}.panel h2{font-size:27px;margin-bottom:22px}label{display:block;font-size:12px;font-weight:600;margin-bottom:19px}input:not([type=checkbox]):not([type=file]):not([type=hidden]),select,textarea{display:block;width:100%;border:1px solid #dce0d4;border-radius:5px;padding:11px 12px;background:#fffefa;color:var(--ink);font-size:14px;font-weight:400;margin-top:7px;line-height:1.5}textarea{resize:vertical;min-height:84px}input:focus,select:focus,textarea:focus{outline:2px solid #8c9a7e;outline-offset:1px}input[type=checkbox]{accent-color:var(--green);width:18px;height:18px;flex-shrink:0}.field-row{display:flex;gap:17px}.field-row>label{flex:1;min-width:0}.field-row>label:first-child{flex:1.5}.page-heading{margin:43px 0 30px}.page-heading h1{font-size:45px}.page-heading p{color:var(--muted);font-size:14px}.back-link{display:inline-block;font-size:12px;color:#687660;margin:29px 0}.page-heading .back-link{margin:0 0 30px}.page-heading .eyebrow{margin-bottom:10px}.editor-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:28px}.editor-side .panel{padding:23px}.photo-preview{aspect-ratio:1.1;background:var(--sage);border-radius:7px;overflow:hidden;margin-bottom:18px}.photo-preview img{width:100%;height:100%;object-fit:cover}.upload-label{border:1px dashed #aebaa6;padding:14px;text-align:center;border-radius:6px;font-size:12px}.upload-label input{display:block;width:100%;font-size:10px;margin-top:12px}input::file-selector-button{background:var(--sage);border:0;padding:8px;border-radius:4px;color:var(--green)}.muted{color:var(--muted);font-size:12px;font-weight:400}.tiny{font-size:10px}.inline-check{display:flex;align-items:center;gap:8px;font-weight:400}.save-panel{position:sticky;top:20px}.save-panel p{font-family:var(--serif);font-size:20px;text-align:center;margin:0 0 20px}.quiet-link{display:block;text-align:center;font-size:12px;color:var(--muted);margin-top:15px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.section-title h2{margin:0}.section-title>span{font-size:10px;color:var(--muted);margin:0}.ingredient-editor-row{display:grid;grid-template-columns:76px 90px minmax(0,1fr) 26px;gap:8px;margin-bottom:15px;padding-bottom:15px;border-bottom:1px solid var(--line)}.ingredient-editor-row input,.ingredient-editor-row select{margin:0!important;font-size:12px!important;padding:10px!important}.ingredient-editor-row .ing-note{grid-column:1/4;background:#fafaf5!important;font-size:11px!important}.row-control{border:0;background:transparent;color:var(--muted);padding:2px 4px;font-size:19px}.row-control:hover{color:var(--rust)}.step-editor-row{display:grid;grid-template-columns:28px minmax(0,1fr) 25px;gap:10px;margin-bottom:17px}.step-number{font-family:var(--serif);font-size:22px;color:#8c997d;padding-top:12px}.step-editor-row textarea{margin:0;font-size:13px}.step-controls{display:flex;flex-direction:column}.notice{border:1px solid #c9d6bd;background:#edf3e7;padding:16px 22px;border-radius:8px;margin:25px 0;font-size:13px}.notice.error{background:#faf0e7;color:#7c3b28;border-color:#e7cbbb}.narrow{max-width:560px;margin:50px auto}.narrow h1{font-size:43px}.narrow.panel p{color:var(--muted)}.logout-form{margin-top:25px}.login-layout{display:grid;grid-template-columns:1.25fr 1fr;gap:85px;align-items:center;padding:60px 35px}.login-story{background:#eeefe3;border-radius:14px;padding:42px 40px 5px;overflow:hidden}.login-story h1{font-size:58px}.login-story p{font-size:13px;color:#6b775f}.table-art{width:100%;height:245px;object-fit:contain}.login-panel{max-width:340px}.login-panel h2{font-size:38px}.login-panel p{color:var(--muted);font-size:13px;margin-bottom:30px}.login-panel>small{display:block;color:var(--muted);font-size:11px;margin-top:25px}.login-panel form button{margin-top:5px}.detail-top{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;margin:0 0 48px}.detail-photo{height:390px;border-radius:12px;overflow:hidden;background:var(--sage)}.detail-photo>img{width:100%;height:100%;object-fit:cover}.detail-heading h1{font-size:clamp(37px,4vw,53px)}.detail-heading .lead{color:var(--muted);font-size:15px}.detail-meta{display:flex;gap:25px;font-size:12px;padding:18px 0;margin:15px 0;border-block:1px solid var(--line)}.detail-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.detail-actions .button{padding:10px 13px;font-size:11px}.icon-button{background:transparent;border:0;font-size:11px;color:var(--muted);padding:10px}.recipe-author{display:block;color:var(--muted);font-size:10px;margin-top:22px}.cooking-layout{display:grid;grid-template-columns:350px minmax(0,1fr);gap:55px}.ingredient-panel{align-self:start;background:#f0f1e7;border-color:#e0e3d4}.ingredient-panel .section-title{display:block}.ingredient-panel .section-title .eyebrow{margin-top:12px;font-size:9px}.serving-form{display:flex;align-items:center;gap:9px;font-size:11px;padding-bottom:18px;border-bottom:1px solid #dce0d0}.serving-form label{margin:0;font-size:11px}.serving-form input{width:58px!important;margin:0!important;padding:6px!important}.small-button{font-size:11px;border:1px solid #cbd1c2;background:transparent;color:var(--green);border-radius:4px;padding:7px 10px}.ingredients{list-style:none;padding:5px 0 15px;margin:0}.ingredients li{border-bottom:1px solid #dfe3d3}.ingredients label{display:flex;align-items:start;gap:11px;padding:13px 0;margin:0;font-size:13px;font-weight:400;cursor:pointer}.ingredients strong{font-weight:600}.ingredients small{display:block;color:var(--muted);font-size:11px}.ingredients input:checked+span{text-decoration:line-through;color:var(--muted)}.method{padding-top:12px}.method h2{font-size:36px}.method .eyebrow{font-size:9px;margin-bottom:10px}.steps{list-style:none;counter-reset:step;padding:0;margin:30px 0}.steps li{counter-increment:step;display:flex;gap:23px;padding:0 0 25px;margin-bottom:25px;border-bottom:1px solid var(--line);font-size:14px;line-height:1.85;white-space:pre-wrap}.steps li:before{content:counter(step,decimal-leading-zero);font:25px var(--serif);color:#839276;min-width:30px}.recipe-note{padding:25px 28px;background:#f2eadd;border-radius:7px;margin:30px 0}.recipe-note .eyebrow{color:var(--rust)}.recipe-note p{font-size:13px;white-space:pre-wrap}.source{font-size:11px;color:var(--muted);overflow-wrap:anywhere}.source a{text-decoration:underline}.delete-link{display:inline-block;font-size:11px;color:#9c7666;margin-top:25px}.shopping-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:30px}.shopping-item{display:flex;align-items:center;gap:17px;padding:19px 0;border-bottom:1px solid var(--line)}.shopping-item:last-child{border:0}.shopping-text{flex:1;font-size:14px}.shopping-text strong{font-weight:500;display:block}.shopping-text small{color:var(--muted)}.check-button{width:25px;height:25px;border:1px solid #c5cdbb;background:transparent;border-radius:50%;color:white;display:flex;align-items:center;justify-content:center}.checked .check-button{background:#819372}.checked .shopping-text{text-decoration:line-through;color:var(--muted)}.remove-button{border:0;background:transparent;color:#a0a595;font-size:23px}.shopping-tip{background:#eeefe3}.shopping-tip p{font-size:12px;color:#6c7762}.shopping-tip button{font-size:11px}.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}#toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px);padding:13px 22px;color:white;background:var(--green);border-radius:8px;opacity:0;pointer-events:none;transition:.2s;z-index:100;max-width:90vw;box-shadow:0 6px 25px #0002;font-size:13px}#toast.visible{opacity:1;transform:translate(-50%,0)}
@media(min-width:1450px){main,.site-footer{max-width:1172px}.site-header{max-width:1240px}}@media(max-width:1250px){main,.site-footer{margin-left:34px;margin-right:34px}}@media(max-width:900px){.home-hero{padding:32px;min-height:320px}.home-hero h1{font-size:56px}.home-hero>img{height:270px}.recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.editor-layout{grid-template-columns:minmax(0,1fr) 260px;gap:20px}.panel{padding:22px}.field-row{gap:10px;flex-wrap:wrap}.ingredient-editor-row{grid-template-columns:65px 75px minmax(0,1fr) 22px}.section-title>span{display:none}.login-layout{gap:35px;padding:40px 0}.login-story{padding:30px 25px 0}.login-story h1{font-size:48px}.detail-top{gap:30px}.detail-photo{height:320px}.cooking-layout{grid-template-columns:300px minmax(0,1fr);gap:30px}.shopping-layout{grid-template-columns:minmax(0,1fr) 280px;gap:20px}}
@media(max-width:650px){.site-header{padding:18px 20px;min-height:85px;flex-wrap:wrap;gap:20px}.brand{font-size:24px}.brand-mark{width:40px;height:40px;font-size:32px}.brand small{font-size:8px}.site-header nav{gap:20px;font-size:11px;width:100%;justify-content:space-between;padding-top:5px}.site-header nav a{padding:5px 0}.site-header nav .account-link{padding:6px 13px}.header-note{font-size:10px;max-width:120px;text-align:right}main,.site-footer{margin-left:20px;margin-right:20px}.home-hero{margin-top:22px;margin-bottom:35px;padding:28px 25px;min-height:300px;grid-template-columns:1fr}.home-hero h1{font-size:54px;position:relative;z-index:1}.home-hero .eyebrow{font-size:8px}.home-hero p{max-width:240px;position:relative;z-index:1;font-size:12px}.home-hero .button{position:relative;z-index:1}.home-hero>img{position:absolute;width:230px;height:230px;right:-75px;bottom:7px;opacity:.47;transform:rotate(-15deg)}.collection-head{display:block}.collection-head h2{font-size:30px}.search{width:100%;margin-top:22px}.filters{gap:6px;flex-wrap:nowrap;overflow:auto;padding-bottom:8px;margin-bottom:18px}.chip{white-space:nowrap;font-size:11px;padding:7px 13px}.recipe-grid{grid-template-columns:1fr;gap:22px}.card-image{height:235px}.card-copy{padding:20px}.card-meta{font-size:11px}.site-footer{display:block;padding:25px 0}.site-footer span{display:block}.site-footer span+span{margin-top:8px;font-size:10px}.empty{padding:33px 15px}.empty h3{font-size:24px}.editor-layout{display:flex;flex-direction:column}.editor-side{display:contents}.editor-main{display:contents}.editor-main>.panel{margin-bottom:0}.editor-side>.panel{margin:0}.photo-panel{order:-1}.photo-preview{aspect-ratio:1.8;max-height:220px}.save-panel{position:static}.page-heading{margin:30px 0 24px}.page-heading h1{font-size:37px}.page-heading .back-link{margin-bottom:25px}.panel{padding:20px}.field-row>label:first-child{flex-basis:100%}.field-row>label{flex-basis:40%;margin-bottom:8px}.ingredient-editor-row{grid-template-columns:65px 76px minmax(0,1fr) 22px;gap:6px}.ingredient-editor-row input,.ingredient-editor-row select{padding:9px 6px!important;font-size:11px!important}.section-title{align-items:start}.login-layout{display:flex;flex-direction:column;gap:35px;padding:25px 0 20px}.login-story{width:100%;padding:28px;position:relative}.login-story h1{font-size:43px;position:relative;z-index:1}.login-story p{max-width:240px;font-size:12px;position:relative;z-index:1}.table-art{position:absolute;width:200px;height:190px;right:-65px;bottom:0;opacity:.35}.login-panel{width:100%;max-width:none;padding:0 8px}.login-panel h2{font-size:33px}.narrow{margin:30px auto}.narrow h1{font-size:37px}.detail-top{grid-template-columns:1fr;gap:25px;margin-bottom:30px}.detail-photo{height:270px}.detail-heading h1{font-size:41px}.detail-heading .eyebrow{margin-bottom:10px}.cooking-layout{grid-template-columns:1fr;gap:10px}.ingredient-panel{margin-bottom:20px}.method{padding:0 4px}.method h2{font-size:32px}.shopping-layout{grid-template-columns:1fr;gap:0}.shopping-heading h1{font-size:39px}.shopping-layout .section-title h2{font-size:25px}.shopping-layout .section-title{align-items:center}.shopping-layout .field-row>label{flex-basis:40%}.steps li{gap:16px}.notice{padding:15px}.pagination{font-size:11px;gap:10px}}
@media print{.site-header,.site-footer,.back-link,.detail-actions,.delete-link,.ingredient-panel form,.notice,#toast{display:none!important}body{background:white;font-size:11pt}main{max-width:none;margin:0;padding:0}.detail-top{grid-template-columns:1fr 1.4fr;gap:25px;margin:0 0 20px}.detail-photo{height:180px}.detail-heading h1{font-size:30px}.detail-meta{padding:10px 0}.recipe-author{display:none}.cooking-layout{grid-template-columns:32% 1fr;gap:25px}.ingredient-panel{padding:15px}.steps li{font-size:11pt;break-inside:avoid}.recipe-note{break-inside:avoid}.method h2{font-size:26px}.ingredients label{font-size:10pt}.ingredients input{display:none}.source{font-size:9pt}}

/* Supplied Arjan & Ellen branding. Keep the original image proportions. */
.brand{display:block;flex-shrink:0;line-height:0}.brand-logo{display:block;width:300px;max-width:100%;height:auto}.site-header{gap:24px}@media(max-width:650px){.brand-logo{width:250px}.header-note{display:none}}@media(max-width:360px){.brand-logo{width:230px}}
