:root{color-scheme:light;--bg:#fbfaf7;--paper:#ffffff;--paper-warm:#fff8ed;--ink:#172033;--muted:#6f6a63;--line:#e9e1d5;--brand:#2c2034;--accent:#b8613d;--accent-dark:#793d28;--sage:#677d5f;--shadow:0 18px 45px rgba(44, 32, 52, 0.10);--radius:1.35rem;--sans:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--serif:ui-serif, Georgia, Cambria, "Times New Roman", serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at top left,rgba(184,97,61,.11),transparent 36rem),linear-gradient(180deg,#fff 0,var(--bg) 30rem);color:var(--ink);font-family:var(--sans);line-height:1.65}a{color:var(--accent-dark);text-underline-offset:.18em}a:hover{color:var(--accent)}img{max-width:100%}button,input{font:inherit}.skip-link{position:absolute;left:1rem;top:-10rem;z-index:5;background:var(--brand);color:#fff;padding:.65rem .9rem;border-radius:.75rem}.skip-link:focus{top:1rem}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.site-header,.site-footer,.site-main{width:min(1160px,calc(100% - 2rem));margin:0 auto}.site-header{display:flex;justify-content:space-between;gap:1.25rem;align-items:center;padding:1.2rem 0}.brand{display:inline-flex;align-items:center;gap:.8rem;color:var(--brand);text-decoration:none}.brand img{width:58px;height:58px;object-fit:contain}.brand strong{display:block;font-family:var(--serif);font-size:clamp(1.35rem,2vw,1.8rem);line-height:1}.brand em{display:block;color:var(--muted);font-size:.82rem;font-style:normal;letter-spacing:.16em;margin-top:.18rem;text-transform:uppercase}.site-nav{display:flex;gap:.45rem;flex-wrap:wrap;justify-content:flex-end}.site-nav a,.button{border:1px solid var(--line);border-radius:999px;color:var(--brand);background:rgba(255,255,255,.72);text-decoration:none;padding:.68rem 1rem;box-shadow:0 2px 10px rgba(44,32,52,3%)}.site-nav a:hover,.button:hover{border-color:rgba(184,97,61,.5);color:var(--accent-dark)}.button{cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.button.primary{background:var(--brand);color:#fff;border-color:var(--brand)}.button.primary:hover{background:var(--accent-dark);color:#fff}.button.small{padding:.5rem .78rem;font-size:.92rem}.site-main{padding:1.4rem 0 4rem}.site-footer{border-top:1px solid var(--line);color:var(--muted);padding:1.7rem 0 2.5rem}.site-footer p{margin:0}.hero{border:1px solid var(--line);border-radius:calc(var(--radius) + .4rem);background:linear-gradient(135deg,rgba(255,255,255,.94),rgba(255,248,237,.94));box-shadow:var(--shadow);margin:1rem 0 2rem;overflow:hidden}.hero-home{display:grid;grid-template-columns:minmax(0,1fr)300px;gap:1rem;align-items:stretch;padding:clamp(1.35rem,4vw,3.2rem)}.hero-copy{align-self:center}.eyebrow{color:var(--sage);font-weight:800;letter-spacing:.16em;text-transform:uppercase;font-size:.78rem;margin:0 0 .65rem}.hero h1,.page-intro h1,.recipe h1{font-family:var(--serif);color:var(--ink);font-size:clamp(2.6rem,7vw,5.4rem);letter-spacing:-.045em;line-height:.95;margin:0 0 1rem}.lede{color:var(--muted);font-family:var(--serif);font-size:clamp(1.18rem,2vw,1.45rem);max-width:66ch}.hero-actions{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1.4rem}.hero-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:1.25rem;display:grid;place-items:center;text-align:center}.hero-card img{width:96px;height:96px;object-fit:contain;margin-bottom:.8rem}.hero-note p{color:var(--muted);font-family:var(--serif);font-size:1.15rem;margin:0}.recipe-meta div{background:var(--paper-warm);border:1px solid var(--line);border-radius:1rem;padding:.75rem .9rem}dt{color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.1em}dd{margin:.1rem 0 0;font-weight:800;color:var(--brand)}.finder,.page-intro{display:grid;grid-template-columns:minmax(0,1fr)minmax(280px,430px);gap:1.2rem;align-items:end;margin:2rem 0}.page-intro{display:block;max-width:860px}.search-box{display:block}.search-box span{display:block;color:var(--muted);font-size:.82rem;font-weight:800;letter-spacing:.1em;margin-bottom:.35rem;text-transform:uppercase}.search-box input{width:100%;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);padding:.95rem 1.1rem;box-shadow:var(--shadow)}.search-box input:focus{outline:3px solid rgba(184,97,61,.18);border-color:var(--accent)}.search-box.compact{margin-top:1rem;max-width:600px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:1rem;margin:2.2rem 0 1rem}.section-heading h2{font-family:var(--serif);font-size:clamp(2rem,4vw,3.2rem);margin:0}.section-heading p{color:var(--muted);margin:0}.recipe-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:1.15rem}.recipe-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 10px 28px rgba(44,32,52,.055);overflow:hidden;transition:transform .18s ease,box-shadow .18s ease}.recipe-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.recipe-card[hidden]{display:none}.recipe-card-image{display:block;aspect-ratio:4/3;background:var(--paper-warm);overflow:hidden}.recipe-card-image img,.recipe-featured-image img,.recipe-gallery img{display:block;width:100%;height:100%;object-fit:cover}.recipe-card-image.fallback{background:#fff}.recipe-card-image.fallback img{object-fit:cover}.recipe-card-content{padding:1rem}.recipe-card h3{font-family:var(--serif);font-size:1.35rem;line-height:1.1;margin:0 0 .55rem}.recipe-card h3 a{color:var(--ink);text-decoration:none}.recipe-card h3 a:hover{color:var(--accent-dark)}.recipe-card p{color:var(--muted);margin:0}.recipe-card-meta{display:flex;gap:.4rem;flex-wrap:wrap;font-size:.9rem;margin-top:.8rem!important}.recipe-card-meta span{border:1px solid var(--line);border-radius:999px;padding:.16rem .55rem;background:var(--paper-warm)}.empty-state{border:1px dashed var(--line);border-radius:var(--radius);color:var(--muted);padding:2rem;text-align:center}.back-link{margin:.2rem 0 1rem}.recipe{max-width:1040px}.recipe-header{display:grid;grid-template-columns:minmax(0,1fr)minmax(280px,430px);gap:clamp(1rem,4vw,2rem);align-items:center}.recipe-title-block{min-width:0}.recipe-actions{display:flex;gap:.55rem;flex-wrap:wrap;margin-top:1.2rem}.recipe-featured-image{margin:0;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);background:var(--paper);box-shadow:var(--shadow)}.recipe-featured-image img{aspect-ratio:4/3}.recipe-meta-panel{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;gap:1rem;align-items:center;border:1px solid var(--line);border-radius:var(--radius);background:rgba(255,255,255,.88);backdrop-filter:blur(12px);box-shadow:0 10px 30px rgba(44,32,52,7%);padding:.75rem;margin:1.5rem 0}.recipe-meta{display:flex;gap:.65rem;flex-wrap:wrap;margin:0}.recipe-meta div{padding:.55rem .75rem}.source-detail{display:block;color:var(--muted);font-weight:400}.recipe-jump{display:flex;gap:.45rem;flex-wrap:wrap}.recipe-jump-standalone{margin:1rem 0 1.5rem}.recipe-jump a{border:1px solid var(--line);border-radius:999px;padding:.45rem .7rem;text-decoration:none}.recipe-help{color:var(--muted);font-size:.95rem;margin:.8rem 0 0}.recipe-body{max-width:760px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(1.1rem,3vw,2rem);box-shadow:0 10px 28px rgba(44,32,52,.055)}.recipe-body h2{color:var(--brand);font-family:var(--serif);font-size:clamp(1.65rem,3vw,2.25rem);margin:1.6rem 0 .55rem}.recipe-body h2:first-child{margin-top:0}.recipe-body ul,.recipe-body ol{padding-left:1.25rem;margin:.45rem 0 1.15rem}.recipe-body li{margin:.28rem 0;padding-left:.2rem}.recipe-ingredients-list li,.recipe-method-list li{border-radius:.65rem;padding:.08rem .25rem .08rem .45rem}.recipe-ingredients-list li.checked,.recipe-method-list li.checked{color:var(--muted);text-decoration:line-through}.cook-mode .recipe-body{font-size:1.12rem;max-width:860px}.cook-mode .recipe-body li{margin:.5rem 0}.cook-mode .recipe-ingredients-list li,.cook-mode .recipe-method-list li{cursor:pointer;padding:.28rem .45rem .28rem .65rem}.cook-mode .recipe-ingredients-list li:hover,.cook-mode .recipe-method-list li:hover{background:var(--paper-warm)}.recipe-gallery{margin-top:2.5rem}.recipe-gallery h2{font-family:var(--serif);font-size:2.2rem}.recipe-gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.recipe-gallery figure{margin:0;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--paper)}.recipe-gallery img{aspect-ratio:4/3}.recipe-gallery figcaption{color:var(--muted);padding:.75rem 1rem}@media(max-width:760px){.site-header{align-items:flex-start;flex-direction:column}.site-nav{justify-content:flex-start}.hero-home,.finder,.recipe-header{grid-template-columns:1fr}.hero-card{text-align:left;place-items:stretch}.hero-card img{margin:0}.hero-card dl{grid-template-columns:repeat(3,1fr)}.recipe-meta-panel{position:static;align-items:flex-start;flex-direction:column}.section-heading{align-items:flex-start;flex-direction:column}}@media(max-width:480px){.site-header,.site-footer,.site-main{width:min(100% - 1rem,1160px)}.site-nav a,.button{padding:.58rem .72rem}.hero-card dl{grid-template-columns:1fr}.recipe-grid{grid-template-columns:1fr}}@media print{body{background:#fff;color:#000;font-size:12pt}.site-header,.site-footer,.back-link,.recipe-actions,.recipe-jump,.recipe-featured-image,.recipe-gallery{display:none!important}.site-main,.recipe,.recipe-body{width:100%;max-width:none;margin:0;padding:0;border:0;box-shadow:none}.recipe h1{font-size:28pt}.recipe-meta-panel{position:static;padding:0;border:0;box-shadow:none}a{color:inherit;text-decoration:none}}