:root{--green:#173f2b;--green2:#2e6043;--cream:#f5f2e9;--paper:#fcfbf7;--ink:#171915;--muted:#657067;--line:#d8d6cb;--gold:#c9983d;--rust:#b84b2f;--radius:18px;--shadow:0 16px 42px rgba(23,63,43,.12);--max:1240px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select{font:inherit}.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;z-index:99;background:white;padding:.75rem;border-radius:8px}.site-header{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;padding:14px max(20px,calc((100vw - var(--max))/2));background:rgba(252,251,247,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(216,214,203,.8)}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--ink)}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--green);color:white;font-weight:800;letter-spacing:.04em}.brand strong,.brand small{display:block}.brand strong{font-family:Georgia,serif;font-size:1.05rem}.brand small{text-transform:uppercase;letter-spacing:.16em;color:var(--green);font-size:.68rem;font-weight:800}.button{border:0;border-radius:999px;padding:.7rem 1rem;background:var(--green);color:white;font-weight:750;cursor:pointer}.button.ghost{background:transparent;color:var(--green);border:1px solid var(--green)}main{min-height:78vh}.hero{padding:64px max(20px,calc((100vw - var(--max))/2)) 42px;background:radial-gradient(circle at 85% 10%,rgba(201,152,61,.23),transparent 27%),linear-gradient(135deg,#f4f0e5,#fcfbf7)}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.77rem;font-weight:850;color:var(--green)}h1,h2,h3{font-family:Georgia,"Times New Roman",serif;line-height:1.05;margin:.3em 0}.hero h1{font-size:clamp(2.8rem,7vw,6.4rem);max-width:900px}.hero p{max-width:660px;color:#4f5b52;font-size:1.12rem}.search-wrap{position:relative;max-width:820px;margin-top:28px}.search-wrap input{width:100%;padding:18px 58px 18px 22px;border:1px solid var(--line);border-radius:999px;background:white;box-shadow:var(--shadow);outline:none}.search-wrap input:focus{border-color:var(--green);box-shadow:0 0 0 4px rgba(23,63,43,.13),var(--shadow)}.search-icon{position:absolute;right:20px;top:16px;font-size:1.3rem}.library{max-width:var(--max);margin:auto;padding:34px 20px 72px}.toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-bottom:24px}.filters{display:flex;gap:9px;flex-wrap:wrap}.chip{border:1px solid var(--line);background:white;border-radius:999px;padding:.58rem .9rem;cursor:pointer;color:var(--green);font-weight:700}.chip.active{background:var(--green);color:white;border-color:var(--green)}.count{color:var(--muted);font-weight:700}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.card{position:relative;min-height:235px;padding:24px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(145deg,#fff,#f2eee4);box-shadow:0 8px 24px rgba(23,63,43,.06);text-decoration:none;color:inherit;overflow:hidden;transition:transform .18s,box-shadow .18s}.card:before{content:"";position:absolute;width:150px;height:150px;right:-55px;bottom:-60px;border-radius:50%;background:var(--accent,rgba(23,63,43,.08))}.card:hover,.card:focus-visible{transform:translateY(-4px);box-shadow:var(--shadow);outline:2px solid transparent}.card .code{font-size:.76rem;letter-spacing:.13em;font-weight:850;color:var(--green)}.card h3{font-size:1.72rem;max-width:90%}.card p{color:var(--muted);margin:8px 0}.tag-row{display:flex;gap:6px;flex-wrap:wrap;margin-top:18px}.tag{font-size:.72rem;background:rgba(255,255,255,.78);border:1px solid var(--line);padding:.25rem .5rem;border-radius:999px}.empty{padding:70px 20px;text-align:center;border:1px dashed var(--line);border-radius:var(--radius)}.recipe{max-width:var(--max);margin:0 auto;padding:36px 20px 80px}.back{display:inline-flex;gap:8px;color:var(--green);font-weight:800;text-decoration:none;margin-bottom:25px}.recipe-hero{display:grid;grid-template-columns:1.05fr 1fr;gap:28px;align-items:center}.recipe-hero h1{font-size:clamp(2.8rem,6vw,5.5rem)}.recipe-hero .lede{font-size:1.13rem;color:#4e5b52;max-width:620px}.hero-image{aspect-ratio:3/2;border-radius:var(--radius);overflow:hidden;background:linear-gradient(135deg,#d9d0b7,#8e7152);box-shadow:var(--shadow)}.hero-image img{width:100%;height:100%;object-fit:cover}.meta{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.meta span{padding:.45rem .75rem;border-radius:999px;background:var(--cream);font-weight:750;color:var(--green)}.recipe-body{display:grid;grid-template-columns:.85fr 1.2fr .75fr;gap:24px;margin-top:32px}.panel{border:1px solid var(--line);border-radius:var(--radius);padding:24px;background:white}.panel h2{font-family:inherit;text-transform:uppercase;letter-spacing:.08em;font-size:.98rem;color:var(--green)}.ingredients{list-style:none;padding:0;margin:0}.ingredients li{display:grid;grid-template-columns:85px 1fr;gap:12px;padding:9px 0;border-bottom:1px solid #ece9df}.ingredients strong{font-size:.9rem}.method{padding-left:0;counter-reset:steps;list-style:none}.method li{counter-increment:steps;position:relative;padding:0 0 24px 54px}.method li:before{content:counter(steps);position:absolute;left:0;top:0;width:32px;height:32px;border:1px solid var(--green);border-radius:50%;display:grid;place-items:center;color:var(--green);font-weight:850}.flavour-list{list-style:none;padding:0}.flavour-list li{padding:10px 0;border-bottom:1px solid #ece9df}.flavour-list strong{display:block;color:var(--green)}.nutrition{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-top:18px}.nutrition div{background:white;padding:10px;text-align:center}.nutrition strong,.nutrition small{display:block}.nutrition small{color:var(--muted)}.catalogue-note{max-width:720px;margin:36px auto;padding:32px;border-radius:var(--radius);background:var(--cream);border:1px solid var(--line);text-align:center}.catalogue-note h2{font-size:2rem}.status{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);background:var(--green);color:white;border-radius:999px;padding:.7rem 1rem;opacity:0;pointer-events:none;transition:.2s}.status.show{opacity:1}footer{display:flex;justify-content:space-between;gap:12px;padding:24px max(20px,calc((100vw - var(--max))/2));border-top:1px solid var(--line);color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.1em}
@media(max-width:900px){.grid{grid-template-columns:repeat(2,1fr)}.recipe-hero{grid-template-columns:1fr}.recipe-body{grid-template-columns:1fr 1.3fr}.flavour{grid-column:1/-1}.nutrition{grid-template-columns:repeat(3,1fr)}}
@media(max-width:620px){.site-header{padding:10px 14px}.brand strong{font-size:.92rem}.hero{padding-top:38px}.hero h1{font-size:3.2rem}.grid{grid-template-columns:1fr}.toolbar{align-items:flex-start}.recipe{padding-inline:16px}.recipe-body{grid-template-columns:1fr}.flavour{grid-column:auto}.recipe-hero h1{font-size:3rem}.nutrition{grid-template-columns:repeat(2,1fr)}footer{display:block}footer span{display:block;margin:5px 0}}
@media print{.site-header,.back,footer,.button,.status{display:none!important}.recipe{padding:0}.recipe-hero{grid-template-columns:1fr 1fr}.recipe-body{grid-template-columns:1fr 1.4fr}.flavour{display:none}.panel{break-inside:avoid}.hero-image{box-shadow:none}}
