:root{--ink:#111;--muted:#686868;--line:#e7e7e7;--soft:#f6f6f4;--accent:#111;--radius:4px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#fff}a{color:inherit}.container{width:min(1120px,calc(100% - 48px));margin:auto}.site-header{height:76px;background:#fff}.nav{height:100%;display:flex;align-items:center;justify-content:space-between}.logo{font-size:14px;font-weight:700;letter-spacing:.02em;text-decoration:none}.logo img{max-height:34px;max-width:170px;display:block;object-fit:contain}.nav nav{display:flex;gap:34px;align-items:center;font-size:12px}.nav nav a{text-decoration:none}.nav-btn{background:#000;color:#fff;padding:12px 22px;border-radius:5px}.menu{display:none;background:none;border:0;font-size:22px}.hero{min-height:430px;display:grid;place-items:center;text-align:center;padding:70px 20px;background:linear-gradient(120deg,#d9d9d2,#f1f1ec)}.hero h1{font-size:clamp(40px,6vw,66px);margin:0 0 15px;letter-spacing:-.05em}.hero p{max-width:650px;margin:0 auto 26px;color:#555;line-height:1.6}.btn{display:inline-block;background:#000;color:#fff;text-decoration:none;border-radius:4px;padding:13px 25px;font-weight:700;font-size:13px;border:1px solid #000}.btn.light{background:#fff;color:#000}.section{padding:70px 0}.split{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center}.split.reverse .copy{order:2}.visual{aspect-ratio:4/3;border-radius:4px;background:linear-gradient(135deg,#e7e7e2,#cfcfc8);overflow:hidden;display:grid;place-items:center}.visual img{width:100%;height:100%;object-fit:cover}.placeholder-food{font-size:72px;filter:grayscale(1)}h2{font-size:36px;letter-spacing:-.04em;margin:0 0 14px}h3{font-size:20px;margin:0 0 10px}.copy p,.card p,.footer p{color:var(--muted);line-height:1.55}.recipe-groups{padding-top:10px}.group{margin-bottom:55px}.group h2{margin-bottom:20px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.card{border:1px solid var(--line);background:#fff}.card-img{height:185px;background:linear-gradient(135deg,#ecece7,#d4d4ce);display:grid;place-items:center;overflow:hidden}.card-img img{width:100%;height:100%;object-fit:cover}.card-body{padding:18px}.card-body h3{font-size:18px}.card-body .btn{margin-top:10px}.featured{display:grid;grid-template-columns:1.4fr 1fr;gap:16px}.featured .large .card-img{height:330px}.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 55px}.faq{border-top:1px solid var(--line);padding:20px 0}.faq summary{font-weight:700;cursor:pointer}.resource{background:var(--soft);text-align:center}.form-wrap{max-width:700px;margin:auto}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:15px}.field.full{grid-column:1/-1}.field label{font-weight:700;font-size:13px}.field input,.field textarea,.field select{width:100%;border:1px solid #d8d8d8;border-radius:4px;padding:14px;font:inherit}.field textarea{min-height:150px;resize:vertical}.check{display:flex;gap:10px;align-items:flex-start;color:#555;font-size:13px;line-height:1.5;margin:13px 0}.check input{margin-top:3px}.legal{max-width:850px;margin:auto}.legal h1{font-size:48px;letter-spacing:-.05em}.legal h2{font-size:26px;margin-top:35px}.legal p{color:#555;line-height:1.7}.footer{border-top:1px solid var(--line);padding-top:45px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:50px;padding-bottom:35px}.footer a{display:block;text-decoration:none;color:#555;margin:10px 0;font-size:13px}.footer h3{font-size:13px;text-decoration:underline}.socials{display:flex;gap:12px}.socials a{font-size:12px}.copyright{text-align:center;border-top:1px solid var(--line);padding:22px;color:#777;font-size:12px}.modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:50;padding:30px;align-items:center;justify-content:center}.modal.open{display:flex}.modal-box{background:#fff;width:min(690px,100%);max-height:90vh;overflow:auto;border-radius:16px;padding:55px;position:relative}.close{position:absolute;right:22px;top:18px;border:0;background:none;font-size:24px;cursor:pointer}.modal-box h2{text-align:center}.modal-box>p{text-align:center;color:#555;line-height:1.55}.admin{background:#f7f7f5;min-height:100vh}.admin-header{background:#111;color:#fff;padding:16px 0}.admin-nav{display:flex;justify-content:space-between;align-items:center}.admin-layout{display:grid;grid-template-columns:240px 1fr;min-height:calc(100vh - 58px)}.sidebar{background:#fff;border-right:1px solid var(--line);padding:22px}.sidebar a{display:block;text-decoration:none;padding:11px;border-radius:6px;color:#444}.sidebar a:hover{background:#f2f2f0}.admin-main{padding:30px}.panel{background:#fff;border:1px solid var(--line);border-radius:10px;padding:24px;margin-bottom:22px}.panel h2{font-size:25px}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:12px;border-bottom:1px solid var(--line);text-align:left;font-size:13px;vertical-align:top}.admin input,.admin textarea,.admin select{padding:11px;border:1px solid #ccc;border-radius:5px;width:100%}.admin textarea{min-height:120px}.notice{padding:12px 15px;border-radius:6px;background:#f0f0eb;margin-bottom:18px}.danger{background:#fff0f0}.admin-actions{display:flex;gap:10px;align-items:center}.login{min-height:100vh;display:grid;place-items:center}.login .panel{width:min(430px,calc(100% - 32px))}
@media(max-width:800px){.container{width:min(100% - 30px,650px)}.nav nav{display:none}.menu{display:block}.split,.featured,.footer-grid,.faq-grid{grid-template-columns:1fr}.split.reverse .copy{order:0}.cards{grid-template-columns:1fr}.section{padding:48px 0}.hero{min-height:360px}.hero h1{font-size:44px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.modal-box{padding:38px 22px}.admin-layout{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--line);display:flex;gap:6px;overflow:auto}.sidebar a{white-space:nowrap}.admin-main{padding:18px}}
.admin-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 18px}.btn.small{display:inline-block;padding:9px 13px;font-size:13px;text-decoration:none}.table form{display:flex;gap:6px;align-items:center}.table select{padding:7px;border:1px solid #ddd;border-radius:6px;background:#fff}

/* Recipe landing-page and PDF download fixes */
.recipe-hero{padding-top:35px;padding-bottom:30px}
.recipe-hero-media{position:relative;width:100%;height:430px;border-radius:14px;overflow:hidden;background:#d9d9d4}
.recipe-hero-media img{display:block;width:100%;height:100%;object-fit:cover}
.recipe-hero-placeholder{width:100%;height:100%;background:linear-gradient(135deg,#d9d9d2,#bdbdb6)}
.recipe-hero-overlay{position:absolute;inset:0;background:rgba(0,0,0,.48)}
.recipe-hero-content{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px}
.recipe-page-title{font-size:clamp(42px,5vw,64px);letter-spacing:-.05em;margin:0 0 12px;color:#fff}
.recipe-page-subtitle{color:#fff;max-width:760px;margin:0;line-height:1.6;font-size:18px}
.recipe-download-trigger{cursor:pointer}
.thank-you-state{text-align:center;padding:45px 15px 30px}
.thank-you-icon{width:64px;height:64px;margin:0 auto 20px;border-radius:50%;display:grid;place-items:center;background:#111;color:#fff;font-size:32px;font-weight:700}
.thank-you-state h2{margin-bottom:12px}
.thank-you-state p{color:#555;line-height:1.6}
.thank-you-small{font-size:13px}
.form-error{padding:11px 13px;margin-bottom:15px;border-radius:6px;background:#fff0f0;color:#8a2222;font-size:13px}
.pdf-status-note{display:block;margin-top:10px;color:#888;font-size:12px}
.current-file{margin:8px 0 18px;padding:12px 14px;background:#f7f7f5;border:1px solid #e5e5e5;border-radius:7px;font-size:13px}
.file-ok{font-weight:700}
.file-missing{color:#888}
.text-danger{border:0;background:none;text-decoration:underline;cursor:pointer;margin-left:12px;color:#8a2222}
.admin small{color:#777}
@media(max-width:800px){.recipe-hero{padding-top:20px}.recipe-hero-media{height:340px;border-radius:14px}.recipe-page-title{font-size:40px}.recipe-page-subtitle{font-size:16px}}
