:root{--orange: #f3943a;--orange-deep: #e67e22;--green: #69a62f;--green-deep: #5a8f28;--brown: #8f460f;--brown-soft: #a0633a;--cream: #fbf6ef;--cream-warm: #f6ebdd;--paper: #ffffff;--ink: #3a2a1e;--ink-soft: #6e5b4c;--shadow-warm: rgba(143, 70, 15, .14);--radius: 22px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Nunito Sans,-apple-system,sans-serif;color:var(--ink);background:var(--cream);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}h1,h2,h3{font-family:Fraunces,Georgia,serif;line-height:1.08;font-weight:500;letter-spacing:-.01em}.wrap{max-width:1140px;margin:0 auto;padding:0 28px}.accent{color:var(--orange-deep)}.bg-blob{position:absolute;border-radius:50%;filter:blur(60px);opacity:.5;z-index:0;pointer-events:none}.eyebrow{display:inline-flex;align-items:center;gap:8px;font-weight:800;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;color:var(--green-deep);background:#69a62f1f;padding:7px 15px;border-radius:999px;margin-bottom:24px}.eyebrow:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--green)}nav{position:relative;z-index:10;padding:26px 0}nav .wrap{display:flex;align-items:center;justify-content:space-between}.logo{height:42px;width:auto;display:block}.nav-cta{font-family:Nunito Sans;font-weight:800;font-size:.95rem;color:#fff;background:var(--green);padding:11px 22px;border-radius:999px;text-decoration:none;box-shadow:0 6px 16px #69a62f52;transition:transform .2s ease,box-shadow .2s ease}.nav-cta:hover{transform:translateY(-2px);box-shadow:0 10px 22px #69a62f6b}.nav-admin{background:transparent;border:0;color:var(--brown);cursor:pointer;font-family:Nunito Sans;font-size:.92rem;font-weight:800;margin-left:18px;text-decoration:none}.nav-admin:hover{color:var(--orange-deep)}.hero{position:relative;padding:48px 0 96px;overflow:hidden}.hero .blob-1{width:520px;height:520px;background:#f8c98a;top:-160px;left:-180px}.hero .blob-2{width:440px;height:440px;background:#bfe39a;bottom:-200px;right:-120px;opacity:.4}.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}.hero h1{font-size:clamp(2.7rem,5.4vw,4.3rem);color:var(--brown)}.hero h1 em{font-style:italic;color:var(--orange-deep)}.hero p.sub{font-size:1.21rem;color:var(--ink-soft);margin:26px 0 36px;max-width:30ch}.hero p.sub strong{color:var(--ink);font-weight:700}.hero-cta-row{display:flex;flex-wrap:wrap;gap:14px;align-items:center}.reassure{font-size:.92rem;color:var(--ink-soft);margin-top:18px;display:flex;align-items:center;gap:8px}.reassure svg{width:17px;height:17px;color:var(--green-deep);flex:none}.store-badge{display:inline-flex;align-items:center;gap:11px;background:var(--ink);color:#fff;text-decoration:none;padding:13px 20px;border-radius:15px;cursor:pointer;border:none;font-family:Nunito Sans;transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 8px 20px #3a2a1e38}.store-badge:hover{transform:translateY(-2px);box-shadow:0 12px 26px #3a2a1e4d}.store-badge svg{width:24px;height:24px;flex:none}.store-badge .bl-small{display:block;font-size:.64rem;line-height:1;opacity:.8;letter-spacing:.02em;text-align:left}.store-badge .bl-big{display:block;font-size:1.05rem;line-height:1.15;font-weight:800;text-align:left}.phone-stage{position:relative;display:flex;justify-content:center}.phone-stage .plate{position:absolute;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle at 38% 32%,#fff 0%,var(--cream-warm) 60%,#eadcc9 100%);box-shadow:0 30px 70px #8f460f29;z-index:0}.phone{position:relative;z-index:2;width:286px;background:#1c1c1e;border-radius:42px;padding:11px;box-shadow:0 26px 60px #3a2a1e57,0 4px 12px #0000002e}.phone-screen{background:var(--cream);border-radius:32px;overflow:hidden;position:relative;height:574px;display:flex;flex-direction:column}.notch{position:absolute;top:0;left:50%;transform:translate(-50%);width:118px;height:26px;background:#1c1c1e;border-radius:0 0 16px 16px;z-index:5}.app-top{padding:30px 20px 14px;background:#fff;border-bottom:1px solid #f0e6d8;position:relative}.app-top .greet{font-size:.78rem;color:var(--ink-soft);font-weight:700}.app-top .wktitle{font-family:Fraunces,serif;font-size:1.32rem;color:var(--brown);margin-top:2px}.app-icon{position:absolute;top:24px;right:20px;width:30px;height:30px;border-radius:9px}.week{flex:1;overflow:hidden;padding:14px 16px;display:flex;flex-direction:column;gap:10px}.meal{background:#fff;border-radius:16px;padding:11px 13px;display:flex;align-items:center;gap:12px;box-shadow:0 3px 10px #8f460f12}.meal .day{font-size:.62rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-soft);width:30px;flex:none}.meal .swatch{width:40px;height:40px;border-radius:11px;flex:none}.meal .mname{font-size:.83rem;font-weight:700;color:var(--ink);line-height:1.2}.meal .mtime{font-size:.68rem;color:var(--ink-soft);margin-top:2px}.app-bar{background:#fff;border-top:1px solid #f0e6d8;padding:12px 16px;display:flex;justify-content:space-between;align-items:center}.app-bar .cart-btn{background:var(--orange);color:#fff;font-weight:800;font-size:.8rem;padding:11px 16px;border-radius:12px;display:flex;align-items:center;gap:7px}.app-bar .cart-btn svg{width:15px;height:15px}.app-bar .ghost{font-size:.74rem;color:var(--ink-soft);font-weight:700}.float-tag{position:absolute;z-index:4;background:#fff;border-radius:14px;padding:10px 14px;box-shadow:0 14px 34px #8f460f33;display:flex;align-items:center;gap:9px;font-weight:700;font-size:.82rem;color:var(--ink)}.float-tag .ico{width:30px;height:30px;border-radius:9px;display:flex;align-items:center;justify-content:center;flex:none}.float-tag .ico svg{width:16px;height:16px;color:#fff}.float-tag.t1{top:64px;right:-24px;animation:floaty 4.5s ease-in-out infinite}.float-tag.t2{bottom:96px;left:-26px;animation:floaty 4.5s ease-in-out .8s infinite}section{position:relative}.sec-head{text-align:center;max-width:640px;margin:0 auto 56px}.sec-head .eyebrow{margin-bottom:18px}.sec-head h2{font-size:clamp(2rem,3.6vw,2.9rem);color:var(--brown)}.sec-head p{font-size:1.1rem;color:var(--ink-soft);margin-top:16px}.how{padding:90px 0;background:var(--paper)}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;position:relative}.step{background:var(--cream);border-radius:var(--radius);padding:34px 28px;position:relative;border:1px solid #f0e6d8}.step .num{font-family:Fraunces,serif;font-size:1rem;font-weight:600;color:#fff;width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:20px}.step:nth-child(1) .num{background:var(--orange)}.step:nth-child(2) .num{background:var(--green)}.step:nth-child(3) .num{background:var(--brown)}.step h3{font-size:1.34rem;color:var(--brown);margin-bottom:10px}.step p{color:var(--ink-soft);font-size:1rem}.step .step-ico{position:absolute;top:32px;right:28px;width:30px;height:30px;opacity:.55}.step:nth-child(1) .step-ico{color:var(--orange-deep)}.step:nth-child(2) .step-ico{color:var(--green-deep)}.step:nth-child(3) .step-ico{color:var(--brown)}.benefits{padding:96px 0}.ben-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.ben{background:var(--paper);border-radius:var(--radius);padding:38px 30px;box-shadow:0 12px 34px #8f460f12;border:1px solid #f3e9db;transition:transform .25s ease,box-shadow .25s ease}.ben:hover{transform:translateY(-6px);box-shadow:0 20px 46px #8f460f21}.ben .bcirc{width:62px;height:62px;border-radius:18px;display:flex;align-items:center;justify-content:center;margin-bottom:22px}.ben .bcirc svg{width:30px;height:30px;color:#fff}.ben:nth-child(1) .bcirc{background:linear-gradient(135deg,var(--orange),var(--orange-deep))}.ben:nth-child(2) .bcirc{background:linear-gradient(135deg,var(--green),var(--green-deep))}.ben:nth-child(3) .bcirc{background:linear-gradient(135deg,var(--brown-soft),var(--brown))}.ben h3{font-size:1.42rem;color:var(--brown);margin-bottom:12px}.ben p{color:var(--ink-soft);font-size:1.02rem}.final{padding:30px 0 110px}.final-card{position:relative;overflow:hidden;background:linear-gradient(135deg,#8f460f,#a0561b 55%,#b5651d);border-radius:34px;padding:70px 40px;text-align:center;color:#fff;box-shadow:0 30px 70px #8f460f4d}.final-card .fb{position:absolute;border-radius:50%;filter:blur(50px);opacity:.4}.final-card .fb1{width:300px;height:300px;background:var(--orange);top:-120px;right:-80px}.final-card .fb2{width:260px;height:260px;background:var(--green);bottom:-130px;left:-70px;opacity:.32}.final-card h2{position:relative;z-index:2;font-size:clamp(2rem,4vw,3rem);color:#fff}.final-card p{position:relative;z-index:2;font-size:1.15rem;opacity:.92;margin:18px auto 36px;max-width:46ch}.final-card .hero-cta-row{justify-content:center}.final-card .store-badge{background:#fff;color:var(--ink);box-shadow:0 10px 24px #0000002e}.final-card .hear{position:relative;z-index:2;margin-top:26px;font-size:1rem;opacity:.95}.final-card .hear a{color:#fff;font-weight:800;text-decoration:underline;text-underline-offset:3px}footer{padding:40px 0 60px;text-align:center}footer .logo{height:34px;margin:0 auto 16px}footer p{color:var(--ink-soft);font-size:.9rem}footer .tag{font-family:Fraunces,serif;font-style:italic;color:var(--brown-soft);font-size:1.02rem;margin-bottom:14px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#3a2a1e80;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;z-index:100;padding:24px;opacity:0;animation:overlayIn .3s ease forwards}@keyframes overlayIn{to{opacity:1}}.modal{background:var(--cream);border-radius:28px;max-width:440px;width:100%;padding:48px 38px 40px;text-align:center;position:relative;box-shadow:0 40px 90px #3a2a1e66;transform:translateY(16px) scale(.97);animation:modalIn .35s cubic-bezier(.2,.9,.3,1.2) forwards}@keyframes modalIn{to{transform:translateY(0) scale(1)}}.modal .m-icon{width:74px;height:74px;border-radius:20px;margin:0 auto 22px;background:linear-gradient(135deg,var(--orange),var(--orange-deep));display:flex;align-items:center;justify-content:center;box-shadow:0 12px 28px #e67e2266}.modal .m-icon svg{width:36px;height:36px;color:#fff}.modal h3{font-family:Fraunces,serif;font-size:1.85rem;color:var(--brown);margin-bottom:14px;font-weight:500}.modal p{color:var(--ink-soft);font-size:1.05rem;margin-bottom:26px}.modal .m-hear{background:#fff;border-radius:16px;padding:20px;border:1px solid #efe2d1}.modal .m-hear .lbl{font-size:.85rem;color:var(--ink-soft);margin-bottom:10px}.modal .m-hear a{display:inline-flex;align-items:center;gap:9px;font-weight:800;color:#fff;background:var(--green);text-decoration:none;padding:13px 24px;border-radius:999px;font-size:1rem;box-shadow:0 8px 18px #69a62f52;transition:transform .2s ease}.modal .m-hear a:hover{transform:translateY(-2px)}.modal .m-hear a svg{width:18px;height:18px}.modal .m-close{position:absolute;top:18px;right:18px;width:34px;height:34px;border:none;cursor:pointer;background:#8f460f14;border-radius:50%;color:var(--brown);font-size:1.2rem;line-height:1;display:flex;align-items:center;justify-content:center;transition:background .2s ease}.modal .m-close:hover{background:#8f460f29}.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}.reveal.in{opacity:1;transform:none}.hero .eyebrow{animation:fadeUp .7s ease both}.hero h1{animation:fadeUp .7s .1s ease both}.hero .sub{animation:fadeUp .7s .2s ease both}.hero .hero-cta-row{animation:fadeUp .7s .3s ease both}.hero .reassure{animation:fadeUp .7s .4s ease both}.phone-stage{animation:fadeUp .9s .25s ease both}@keyframes fadeUp{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}@keyframes floaty{0%,to{transform:translateY(0)}50%{transform:translateY(-9px)}}@media (max-width: 900px){.hero-grid{grid-template-columns:1fr;gap:48px;text-align:center}.hero p.sub{margin-left:auto;margin-right:auto}.hero-cta-row,.reassure{justify-content:center}.steps{grid-template-columns:1fr;gap:18px}.ben-grid{grid-template-columns:1fr;gap:20px}.float-tag.t1{right:-10px}.float-tag.t2{left:-14px}}@media (max-width: 520px){.wrap{padding:0 20px}nav .wrap{gap:14px}.nav-cta{display:none}.nav-admin{margin-left:0}.hero{padding:30px 0 70px}.final-card{padding:54px 26px}.float-tag{font-size:.74rem;padding:8px 11px}.float-tag .ico{width:26px;height:26px}}.auth-shell,.admin-shell{min-height:100vh;padding:32px}.auth-shell{display:grid;place-items:center}.auth-panel,.admin-dashboard,.admin-placeholder{background:var(--paper);border:1px solid rgba(143,70,15,.1);border-radius:8px;box-shadow:0 18px 42px var(--shadow-warm)}.auth-panel{width:min(100%,430px);padding:34px}.brand-link{background:transparent;border:0;cursor:pointer;margin-bottom:28px;padding:0}.brand-link img,.admin-header img{display:block;height:44px;width:auto}.auth-panel h1,.admin-dashboard h1{color:var(--brown);font-size:2.35rem;margin-bottom:24px}.auth-form{display:grid;gap:18px}.auth-form label{color:var(--ink);display:grid;font-weight:800;gap:8px}.auth-form input{background:#fffaf4;border:1px solid rgba(143,70,15,.18);border-radius:8px;color:var(--ink);font:inherit;min-height:46px;padding:10px 12px}.auth-form input:focus{border-color:var(--green);box-shadow:0 0 0 3px #69a62f29;outline:0}.auth-submit,.auth-secondary,.admin-signout{border:0;border-radius:8px;cursor:pointer;font:inherit;font-weight:900}.auth-submit{background:var(--green);color:#fff;min-height:48px;padding:12px 16px}.auth-submit:disabled{cursor:not-allowed;opacity:.62}.auth-secondary{background:transparent;color:var(--brown);padding:4px 0;text-align:left}.auth-secondary:disabled{cursor:not-allowed;opacity:.62}.auth-actions{display:grid;gap:10px}.auth-error{background:#dc412d17;border-radius:8px;color:#9a2f20;font-size:.92rem;padding:10px 12px}.auth-hint{color:var(--ink-soft);font-size:.92rem}.admin-shell{margin:0 auto;max-width:1040px}.admin-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:34px}.admin-header .brand-link{margin-bottom:0}.admin-nav{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.admin-nav button,.admin-panel-head button,.admin-inline-form button,.table-action,.admin-secondary-button{background:#fffaf4;border:1px solid rgba(143,70,15,.16);border-radius:8px;color:var(--brown);cursor:pointer;font:inherit;font-weight:900;padding:9px 12px}.admin-nav button:hover,.admin-panel-head button:hover,.admin-inline-form button:hover,.table-action:hover,.admin-secondary-button:hover{border-color:var(--orange);color:var(--orange-deep)}.admin-signout{background:var(--ink);color:#fff;padding:10px 16px}.admin-dashboard{padding:34px}.admin-muted{color:var(--ink-soft);max-width:62ch}.admin-message{background:#69a62f1f;border-radius:8px;color:var(--green-deep);font-weight:800;margin-top:18px;padding:10px 12px}.admin-grid{display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:28px}.admin-tile{background:#fffaf4;border:1px solid rgba(143,70,15,.12);border-radius:8px;color:var(--ink-soft);cursor:pointer;font:inherit;min-height:120px;padding:20px;text-align:left}.admin-tile span{color:var(--brown);display:block;font-family:Fraunces,Georgia,serif;font-size:1.45rem;margin-bottom:8px}.admin-panel{margin-top:28px}.edit-card{background:#fffaf4;border:1px solid rgba(143,70,15,.12);border-radius:8px;display:grid;gap:16px;margin:16px 0;padding:16px}.admin-panel h2{color:var(--brown);font-size:1.5rem;margin-bottom:14px}.admin-panel-head{align-items:center;display:flex;gap:16px;justify-content:space-between}.admin-inline-form{display:grid;gap:12px;grid-template-columns:minmax(0,1fr) auto;margin:16px 0}.admin-inline-form input,.form-grid input,.form-grid select,.form-grid textarea,.ingredient-row input,.step-row textarea{background:#fffaf4;border:1px solid rgba(143,70,15,.18);border-radius:8px;color:var(--ink);font:inherit;padding:10px 12px;width:100%}.admin-table-wrap{border:1px solid rgba(143,70,15,.1);border-radius:8px;overflow-x:auto}.pagination-row{align-items:center;color:var(--ink-soft);display:flex;gap:12px;justify-content:space-between;margin-top:14px}.pagination-row div{display:flex;gap:8px}.pagination-row button{background:#fffaf4;border:1px solid rgba(143,70,15,.16);border-radius:8px;color:var(--brown);cursor:pointer;font:inherit;font-weight:900;padding:8px 12px}.pagination-row button:disabled{cursor:not-allowed;opacity:.5}.admin-table{border-collapse:collapse;min-width:760px;width:100%}.admin-table th,.admin-table td{border-bottom:1px solid rgba(143,70,15,.1);padding:12px;text-align:left;vertical-align:top}.admin-table th{background:#fffaf4;color:var(--brown);font-size:.82rem;text-transform:uppercase}.admin-table td{color:var(--ink-soft);font-size:.92rem}.table-input{background:#fffaf4;border:1px solid rgba(143,70,15,.18);border-radius:8px;color:var(--ink);font:inherit;padding:8px 10px;width:min(100%,260px)}.table-input.sort{width:90px}.table-action{white-space:nowrap}.table-actions{display:flex;flex-wrap:wrap;gap:8px}.table-action.danger{color:#9a2f20}.recipe-form{display:grid;gap:22px}.recipe-edit-card{align-items:stretch;background:#fffaf4;border:1px solid rgba(143,70,15,.12);border-radius:8px;display:grid;gap:18px;grid-template-columns:220px minmax(0,1fr);padding:16px}.recipe-image-preview{align-items:center;aspect-ratio:4 / 3;background:var(--cream-warm);border-radius:8px;color:var(--ink-soft);display:flex;justify-content:center;overflow:hidden}.recipe-image-preview img{display:block;height:100%;object-fit:cover;width:100%}.recipe-image-controls{display:grid;gap:12px}.recipe-image-controls label{color:var(--ink);display:grid;font-weight:800;gap:8px}.recipe-image-controls input{background:#fff;border:1px solid rgba(143,70,15,.18);border-radius:8px;color:var(--ink);font:inherit;padding:10px 12px;width:100%}.taxonomy-panel{display:grid;gap:24px}.taxonomy-section{display:grid;gap:10px}.taxonomy-section h3{color:var(--brown);font-size:1.25rem}.form-grid{display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid.compact{align-items:end}.form-grid label,.step-row{color:var(--ink);display:grid;font-weight:800;gap:8px}.checkbox-label{align-items:center;display:flex;font-weight:900;gap:10px;min-height:44px}.checkbox-label input{width:auto}.form-wide{grid-column:1 / -1}.tag-picker p{color:var(--ink);font-weight:800;margin-bottom:8px}.tag-picker div{display:flex;flex-wrap:wrap;gap:8px}.tag-picker button{background:#fffaf4;border:1px solid rgba(143,70,15,.18);border-radius:999px;color:var(--brown);cursor:pointer;font:inherit;font-size:.88rem;font-weight:900;padding:7px 12px}.tag-picker button.selected{background:var(--green);border-color:var(--green);color:#fff}.recipe-form fieldset{border:1px solid rgba(143,70,15,.12);border-radius:8px;display:grid;gap:12px;padding:16px}.recipe-form legend{color:var(--brown);font-weight:900;padding:0 8px}.ingredient-row{display:grid;gap:10px;grid-template-columns:minmax(180px,1fr) 90px 110px minmax(160px,1fr)}.admin-placeholder{box-shadow:none;margin-top:28px;padding:24px}.admin-placeholder h2{color:var(--brown);font-size:1.45rem;margin-bottom:8px}@media (max-width: 700px){.auth-shell,.admin-shell{padding:20px}.auth-panel,.admin-dashboard{padding:24px}.admin-header{gap:18px;flex-direction:column}.admin-grid,.form-grid,.admin-inline-form,.ingredient-row,.recipe-edit-card{grid-template-columns:1fr}.pagination-row{align-items:flex-start;flex-direction:column}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}
