:root{font-family:'DM Sans',sans-serif;color:#252d24;background:#f7f5ef;font-synthesis:none;--ink:#252d24;--muted:#626a5e;--cream:#f7f5ef;--green:#344b35;--line:#e2e3d9;--orange:#d87c4b}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.shell{width:min(1200px,calc(100% - 64px));margin-inline:auto}.site-header{border-bottom:1px solid #e8e8df;background:var(--cream)}.header-inner{height:84px;display:flex;align-items:center;gap:36px}.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-family:Fraunces,Georgia,serif;font-size:25px;font-weight:600;letter-spacing:-.03em;white-space:nowrap}.brand-mark{width:33px;height:33px;background:var(--green);color:#fff;border-radius:50%;display:grid;place-items:center}.brand-mark svg{width:21px;height:21px;stroke-width:1.5}.brand-dot{color:var(--orange)}.header-nav{display:flex;gap:33px;margin-left:auto}.header-nav a{font-size:14px;font-weight:600;text-decoration:none;color:#424b40}.header-nav a:hover,.text-link:hover{color:#ad5a31}.button{border:0;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;gap:13px;min-height:44px;padding:0 20px;font-size:14px;font-weight:700;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button:active{transform:translateY(0)}.button-dark{color:#fff;background:var(--green)}.button-dark:hover{background:#263c2a}.button-light{color:var(--ink);background:#edf0e8}.button-light:hover{background:#e1e8dc}.button-large{min-height:54px;padding-inline:23px}.header-add{margin-left:12px}.header-add svg{width:17px;height:17px}.intro{min-height:540px;display:grid;grid-template-columns:1fr 1.02fr;align-items:center;gap:52px;padding-block:60px 68px}.intro-copy{padding-bottom:8px}.intro h1,.how h2{font-family:Fraunces,Georgia,serif;font-size:clamp(48px,5.2vw,76px);font-weight:500;line-height:1.08;letter-spacing:-.035em;margin:0 0 25px}.intro h1 em,.how h2 em{font-weight:500;color:#b16441}.intro-copy>p{max-width:510px;color:#596357;font-size:17px;line-height:1.7;margin:0 0 32px}.intro-actions{display:flex;align-items:center;gap:30px}.text-link{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:700;text-decoration:none}.text-link svg{width:16px;height:16px}.intro-visual{height:400px;position:relative;margin-left:18px}.hero-photo{width:100%;height:100%;background:#d7d8c6 url('https://images.unsplash.com/photo-1473093295043-cdd812d0e601?w=1200&q=85') center 53%/cover;border-radius:130px 12px 12px 12px;box-shadow:0 18px 45px rgba(43,51,35,.12)}.hero-note{position:absolute;bottom:-22px;left:-45px;display:flex;align-items:center;gap:13px;background:#fffefa;padding:16px 20px;border-radius:10px;box-shadow:0 12px 30px rgba(43,51,35,.14);font-size:12px;line-height:1.5;color:#667060}.hero-note strong{font-size:15px;color:var(--ink)}.hero-note-icon{font-size:29px;color:#d27a4c}.collection{background:#f0f1e9;padding:76px 0 95px}.section-heading{display:flex;justify-content:space-between;align-items:start;margin-bottom:31px}.section-heading h2{font-family:Fraunces,Georgia,serif;font-size:clamp(31px,3.2vw,44px);font-weight:500;letter-spacing:-.027em;margin:0 0 9px}.section-heading p{color:#697266;margin:0;font-size:15px}.section-flourish{color:#be744d;font-size:38px;line-height:1}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px}.search-field{min-width:310px;max-width:490px;flex:1;display:flex;align-items:center;gap:11px;height:49px;padding:0 16px;background:#fff;border:1px solid #dfe3d9;border-radius:8px;color:#677365}.search-field svg{width:19px;height:19px;flex:none}.search-field input{width:100%;border:0;outline:0;background:transparent;color:var(--ink);font-size:14px}.search-field input::placeholder{color:#7b8379}.filters{display:flex;flex-wrap:wrap;gap:8px}.filter{background:transparent;color:#596556;border:1px solid #d5ddd0;border-radius:999px;padding:9px 16px;font-size:13px;font-weight:700}.filter:hover{background:#e4e9de}.filter.active{background:var(--green);color:#fff;border-color:var(--green)}.recipe-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.recipe-card{overflow:hidden;background:#fff;border-radius:12px;box-shadow:0 10px 25px rgba(41,54,35,.06);transition:transform .2s,box-shadow .2s}.recipe-card:hover{transform:translateY(-4px);box-shadow:0 16px 35px rgba(41,54,35,.12)}.card-open{display:block;text-align:left;width:100%;padding:0;border:0;background:none;color:inherit}.card-media{height:215px;display:block;position:relative;overflow:hidden;background:#dfe5d6}.card-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s}.recipe-card:hover img{transform:scale(1.035)}.card-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-family:Fraunces,Georgia,serif;font-size:75px;color:#617c5f;background:linear-gradient(145deg,#dfe9d6,#f3dcc7)}.source-badge{position:absolute;left:16px;top:16px;background:#fffefa;border-radius:5px;padding:6px 10px;font-size:11px;font-weight:700;color:#334635}.card-content{display:block;padding:20px 21px 23px}.card-meta{display:flex;gap:12px;color:#a65b3a;text-transform:uppercase;letter-spacing:.09em;font-weight:700;font-size:10px}.card-title{display:block;font-family:Fraunces,Georgia,serif;font-size:24px;letter-spacing:-.025em;line-height:1.2;min-height:58px;margin:11px 0 15px}.card-foot{display:flex;align-items:center;justify-content:space-between;padding-top:15px;border-top:1px solid #edf0e8;color:#6c7569;font-size:12px}.card-foot span{display:inline-flex;align-items:center;gap:6px}.card-foot svg{width:15px;height:15px}.card-arrow{color:#39563d!important}.empty-state{text-align:center;padding:70px 20px;color:#657061}.empty-state[hidden]{display:none}.empty-state h3{font-family:Fraunces,Georgia,serif;color:var(--ink);font-size:28px;margin:5px}.empty-state p{margin-bottom:25px}.empty-symbol{font-size:40px;color:#bd714b}.how{display:grid;grid-template-columns:.9fr 1fr;gap:90px;padding-block:100px 105px}.how h2{font-size:clamp(42px,4vw,59px);margin-bottom:20px}.how>div>p{max-width:410px;line-height:1.75;color:#697266}.how ol{list-style:none;padding:0;margin:0}.how li{display:flex;gap:22px;padding:15px 0 21px;border-bottom:1px solid var(--line)}.how li:first-child{padding-top:0}.how li>span{color:#bd714b;font-family:Fraunces,Georgia,serif;font-size:25px}.how li strong{font-size:16px}.how li p{color:#687267;font-size:14px;margin:6px 0 0;line-height:1.5}.footer{background:#293c2b;color:#f5f5ee}.footer-inner{min-height:130px;display:flex;align-items:center;justify-content:space-between;gap:20px}.footer-brand{font-size:26px}.footer p,.footer span:last-child{font-size:13px;color:#d5ded2}.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}dialog{border:0;padding:0;box-shadow:0 25px 80px rgba(25,38,27,.28);background:#fffcf7;color:var(--ink)}dialog::backdrop{background:rgba(28,40,30,.55)}.recipe-dialog{width:min(600px,calc(100% - 24px));max-height:min(90vh,900px);border-radius:14px}.dialog-head{display:flex;align-items:start;justify-content:space-between;padding:25px 30px 20px;border-bottom:1px solid var(--line)}.dialog-head h2,.detail-dialog h2{font-family:Fraunces,Georgia,serif;font-size:30px;font-weight:500;line-height:1.2;margin:0 0 5px}.dialog-head p{font-size:13px;color:#657061;margin:0}.icon-button{display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:50%;background:#edf0e8;color:#314a34}.icon-button:hover{background:#dfe8dc}.dialog-body{padding:22px 30px;max-height:calc(90vh - 175px);overflow:auto}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:18px}.field label{font-size:13px;font-weight:700}.field label span{color:#b75a3c}.field input,.field select,.field textarea{width:100%;min-height:43px;padding:10px 12px;border:1px solid #cbd4c7;border-radius:7px;background:#fff;color:var(--ink);outline:none}.field textarea{resize:vertical;line-height:1.5}.field small{font-size:11px;color:#667164}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-error{padding:11px 13px;background:#fff0e9;border-radius:6px;color:#8c351f;font-size:13px}.form-error[hidden]{display:none}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;padding:17px 30px 22px;border-top:1px solid var(--line)}.detail-dialog{width:min(760px,calc(100% - 24px));max-height:90vh;border-radius:14px;overflow:auto}.detail-hero{height:270px;background:#dfe5d6;position:relative}.detail-hero img{width:100%;height:100%;object-fit:cover}.detail-close{position:absolute;right:18px;top:18px}.detail-main{padding:28px 34px 34px}.detail-meta{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#ae6945;margin-bottom:9px}.detail-dialog h2{font-size:39px}.detail-columns{display:grid;grid-template-columns:1fr 1.1fr;gap:33px;margin-top:27px}.detail-columns h3{font-family:Fraunces,Georgia,serif;font-weight:500;font-size:23px;margin:0 0 12px}.detail-columns ul,.detail-columns ol{padding-left:20px;line-height:1.65;color:#4d584d;font-size:14px}.detail-columns li{margin-bottom:8px}.detail-placeholder{color:#778075;font-size:14px;line-height:1.6}.detail-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px;padding-top:21px;border-top:1px solid var(--line)}.detail-actions a{text-decoration:none}.button-danger{color:#9b3b2c;background:#fbede8}.button-danger:hover{background:#f5ddd5}.toast{position:fixed;z-index:10;bottom:24px;right:24px;background:#263e2c;color:#fff;padding:14px 19px;border-radius:8px;box-shadow:0 10px 25px rgba(0,0,0,.2);font-size:14px}.toast[hidden]{display:none}::selection{background:#d9b394;color:#263428}:focus-visible{outline:3px solid #c5794d;outline-offset:3px}input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid #c5794d;outline-offset:1px}html{scrollbar-color:#a9b7a3 var(--cream)}
@media(max-width:1000px){.intro{gap:25px}.toolbar{align-items:stretch;flex-direction:column}.search-field{max-width:none}.recipe-grid{gap:16px}.card-media{height:180px}.card-title{font-size:22px}}
@media(max-width:700px){.shell{width:min(100% - 32px,520px)}.header-inner{height:69px}.brand{font-size:22px}.header-nav{display:none}.header-add{margin-left:auto;width:42px;height:42px;min-height:42px;padding:0}.header-add span{display:none}.intro{display:flex;flex-direction:column;align-items:stretch;min-height:0;gap:31px;padding-block:53px 62px}.intro h1{font-size:clamp(45px,11vw,64px)}.intro-copy>p{font-size:15px}.intro-actions{gap:18px;flex-wrap:wrap}.intro-visual{height:270px;margin-left:20px}.hero-photo{border-radius:85px 10px 10px 10px}.hero-note{left:-20px;bottom:-20px}.collection{padding-block:58px 70px}.section-heading{margin-bottom:25px}.section-heading h2{font-size:33px}.section-flourish{display:none}.search-field{min-width:0}.filters{flex-wrap:nowrap;overflow:auto;padding-bottom:4px}.filter{flex:none}.recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.card-media{height:145px}.card-content{padding:14px}.card-title{font-size:19px;min-height:70px}.card-foot{font-size:11px}.how{grid-template-columns:1fr;gap:35px;padding-block:75px}.footer-inner{min-height:145px;flex-wrap:wrap;justify-content:flex-start;column-gap:30px}.footer-inner span:last-child{width:100%;margin-top:-25px}.detail-columns{grid-template-columns:1fr;gap:12px}.detail-hero{height:190px}.detail-main{padding:22px}.detail-dialog h2{font-size:30px}}
@media(max-width:430px){.recipe-grid{grid-template-columns:1fr}.card-media{height:210px}.card-title{min-height:0}.field-row{grid-template-columns:1fr;gap:0}.dialog-head,.dialog-body,.dialog-actions{padding-inline:18px}.dialog-actions{flex-direction:column-reverse}.dialog-actions .button{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
/* Readability refinements for supporting copy and form hints. */
.intro h1 em,.how h2 em{color:#975033;font-style:normal}.section-heading p{color:#586453}.search-field input::placeholder{color:#5d685b}.field small,.card-foot,.card-foot span,.hero-note{font-size:12px}
.hero-photo{background-image:url('/assets/pasta.jpg')}
.fallback-import{margin:4px 0 22px;padding:19px 20px;background:#eef1e9;border-radius:10px}.fallback-import h3{font-family:Fraunces,Georgia,serif;font-size:22px;font-weight:500;margin:0 0 6px}.fallback-import p{font-size:13px;line-height:1.5;color:#4f5c4f;margin:0 0 16px}.fallback-import .capture-field{margin-top:18px}.fallback-import .account-choice{margin:14px 0 8px}.fallback-import>small,.fallback-import .field small{display:block;color:#4f5c4f;line-height:1.5}.fallback-import .button{width:100%}.fallback-import .field{margin-bottom:10px}
.cover-preview{display:block;max-width:180px;max-height:120px;object-fit:cover;border-radius:8px;margin-top:8px}.cover-preview[hidden]{display:none}.detail-description{white-space:pre-wrap;line-height:1.65;color:#596357;margin:18px 0 0}.account-choice{display:flex;align-items:center;gap:9px;font-size:14px;margin:6px 0 18px}.account-choice input{width:18px;height:18px}#account-import-note{font-size:13px;color:#596357}#account-import[hidden],#account-current[hidden],#account-fields[hidden],#account-submit[hidden],#account-logout[hidden]{display:none}#account-button{white-space:nowrap}
@media(max-width:700px){#account-button{font-size:12px;padding:0 10px;min-height:40px}.header-inner{gap:9px}.header-add{margin-left:0}}
@media(max-width:430px){.site-header .brand-mark{display:none}}
