:root{--ink:#143d34;--ink-2:#246051;--cream:#faf7ef;--paper:#fffdf7;--clay:#ce684a;--peach:#f2c795;--sage:#c7d6a8;--line:#ded8ca;--muted:#66766d;--shadow:0 14px 30px rgba(34,61,48,.09)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--cream);font-family:Manrope,Arial,sans-serif}button,input,select{font:inherit}button{cursor:pointer}.shell{width:min(1180px,calc(100% - 40px));margin:auto}.skip-link{position:fixed;top:-100px;left:1rem;z-index:10;padding:.7rem 1rem;color:#fff;background:var(--ink)}.skip-link:focus{top:1rem}.hero{position:relative;overflow:hidden;min-height:485px;color:#fffaf0;background:var(--ink)}.hero-inner{position:relative;z-index:2;padding:29px 0 58px}.brand{display:flex;align-items:center;gap:9px;font-weight:800;letter-spacing:-.03em}.brand-mark{display:grid;place-items:center;width:25px;height:25px;color:var(--ink);background:var(--peach);border-radius:50%;font-size:14px}.eyebrow{margin:83px 0 12px;color:var(--peach);font-family:DM Mono,monospace;font-size:11px;font-weight:500;letter-spacing:.12em}.eyebrow.warm{margin:0 0 10px;color:#ae583f}h1,h2,h3,p{margin-top:0}h1,h2{letter-spacing:-.055em;font-family:Fraunces,Georgia,serif}h1{max-width:650px;margin-bottom:17px;font-size:clamp(47px,7vw,82px);line-height:.96}h1 em{color:var(--peach);font-style:italic}.hero-copy{max-width:470px;margin-bottom:31px;color:#d7e0c7;font-size:16px;line-height:1.65}.hero-stats{display:flex;gap:0}.hero-stats div{min-width:120px;padding-right:25px;margin-right:25px;border-right:1px solid rgba(255,255,255,.25)}.hero-stats div:last-child{border:0}.hero-stats strong,.hero-stats span{display:block}.hero-stats strong{font-family:Fraunces,serif;font-size:29px}.hero-stats span{margin-top:2px;color:#cad8bd;font-size:12px}.sun{position:absolute;top:80px;right:max(2%,calc((100% - 1120px)/2));width:336px;height:336px;background:var(--clay);border-radius:50%;opacity:.98}.grain{position:absolute;inset:0;opacity:.14;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.7' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.45'/%3E%3C/svg%3E");pointer-events:none}.guidance{display:grid;grid-template-columns:220px 1fr;gap:45px;padding:70px 0}h2{margin-bottom:0;font-size:clamp(32px,4vw,48px);line-height:1}.guidance-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.guidance-card{padding:22px;background:#edf0dd;border-radius:10px}.guidance-card:nth-child(2){background:#f4ddc2}.guidance-card:nth-child(3){background:#e9b7a0}.guidance-card span{display:block;margin-bottom:20px;font-size:23px}.guidance-card h3{margin-bottom:7px;font-size:14px}.guidance-card p{margin:0;color:#3f554a;font-size:12px;line-height:1.55}.photo-gallery{padding:62px 0 0}.gallery-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:15px}.gallery-heading p:last-child{max-width:350px;margin:0;color:var(--muted);font-size:12px;line-height:1.5}.photo-gallery-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.photo-gallery figure{position:relative;min-height:158px;margin:0;overflow:hidden;background:#d8dacb;border-radius:9px}.photo-gallery figure:nth-child(3n){transform:translateY(18px)}.photo-gallery img,.card-photo img{width:100%;height:100%;object-fit:cover;display:block}.photo-gallery figcaption{position:absolute;right:0;bottom:0;left:0;padding:18px 7px 6px;background:linear-gradient(transparent,#000000b8)}.photo-credit{color:#fff;font-family:DM Mono,monospace;font-size:8px;letter-spacing:.02em;text-decoration:none}.photo-credit:hover{text-decoration:underline}.library{padding:25px 0 80px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:27px}.result-count{margin:0 0 5px;color:var(--muted);font-size:13px}.controls{display:grid;grid-template-columns:minmax(220px,1.8fr) repeat(3,minmax(125px,1fr)) auto;gap:10px;padding:12px;margin-bottom:14px;background:#e9e5d9;border-radius:10px}.search-field,.select-field{display:flex;align-items:center;min-height:47px;padding:0 13px;background:var(--paper);border:1px solid transparent;border-radius:6px}.search-field:focus-within,.select-field:focus-within{border-color:var(--ink-2)}.search-field svg{width:18px;margin-right:9px;fill:none;stroke:var(--ink);stroke-width:1.8}input,select{width:100%;color:var(--ink);background:transparent;border:0;outline:0;font-size:13px}.select-field{position:relative;flex-direction:column;align-items:flex-start;justify-content:center;padding:6px 11px}.select-field span{color:var(--muted);font-family:DM Mono,monospace;font-size:9px;letter-spacing:.08em;text-transform:uppercase}.select-field select{appearance:none;padding-right:12px;font-weight:700}.select-field:after{position:absolute;right:10px;top:21px;content:"⌄";color:var(--muted);pointer-events:none}.favorites-toggle{min-height:47px;padding:0 15px;color:var(--ink);background:var(--paper);border:0;border-radius:6px;font-size:12px;font-weight:800;white-space:nowrap}.favorites-toggle span{margin-right:3px;color:var(--clay);font-size:19px;vertical-align:-2px}.favorites-toggle[aria-pressed=true]{color:#fff;background:var(--ink)}.active-filters{display:flex;flex-wrap:wrap;gap:7px;min-height:0;margin-bottom:18px}.filter-chip{padding:5px 8px;color:var(--ink);background:#e0ecd2;border:0;border-radius:999px;font-size:11px}.filter-chip span{margin-left:4px;font-size:13px}.recipe-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.recipe-card{display:flex;flex-direction:column;min-height:270px;padding:20px;background:var(--paper);border:1px solid #ebe5d8;border-radius:10px;box-shadow:0 2px #143d3405;transition:transform .2s,box-shadow .2s}.recipe-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.card-photo{position:relative;height:154px;margin:-20px -20px 17px;overflow:hidden;background:#d8dacb;border-radius:9px 9px 0 0}.card-photo:after{position:absolute;inset:0;content:"";background:linear-gradient(transparent 55%,#0009);pointer-events:none}.card-photo .photo-credit{position:absolute;z-index:1;right:8px;bottom:7px}.card-top{display:flex;justify-content:space-between;align-items:center}.category-pill{padding:5px 8px;color:#4a5f4d;background:#e4edd7;border-radius:999px;font-family:DM Mono,monospace;font-size:9px;letter-spacing:.05em;text-transform:uppercase}.heart{width:30px;height:30px;padding:0;color:var(--clay);background:transparent;border:0;font-size:25px;line-height:1}.heart.saved{color:var(--clay)}.recipe-card h3{margin:22px 0 8px;font-family:Fraunces,serif;font-size:23px;letter-spacing:-.04em;line-height:1.06}.card-photo+.card-top+h3{margin-top:17px}.ingredient-preview{min-height:37px;margin-bottom:15px;color:var(--muted);font-size:12px;line-height:1.55}.card-meta{display:flex;gap:7px;flex-wrap:wrap}.card-meta span{padding:5px 7px;background:#f4efe5;border-radius:4px;color:#4f6258;font-family:DM Mono,monospace;font-size:10px}.score-row{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:17px}.score-label{color:var(--muted);font-size:11px}.stars{color:#d96948;font-size:14px;letter-spacing:1px}.details-button{display:flex;justify-content:space-between;width:100%;padding:12px 0 0;margin-top:12px;color:var(--ink);background:none;border:0;border-top:1px solid var(--line);font-size:12px;font-weight:800;text-align:left}.details-button span{font-size:17px;line-height:.65}.empty-state{padding:80px 20px;text-align:center;background:var(--paper);border:1px dashed #cfc6b7;border-radius:10px}.empty-state span{font-size:28px}.empty-state h3{margin:7px 0;font-family:Fraunces,serif;font-size:26px}.empty-state p{color:var(--muted);font-size:13px}.empty-state button{padding:9px 14px;color:#fff;background:var(--ink);border:0;border-radius:5px;font-weight:700}footer{padding:32px 0;color:#d4ddc7;background:var(--ink)}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:25px}.footer-inner .brand-mark{background:var(--peach)}.footer-inner p{margin:7px 0 0 34px;color:#aebfad;font-size:12px}.source-button{color:#fff8eb;background:transparent;border:0;font-size:12px;font-weight:700}.source-button span{margin-left:5px;color:var(--peach);font-size:16px}dialog{width:min(730px,calc(100% - 30px));max-height:85vh;padding:0;color:var(--ink);background:var(--paper);border:0;border-radius:12px;box-shadow:0 25px 70px #00000052}dialog::backdrop{background:#0b241da6;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.dialog-close{position:absolute;top:13px;right:14px;z-index:2;display:grid;width:34px;height:34px;place-items:center;color:var(--ink);background:#f2eee5;border:0;border-radius:50%;font-size:25px;line-height:1}.recipe-detail{padding:43px}.detail-heading{padding-right:45px}.detail-heading h2{margin:11px 0 8px;font-size:43px}.detail-summary{color:var(--muted);font-size:14px}.detail-chips{display:flex;flex-wrap:wrap;gap:8px;margin:21px 0 27px}.detail-chips span{padding:6px 8px;background:#e5edd9;border-radius:5px;font-family:DM Mono,monospace;font-size:10px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}.detail-block{padding:19px 19px 18px 0;border-bottom:1px solid var(--line)}.detail-block:nth-child(2n){padding-left:19px;padding-right:0;border-left:1px solid var(--line)}.detail-block.wide{grid-column:1/-1;padding-right:0}.detail-block h3{margin-bottom:7px;color:#a4523b;font-family:DM Mono,monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase}.detail-block p,.detail-block li{margin:0;color:#40564b;font-size:13px;line-height:1.6}.detail-block ul{padding-left:17px;margin:0}.source-content{padding:43px}.source-content h2{margin-bottom:15px}.source-content p{color:var(--muted);line-height:1.6}.source-content ul{padding-left:18px}.source-content li{margin:10px 0}.source-content a{color:var(--ink-2);overflow-wrap:anywhere}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.modal-backdrop{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:15px;background:#0b241da6;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal-panel{position:relative;width:min(730px,100%);max-height:85vh;overflow:auto;color:var(--ink);background:var(--paper);border-radius:12px;box-shadow:0 25px 70px #00000052}.loading{display:grid;min-height:100vh;place-items:center;color:var(--ink);font-family:Fraunces,Georgia,serif;font-size:24px}@media(max-width:850px){.sun{width:260px;height:260px;right:-40px;top:165px}.controls{grid-template-columns:1fr 1fr}.search-field{grid-column:1/-1}.recipe-grid{grid-template-columns:repeat(2,1fr)}.photo-gallery-grid{grid-template-columns:repeat(3,1fr)}.guidance{grid-template-columns:1fr;gap:25px}.eyebrow{margin-top:65px}}@media(max-width:560px){.shell{width:min(100% - 28px,1180px)}.hero{min-height:500px}.hero-inner{padding-top:20px}.eyebrow{margin-top:60px}.sun{top:250px;width:210px;height:210px}.hero-stats div{min-width:95px;padding-right:13px;margin-right:13px}.photo-gallery{padding-top:42px}.gallery-heading{align-items:flex-start;flex-direction:column;gap:6px}.photo-gallery-grid{grid-template-columns:repeat(2,1fr)}.photo-gallery figure{min-height:135px}.guidance{padding:48px 0}.guidance-grid,.recipe-grid,.controls{grid-template-columns:1fr}.search-field{grid-column:auto}.section-heading{align-items:flex-start;flex-direction:column;gap:8px}.recipe-detail,.source-content{padding:32px 21px 24px}.detail-heading h2{font-size:36px}.detail-grid{display:block}.detail-block,.detail-block:nth-child(2n){padding:17px 0;border-left:0}.footer-inner{align-items:flex-start;flex-direction:column}.footer-inner p{margin-left:0}}.sun{background-image:var(--hero-photo);background-position:center;background-size:cover}
