@import "https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&family=Sora:wght@500;600;700;800&display=swap";:root{--text-main:#1f3d46;--text-soft:#51646d;--surface:#f2f8f9;--heading:"Sora", "Avenir Next", "Segoe UI", sans-serif;--body:"Manrope", "Avenir Next", "Segoe UI", sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%}body{font-family:var(--body);color:var(--text-main);background:radial-gradient(circle at 5% 0%, #ffc57047, transparent 35%), radial-gradient(circle at 97% 20%, #61bbc242, transparent 38%), var(--surface);margin:0}h1,h2,h3{font-family:var(--heading);letter-spacing:-.02em}a,button{font:inherit}.page{gap:2.4rem;width:min(1140px,100% - 2.5rem);margin:1.2rem auto 3rem;display:grid}.hero{background:radial-gradient(circle at 10% 8%,#2c859c40,#0000 45%),radial-gradient(circle at 90% 10%,#ffaf5a4d,#0000 43%),linear-gradient(130deg,#f8fafb 0%,#fffcf5 58%,#f6fbf7 100%);border:1px solid #14404b24;border-radius:28px;padding:clamp(1.75rem,4vw,3.4rem);position:relative;overflow:hidden;box-shadow:0 20px 40px #0e212614}.eyebrow{letter-spacing:.09em;text-transform:uppercase;color:#19788f;margin:0;font-size:.85rem;font-weight:700}.hero h1{color:#153040;max-width:15ch;margin:.9rem 0 0;font-size:clamp(2.1rem,5vw,3.7rem);line-height:1.03}.hero-copy{color:#39505a;max-width:62ch;margin:1rem 0 0}.hero-actions{flex-wrap:wrap;gap:.8rem;margin-top:1.6rem;display:flex}.button-primary,.button-secondary{border-radius:999px;justify-content:center;align-items:center;height:2.9rem;padding:0 1.15rem;font-size:.93rem;font-weight:700;text-decoration:none;transition:transform .16s,box-shadow .16s,border-color .16s;display:inline-flex}.button-primary{color:#fff;background:linear-gradient(100deg,#0f7a90,#1f9f9c);border:1px solid #0000;box-shadow:0 12px 24px #12697c40}.button-secondary{color:#1b3740;cursor:pointer;background:#ffffffa8;border:1px solid #14404b47}.button-primary:hover,.button-secondary:hover{transform:translateY(-1px)}.button-secondary:disabled{opacity:.6;cursor:not-allowed}.stats{grid-template-columns:repeat(3,minmax(120px,1fr));gap:.75rem;margin-top:1.7rem;display:grid}.stat{background:#ffffffb8;border:1px solid #12384229;border-radius:14px;padding:.8rem .95rem}.stat-value{color:#102f3b;font-family:var(--heading);margin:0;font-size:1.25rem;font-weight:700}.stat-label{color:#51626b;margin:.2rem 0 0;font-size:.84rem}.section{background:linear-gradient(#fff,#fbfffc);border:1px solid #12384224;border-radius:24px;padding:clamp(1.1rem,3vw,1.8rem)}.value-props{grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;display:grid;overflow:visible}.value-card{background:linear-gradient(140deg,#fcfffd,#f7fcff);border:1px solid #14445029;border-radius:14px;padding:0;transition:transform .28s cubic-bezier(.22,1,.36,1),box-shadow .28s,border-color .28s;position:relative;transform:scale(1)}.value-card-trigger{text-align:left;width:100%;height:100%;font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:14px;margin:0;padding:1rem}.value-card-trigger:focus-visible{outline-offset:-2px;outline:2px solid #107a91a6}.value-card-hint{color:#145365;opacity:0;background:#127b911c;border-radius:999px;margin-top:.7rem;padding:.2rem .62rem;font-size:.73rem;font-weight:700;transition:opacity .2s,transform .2s;display:inline-flex;transform:translateY(3px)}.value-card h2{margin:0;font-size:1.05rem}.value-card p{color:#4e646d;margin:.5rem 0 0;font-size:.9rem}.section-head h2,.cta h2{color:#183641;margin:0;font-size:clamp(1.55rem,3vw,2.2rem)}.section-head p{color:#57707a;margin:.45rem 0 0}.search-bar{margin-top:1rem}.search-bar input{color:#1e3a43;background:#fbfefe;border:1px solid #1e49543d;border-radius:999px;width:100%;height:2.9rem;padding:0 1rem;font-size:.95rem}.chip-groups{gap:.55rem;margin-top:.9rem;display:grid}.chip-row{flex-wrap:wrap;gap:.42rem;display:flex}.chip{color:#20434e;cursor:pointer;background:#f6fbfc;border:1px solid #14404b33;border-radius:999px;padding:.35rem .72rem;font-size:.8rem;font-weight:600;transition:all .15s}.chip.active{color:#fff;background:linear-gradient(100deg,#0f7a90,#1f9f9c);border-color:#0000}.results-line{color:#56717a;margin:.85rem 0 0;font-size:.88rem}.status-line{color:#46616a;margin:1rem 0 0}.status-line.error{color:#b62c2c}.grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.95rem;margin-top:1.1rem;display:grid}.card{isolation:isolate;background:#fefefe;border:1px solid #1a434d29;border-radius:16px;transition:box-shadow .24s,border-color .24s;position:relative;overflow:hidden;box-shadow:0 8px 18px #11343d14}.card:before{content:"";background:radial-gradient(240px circle at var(--cursor-x,50%) var(--cursor-y,50%), #29a8bb47, #127e9524 36%, transparent 72%);opacity:0;pointer-events:none;z-index:0;transition:opacity .2s;position:absolute;inset:-1px}.card>*{z-index:1;position:relative}.card-image-button{cursor:pointer;width:100%;color:inherit;background:0 0;border:0;margin:0;padding:0;text-decoration:none;display:block;position:relative}.card-image{aspect-ratio:4/3;object-fit:cover;background:#dfe8eb;width:100%}.image-count-badge{color:#f7fdff;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f2930b8;border-radius:999px;padding:.24rem .56rem;font-size:.74rem;position:absolute;bottom:.55rem;right:.55rem}.card-image.fallback{color:#1a4f5d;background:linear-gradient(130deg,#d9f5ed,#e9f0fd);place-items:center;font-weight:700;display:grid}.card-body{padding:.85rem}.kicker{text-transform:uppercase;letter-spacing:.09em;color:#19788f;margin:0;font-size:.72rem;font-weight:700}.card h3{color:#16353f;margin:.45rem 0 0;font-size:1.08rem;line-height:1.24}.description{color:#4f646d;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;margin:.45rem 0 0;font-size:.92rem;line-height:1.4;display:-webkit-box;overflow:hidden}.meta{flex-wrap:wrap;gap:.4rem;margin-top:.65rem;display:flex}.meta span{color:#315661;background:#edf6f8;border-radius:999px;padding:.22rem .56rem;font-size:.74rem}.card-actions{margin-top:.8rem}.load-more-wrap{justify-content:center;margin-top:1.1rem;display:flex}.skeleton{padding-bottom:.9rem}.skeleton-media{aspect-ratio:4/3;background:linear-gradient(90deg,#e9eef0,#f5f8f9,#e9eef0) 0 0/250% 100%;width:100%;animation:1.5s infinite pulse}.skeleton-line{background:linear-gradient(90deg,#e9eef0,#f5f8f9,#e9eef0) 0 0/250% 100%;border-radius:10px;height:.72rem;margin:.75rem .85rem 0;animation:1.5s infinite pulse}.skeleton-line.long{width:72%}.skeleton-line:not(.long){width:52%}.cta{text-align:center;background:radial-gradient(circle at 16% 30%,#ffcd813d,#0000 50%),radial-gradient(circle at 89% 9%,#40a9c640,#0000 41%),linear-gradient(145deg,#fffaf2,#f2fbff);border:1px solid #1e4a562b;border-radius:24px;padding:clamp(1.4rem,4vw,2.1rem)}.cta p{color:#4f6169;max-width:60ch;margin:.75rem auto 1.2rem}.store-note{color:#1f5e70;margin-top:-.2rem;font-size:.92rem;font-weight:600}.legal-links{flex-wrap:wrap;justify-content:center;gap:.45rem;margin-top:.95rem;font-size:.82rem;display:flex}.legal-links a{color:#1a5e71}.feature-modal-backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:1250;background:#08191f8a;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.feature-modal{background:radial-gradient(circle at 12% 16%,#ffd27e40,#0000 46%),radial-gradient(circle at 88% 10%,#45b1cc3d,#0000 43%),linear-gradient(155deg,#fbfffe,#f4fbff);border:1px solid #12495638;border-radius:22px;grid-template-rows:auto auto auto auto minmax(170px,1fr);gap:.7rem;width:min(86vw,520px);height:min(78vh,620px);min-height:70vh;padding:1.05rem;animation:.26s cubic-bezier(.16,1,.3,1) featureCardIn;display:grid;overflow:auto;box-shadow:0 24px 52px #06151a54}.feature-modal-kicker{text-transform:uppercase;letter-spacing:.08em;color:#19788f;margin:0;font-size:.76rem;font-weight:700}.feature-modal h2{color:#153340;margin:0;font-size:clamp(1.65rem,6vw,2.4rem);line-height:1.08}.feature-modal-copy{color:#264b56;margin:0;font-size:clamp(1.08rem,4.8vw,1.4rem);line-height:1.58}.feature-modal-image-wrap{background:#e5f2f7;border:1px solid #13485538;border-radius:16px;min-height:0;overflow:hidden}.feature-modal-image{object-fit:cover;width:100%;height:100%;display:block}.recipe-modal-backdrop{z-index:1200;background:#0c1e2394;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.recipe-modal{background:#fff;border:1px solid #133a442e;border-radius:20px;width:min(820px,100%);max-height:90vh;padding:1.15rem;overflow:auto;box-shadow:0 20px 50px #00000047}.modal-close{color:#18404b;cursor:pointer;background:#f7fbfc;border:1px solid #133a443d;border-radius:999px;height:2.2rem;margin-left:auto;padding:0 .8rem;font-weight:600}.recipe-modal h2{margin:.6rem 0 0}.modal-description{color:#4e646d;margin:.45rem 0 .9rem}.modal-meta{flex-wrap:wrap;gap:.45rem;display:flex}.modal-meta span{color:#315661;background:#edf6f8;border-radius:999px;padding:.25rem .58rem;font-size:.76rem}.modal-gallery-section{margin-top:.8rem}.modal-gallery{background:#f4f9fa;border:1px solid #19434c33;border-radius:14px;position:relative;overflow:hidden}.modal-image-main{cursor:zoom-in;background:0 0;border:0;width:100%;margin:0;padding:0}.modal-main-image{object-fit:cover;width:100%;max-height:420px;display:block}.gallery-nav{color:#1f4a57;cursor:pointer;background:#ffffffdb;border:1px solid #1638423d;border-radius:999px;width:2rem;height:2rem;font-size:1.3rem;line-height:1;position:absolute;top:50%;transform:translateY(-50%)}.gallery-nav.prev{left:.55rem}.gallery-nav.next{right:.55rem}.gallery-indicator{color:#f5fbfd;background:#0c262db3;border-radius:999px;margin:0;padding:.18rem .58rem;font-size:.74rem;position:absolute;bottom:.5rem;left:50%;transform:translate(-50%)}.gallery-thumbs{gap:.42rem;margin-top:.55rem;padding-bottom:.3rem;display:flex;overflow-x:auto}.gallery-thumb{cursor:pointer;background:#fff;border:1px solid #1638422e;border-radius:10px;flex:none;width:68px;height:52px;padding:0;overflow:hidden}.gallery-thumb.active{border-color:#137d91;box-shadow:0 0 0 2px #137d9126}.gallery-thumb img{object-fit:cover;width:100%;height:100%}.ingredients-list,.steps-list{margin:.7rem 0 1.1rem;padding-left:1.1rem}.ingredients-list li,.steps-list li{margin-top:.55rem}.ingredients-list li{justify-content:space-between;gap:1rem;display:flex}.ingredients-list span{color:#4f646d}.steps-list p{color:#204550;margin:0}.step-meta{flex-wrap:wrap;gap:.35rem;margin-top:.35rem;display:flex}.step-meta span{color:#315661;background:#edf6f8;border-radius:999px;padding:.2rem .48rem;font-size:.72rem}.image-lightbox{z-index:1300;background:#081418e0;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.image-lightbox-panel{width:min(1020px,100%)}.image-lightbox-main{object-fit:contain;background:#0f1f24;border-radius:12px;width:100%;max-height:78vh}.image-lightbox-controls{grid-template-columns:auto 1fr auto;align-items:center;gap:.55rem;margin-top:.65rem;display:grid}.image-lightbox-controls p{text-align:center;color:#e4f2f8;margin:0;font-weight:600}@keyframes pulse{0%{background-position:100% 0}to{background-position:-100% 0}}@keyframes featureCardIn{0%{opacity:0;transform:translateY(16px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=940px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stats,.value-props{grid-template-columns:1fr}}@media (hover:hover) and (pointer:fine){.card:hover,.card:focus-within{border-color:#165d6d57;box-shadow:0 12px 24px #103b4624}.card:hover:before,.card:focus-within:before{opacity:1}.value-card:hover,.value-card:focus-within{z-index:2;border-color:#11607257;transform:scale(1.14);box-shadow:0 20px 36px #0f3f4a38}.value-card:hover .value-card-hint,.value-card:focus-within .value-card-hint{opacity:1;transform:translateY(0)}}@media (width<=620px){.page{gap:1.1rem;width:min(1140px,100% - 1.15rem);margin-top:.65rem}.hero-actions{flex-direction:column}.button-primary,.button-secondary{width:100%}.grid{grid-template-columns:1fr}.recipe-modal{padding:.85rem}.modal-main-image{max-height:340px}.image-lightbox-controls{grid-template-columns:1fr}.feature-modal{width:min(92vw,520px);height:78vh;min-height:70vh;padding:.95rem}.feature-modal-copy{font-size:1.12rem}.value-card-hint{opacity:1;transform:translateY(0)}.chip-row{gap:.34rem}.ingredients-list li{flex-direction:column;gap:.18rem}}
