:root{font-family:'Noto Sans',Arial,sans-serif;color:#19372c;background:#f6f7ed;font-synthesis:none;--ink:#17392d;--forest:#124a35;--lime:#c6ed69;--cream:#f6f7ed;--muted:#63756b;--line:#dae2d2}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}button,input,select{font:inherit}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:'Be Vietnam Pro','Noto Sans',sans-serif;letter-spacing:-.055em}em{font-style:normal;color:#79a03c}.container{width:min(100% - 80px,1360px);margin:auto}.section-pad{padding:118px 0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;z-index:100;left:16px;top:-80px;background:var(--lime);padding:12px}.skip-link:focus{top:8px}:focus-visible{outline:3px solid #e8843d;outline-offset:3px}.button{border:0;border-radius:100px;display:inline-flex;align-items:center;justify-content:center;gap:28px;font-weight:700;font-size:14px;min-height:51px;padding:0 24px;white-space:nowrap;transition:background .2s,color .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button-dark{background:var(--ink);color:white}.button-dark:hover{background:#32674a}.button-lime{background:var(--lime);color:#173823}.button-lime:hover{background:#d8f58e}.site-header{height:86px;position:relative;z-index:20;background:var(--cream);border-bottom:1px solid #e5e9df}.header-inner{display:flex;align-items:center;justify-content:space-between;height:100%;gap:24px}.brand{display:flex;align-items:center;gap:10px;font-family:'Be Vietnam Pro',sans-serif;font-size:25px;font-weight:800;letter-spacing:-.075em}.brand img{width:39px;height:43px;object-fit:contain}.brand-dot{color:#94bd38}.desktop-nav{display:flex;align-items:center;gap:37px;font-size:13px;font-weight:700}.desktop-nav a:hover,.footer a:hover,.text-link:hover{color:#6a9e35}.header-cta{min-height:43px;font-size:12px;padding:0 18px;gap:12px}.menu-toggle,.mobile-nav{display:none}.hero{background:var(--cream);overflow:hidden}.hero-grid{min-height:690px;display:grid;grid-template-columns:54% 46%;align-items:center}.hero-copy{padding:55px 3% 65px 0;position:relative;z-index:2}.eyebrow,.section-kicker,.panel-eyebrow{font-size:11px;font-weight:800;letter-spacing:.14em}.eyebrow{display:flex;align-items:center;gap:13px;color:#548343}.eyebrow-line{width:24px;height:1px;background:#548343}.hero h1{font-size:clamp(55px,5.6vw,91px);line-height:1.13;margin:34px 0 24px;font-weight:800}.hero h1 em{color:#85aa43}.hero-description{color:#5a6b61;font-size:17px;line-height:1.85;max-width:520px}.hero-actions{display:flex;align-items:center;gap:30px;margin-top:34px}.text-link{font-weight:700;font-size:14px;border-bottom:1px solid var(--ink);padding-bottom:7px}.hero-foot{font-size:12px;color:#63746a;margin-top:65px;display:flex;align-items:center;gap:8px}.pulse-dot,.live-dot{width:8px;height:8px;border-radius:50%;background:#8fc83b;display:inline-block;flex:none;box-shadow:0 0 0 4px #dcecc7}.hero-foot-divider{margin:0 6px}.hero-art{height:670px;position:relative;display:flex;justify-content:center;align-items:center;isolation:isolate}.hero-art:before{content:'';position:absolute;width:565px;height:565px;border-radius:50%;background:#dfecc7;z-index:-2;top:66px;left:7%}.hero-orbit{position:absolute;border:1px solid rgba(34,91,50,.17);border-radius:50%;z-index:-1}.orbit-one{width:630px;height:630px;top:34px}.orbit-two{width:505px;height:505px;top:96px}.phone-frame{height:535px;width:264px;border:7px solid #193c2e;border-radius:42px;background:#193c2e;box-shadow:23px 28px 45px #244b2a42;transform:rotate(-6deg);padding:3px;overflow:hidden}.phone-screen{height:100%;border-radius:32px;background:#f9faf4;padding:16px 15px 0;overflow:hidden;position:relative}.phone-status{display:flex;justify-content:space-between;font-weight:800;font-size:9px;padding:0 7px 15px}.phone-top{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#677f6d}.phone-avatar{display:grid;place-items:center;width:24px;height:24px;background:#d9eeae;border-radius:50%;font-weight:800;color:#285034}.phone-headline{font-size:21px;line-height:1.23;margin:10px 0 18px}.phone-headline span{color:#81ad3a}.phone-summary{display:flex;justify-content:space-between;font-size:10px;font-weight:700;margin-bottom:9px}.phone-food-row{display:flex;align-items:center;gap:9px;padding:8px;background:white;border:1px solid #eef0e6;border-radius:12px;margin-bottom:7px}.food-pictogram{display:grid;place-items:center;background:#eaf5d7;border-radius:9px;width:32px;height:32px;font-size:17px}.food-pictogram.orange{background:#fcf0df}.phone-food-row strong,.phone-food-row small{display:block}.phone-food-row strong{font-size:9px}.phone-food-row small{font-size:8px;color:#89988c;margin-top:3px}.phone-chevron{margin-left:auto;font-size:11px}.phone-feature{height:128px;border-radius:12px;background:#cce994;margin-top:12px;padding:10px;position:relative}.feature-illustration{float:right;font-size:41px;color:#638e36}.phone-feature small,.phone-feature strong,.phone-feature>span{display:block}.phone-feature small{font-size:7px;letter-spacing:.12em;font-weight:800;margin-top:12px}.phone-feature strong{font-size:14px;margin:7px 0 5px}.phone-feature>span{font-size:8px}.phone-feature-arrow{position:absolute;bottom:10px;right:11px;background:#1b4932;color:white;border-radius:50%;width:21px;height:21px;text-align:center;line-height:21px}.phone-bottom{display:flex;justify-content:space-between;margin:13px 5px 0;color:#719668}.phone-bottom>span{text-align:center;font-size:17px}.phone-bottom small{display:block;font-size:7px;color:#7a8b7e}.floating-note{position:absolute;background:white;box-shadow:0 15px 35px #19462b1e;border:1px solid #e6eddb;z-index:2}.note-left{left:1%;top:31%;border-radius:14px;display:flex;align-items:center;gap:9px;padding:12px 16px;font-size:11px;line-height:1.5;font-weight:700;transform:rotate(-8deg)}.note-icon{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#ecf4d7;font-size:17px}.note-right{right:0;bottom:26%;border-radius:14px;padding:14px 25px 14px 15px;transform:rotate(8deg)}.note-right strong,.note-right>span{display:block}.note-right strong{font-size:12px}.note-right>span:not(.note-spark){font-size:9px;margin-top:4px;color:var(--muted)}.note-spark{position:absolute;top:-16px;right:-12px;color:#eb925d;font-size:35px}.hero-art-caption{position:absolute;bottom:22px;left:12%;right:10%;font-size:10px;font-weight:800;letter-spacing:.12em;display:flex;justify-content:space-between;color:#6b856a}.ticker{background:#173e2e;color:#e8f3d2;overflow:hidden}.ticker-inner{min-height:72px;display:flex;align-items:center;justify-content:space-around;gap:25px;white-space:nowrap;width:min(100% - 60px,1420px);margin:auto;font-weight:800;font-size:12px;letter-spacing:.08em}.ticker b{color:var(--lime);font-size:24px}.intro{background:#fffefa}.intro-grid{display:grid;grid-template-columns:31% 69%}.section-kicker{color:#4d794b}.intro h2,.section-heading h2,.demo-intro h2,.signup h2{font-size:clamp(40px,4.1vw,66px);line-height:1.2;margin:0;font-weight:800}.intro h2{max-width:850px}.intro-bottom{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-top:37px}.intro-bottom p{font-size:16px;line-height:1.9;color:#607068;max-width:560px;margin:0}.intro-stamp{font-size:12px;line-height:1.6;font-weight:800;letter-spacing:.07em;color:#416c44;min-width:180px}.intro-stamp span{display:block;font-size:38px;color:#a8cd5b}.features{background:#edf1e6}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:42px}.section-heading h2,.demo-intro h2{margin-top:25px}.section-heading>p{max-width:350px;line-height:1.8;color:#607068;margin-bottom:5px}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.feature-card{min-height:390px;border-radius:20px;padding:25px 27px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.feature-card-green{background:#d5e9b9}.feature-card-cream{background:#f9f8ef}.feature-card-orange{background:#efd5b7}.card-top{display:flex;align-items:center;justify-content:space-between;font-size:10px;font-weight:800;letter-spacing:.08em}.circle-arrow{display:grid;place-items:center;width:32px;height:32px;border:1px solid #7a9a79;border-radius:50%;font-size:17px}.feature-symbol{align-self:center;display:grid;place-items:center;height:155px;color:#23553a}.shelf-symbol{position:relative;font-size:140px;line-height:1}.shelf-symbol i{position:absolute;border-radius:50%;height:20px;width:20px;background:#90b65c;bottom:34px;left:45px}.shelf-symbol i:nth-of-type(2){left:80px;background:#e89d62}.shelf-symbol i:nth-of-type(3){left:110px;background:#77a450}.plate-symbol{width:160px;height:160px;border-radius:50%;border:17px solid #dfeacc;box-shadow:inset 0 0 0 3px #abc185;font-size:90px;color:#b1cf76}.receipt-symbol{background:#fff6e8;width:115px;height:150px;border-radius:8px;transform:rotate(10deg);box-shadow:12px 13px 0 #c78e5a4d;font-size:55px;position:relative}.receipt-symbol small{position:absolute;bottom:13px;font-size:15px;line-height:1.1;color:#dfa46e}.feature-card h3{font-size:23px;margin:0 0 8px}.feature-card p{font-size:13px;line-height:1.7;color:#556a5c;max-width:320px;margin:0}.features-note{font-size:12px;color:#66786a;margin-top:26px}.quote-band{background:#c7e989;padding:58px 0}.quote-grid{display:flex;align-items:end;gap:30px}.quote-grid .asterisk{font-size:80px;line-height:.7;color:#426f35}.quote-grid p{font-family:'Be Vietnam Pro',sans-serif;font-size:clamp(25px,3.1vw,46px);line-height:1.3;letter-spacing:-.04em;font-weight:800;margin:0;flex:1}.quote-grid p em{color:#5a8338}.quote-grid>span{font-size:10px;letter-spacing:.13em;font-weight:800}.demo-section{background:#fbfcf7}.demo-intro{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:45px}.demo-intro-side{max-width:390px}.demo-intro-side p{color:#627269;line-height:1.75}.demo-pill{font-size:10px;letter-spacing:.06em;font-weight:800;display:inline-flex;align-items:center;gap:10px;border:1px solid #d6e4c9;border-radius:50px;padding:11px 13px;white-space:nowrap}.demo-app{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:610px;background:white;border:1px solid #dde6d8;border-radius:20px;box-shadow:0 20px 70px #234c2b12;overflow:hidden}.demo-sidebar{background:#183d2e;color:white;padding:23px 14px;display:flex;flex-direction:column}.demo-logo{display:flex;align-items:center;gap:8px;font-family:'Be Vietnam Pro',sans-serif;font-size:21px;font-weight:800;letter-spacing:-.06em;padding:0 14px}.demo-logo img{width:33px;height:37px;object-fit:contain}.demo-logo span{color:var(--lime)}.sidebar-label{color:#8fae92;font-size:10px;font-weight:800;letter-spacing:.13em;margin:55px 13px 17px}.demo-tabs{display:grid;gap:6px}.demo-tabs button{border:0;background:transparent;color:#d5e4d6;width:100%;text-align:left;padding:13px 14px;border-radius:8px;font-size:12px;font-weight:700;display:flex;align-items:center;gap:12px;min-height:45px}.demo-tabs button span{font-size:19px;font-weight:400;width:20px}.demo-tabs button:hover,.demo-tabs button[aria-selected=true]{background:#315c3d;color:white}.demo-tabs button[aria-selected=true]{box-shadow:inset 3px 0 var(--lime)}.sidebar-bottom{margin-top:auto;background:#2b573b;border-radius:12px;padding:19px 15px}.sidebar-leaf{font-size:34px;color:var(--lime)}.sidebar-bottom strong{display:block;line-height:1.4;font-size:16px;margin:10px 0}.sidebar-bottom small{color:#c1d4c0;line-height:1.5;display:block}.demo-content{min-width:0}.demo-topbar{height:61px;border-bottom:1px solid #edf0ea;padding:0 28px;display:flex;align-items:center;justify-content:space-between;font-weight:800;letter-spacing:.08em;font-size:10px;color:#6e7e71}.demo-topbar-right{display:flex;align-items:center;gap:10px}.live-dot{box-shadow:none}.tab-panel{padding:30px 34px 42px}.tab-panel[hidden],.mobile-nav[hidden]{display:none!important}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px}.panel-eyebrow{color:#71964c;font-size:10px}.panel-heading h3{font-size:31px;margin:7px 0 4px}.heading-spark{color:#a4ca59;font-size:19px;vertical-align:top;margin-left:9px}.panel-heading p{font-size:12px;color:#7b8a7e;margin:0}.panel-action{font-size:11px;min-height:39px}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:25px}.stat-card{border:1px solid #e8eee5;border-radius:11px;background:#f8faf4;padding:15px}.stat-card span{font-size:10px;color:#748676;display:block;margin-bottom:10px}.stat-card strong{font-size:20px;font-family:'Be Vietnam Pro',sans-serif;letter-spacing:-.04em}.stat-card.warn{background:#fff6eb;border-color:#f4e7d7}.content-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.filter-chips{display:flex;gap:6px}.chip{border:1px solid #e2e9df;background:white;padding:9px 12px;border-radius:50px;font-size:11px;font-weight:700;white-space:nowrap;min-height:36px}.chip.active,.chip:hover{background:#dceec1;border-color:#dceec1}.search-box{border:1px solid #e0e8df;border-radius:8px;display:flex;align-items:center;gap:6px;padding:0 9px;min-height:36px;font-size:22px;color:#779078}.search-box input{border:0;outline:0;min-width:0;width:140px;font-size:11px}.food-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.food-item{border:1px solid #e5ece2;border-radius:10px;padding:13px;display:flex;gap:12px;align-items:center;min-width:0}.food-item-icon{width:40px;height:40px;display:grid;place-items:center;background:#e9f3dc;border-radius:10px;font-size:20px;flex:none}.food-item-body{min-width:0;flex:1}.food-item strong,.food-item small{display:block}.food-item strong{font-size:12px}.food-item small{color:#819185;font-size:10px;margin-top:5px}.expiry-badge{color:#417348;background:#e8f2de;border-radius:30px;padding:5px 7px;font-size:9px;font-weight:800;white-space:nowrap}.expiry-badge.soon{color:#a45e2f;background:#fff0dc}.recipe-highlight{padding:14px;background:#edf5dc;border-radius:9px;font-size:11px;letter-spacing:.05em;font-weight:800;display:flex;justify-content:space-between;margin-bottom:18px}.recipe-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.recipe-card{border:1px solid #e2e9db;border-radius:13px;padding:20px;background:#fcfdf8;display:flex;flex-direction:column;min-height:190px}.recipe-card .recipe-icon{font-size:25px;color:#82a64f}.recipe-card h3{font-size:19px;margin:10px 0 6px}.recipe-card p{font-size:12px;line-height:1.55;color:#657568;margin:0 0 12px}.recipe-card .ingredients{font-size:11px;color:#386344;margin-top:auto}.recipe-card .button{margin-top:12px;min-height:35px;align-self:start;font-size:10px;padding:0 12px}.shopping-form,.expense-form{display:flex;gap:9px;margin-bottom:19px}.shopping-form input,.expense-form input,.signup-card input,.signup-card select,.food-dialog input,.food-dialog select{background:#fff;border:1px solid #d8e2d4;border-radius:8px;min-height:44px;padding:0 13px;color:var(--ink);outline:none}.shopping-form input:focus,.expense-form input:focus,.signup-card input:focus,.signup-card select:focus,.food-dialog input:focus,.food-dialog select:focus{border-color:#5a964b;box-shadow:0 0 0 3px #d9efbd}.shopping-form input{flex:1;min-width:0}.shopping-form .button,.expense-form .button{font-size:11px;min-height:44px}.shopping-list,.expense-list{border:1px solid #e3eadf;border-radius:12px;overflow:hidden}.shopping-item,.expense-item{padding:13px 17px;border-bottom:1px solid #e8eee5;display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:13px}.shopping-item:last-child,.expense-item:last-child{border:0}.shopping-item label{display:flex;align-items:center;gap:11px;min-width:0;overflow-wrap:anywhere}.shopping-item input{accent-color:#4e8a46;width:17px;height:17px;flex:none}.shopping-item .is-done span{text-decoration:line-through;color:#8a998a}.button-small{background:none;border:0;color:#a4513e;font-size:12px;min-width:44px;min-height:36px}.budget-card{padding:27px;border-radius:15px;background:#e4f1d1;margin-bottom:25px}.budget-card>span{display:block;font-size:11px;font-weight:800}.budget-card strong{display:block;font-size:38px;letter-spacing:-.05em;margin:8px 0 3px}.budget-card p{font-size:12px;color:#577054;margin:0 0 22px}.budget-track{height:10px;border-radius:99px;background:#c8deb7;overflow:hidden}.budget-track>span{display:block;height:100%;background:#417647;border-radius:99px}.budget-card.over{background:#fff0e1}.budget-card.over .budget-track>span{background:#b15e39}.budget-labels{display:flex;justify-content:space-between;margin-top:10px;font-size:10px;font-weight:700}.budget-subtitle{font-size:15px;margin:26px 0 13px}.expense-form input:first-child{flex:1;min-width:0}.expense-form input:nth-child(2){width:150px;min-width:0}.form-status{font-size:12px;color:#3b7043;line-height:1.6}.empty-state{padding:35px;text-align:center;color:#748376;grid-column:1/-1}.demo-disclaimer{font-size:11px;color:#7f8d7e;margin:16px 0 0;text-align:center}.signup{background:#dcebc6}.signup-grid{display:grid;grid-template-columns:1fr 440px;gap:10%;align-items:center}.signup h2{margin:28px 0}.signup-grid>div:first-child>p{line-height:1.8;max-width:500px;color:#526a51}.signup-deco{font-size:60px;color:#6c9b4b;margin-top:70px}.signup-deco span{font-size:11px;letter-spacing:.12em;font-weight:800;vertical-align:middle;margin-left:20px}.signup-card{background:#fffefa;border-radius:18px;padding:35px;box-shadow:14px 17px 0 #c4dda9}.form-tag{font-size:10px;letter-spacing:.1em;font-weight:800;color:#65904b}.signup-card h3{font-size:29px;margin:13px 0}.signup-card>p,.signup-card>small{font-size:12px;line-height:1.7;color:#677769;display:block}.signup-card form{display:grid;margin-top:22px}.signup-card label,.food-dialog label{font-size:11px;font-weight:800;margin:13px 0 7px}.signup-card input,.signup-card select{width:100%}.form-submit{margin-top:23px;width:100%}.signup-card>small{margin-top:15px}.footer{background:#173e2e;color:#f4f7ec;padding:65px 0 24px}.footer-main{display:flex;justify-content:space-between;gap:50px;padding-bottom:65px}.footer-brand{color:white}.footer-main p{font-size:13px;line-height:1.8;color:#bbd0bd;margin:20px 0}.footer-links{display:flex;gap:100px}.footer-links>div{display:flex;flex-direction:column;gap:14px}.footer-links strong{font-size:10px;letter-spacing:.12em;color:#a1bf9e;margin-bottom:8px}.footer-links a{font-size:13px}.footer-bottom{border-top:1px solid #38604a;padding-top:23px;display:flex;justify-content:space-between;gap:20px;color:#a5bca9;font-size:10px;letter-spacing:.07em}.food-dialog{width:min(92vw,470px);border:0;border-radius:20px;box-shadow:0 30px 100px #102f2399;color:var(--ink);padding:28px}.food-dialog::backdrop{background:#102e23a8}.dialog-head{display:flex;justify-content:space-between}.dialog-head h3{font-size:25px;margin:5px 0}.dialog-close{border:0;background:#edf3e7;width:38px;height:38px;border-radius:50%;font-size:25px}.food-dialog p{font-size:12px;color:#6d7b71;line-height:1.6}.food-dialog form{display:flex;flex-direction:column}.dialog-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.dialog-fields>div{display:flex;flex-direction:column}.dialog-submit{margin-top:23px}@media(max-width:1100px){.desktop-nav{gap:18px}.header-cta{display:none}.hero-grid{grid-template-columns:53% 47%}.hero h1{font-size:clamp(52px,6vw,72px)}.note-left{left:-5%}.feature-card{padding:20px}.demo-app{grid-template-columns:205px minmax(0,1fr)}.tab-panel{padding:25px 22px}.signup-grid{gap:5%}}@media(max-width:800px){.container{width:min(100% - 40px,700px)}.section-pad{padding:80px 0}.desktop-nav{display:none}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;border:0;background:transparent;width:44px;height:44px;padding:8px}.menu-toggle span{height:2px;width:26px;background:var(--ink)}.mobile-nav:not([hidden]){display:flex;flex-direction:column;background:var(--cream);padding:15px 20px 25px;border-bottom:1px solid var(--line);box-shadow:0 15px 25px #193d2d15}.mobile-nav a{padding:12px 0;font-weight:700}.hero-grid{grid-template-columns:1fr}.hero-copy{padding:75px 0 0}.hero h1{font-size:clamp(49px,9vw,76px)}.hero-foot{margin-top:35px}.hero-art{height:570px}.hero-art:before{left:50%;transform:translateX(-50%);top:22px}.orbit-one{top:0}.orbit-two{top:60px}.hero-art-caption{bottom:4px}.note-left{left:4%}.note-right{right:5%}.ticker-inner{width:max-content;gap:30px;padding:0 20px}.intro-grid{grid-template-columns:1fr;gap:26px}.feature-grid{grid-template-columns:1fr 1fr}.feature-card:last-child{grid-column:span 2;min-height:300px}.demo-intro{display:block}.demo-intro-side{margin-top:22px}.demo-app{grid-template-columns:1fr}.demo-sidebar{padding:13px}.demo-logo,.sidebar-label,.sidebar-bottom{display:none}.demo-tabs{display:flex;overflow-x:auto;gap:3px}.demo-tabs button{flex:0 0 auto;width:auto;padding:9px 12px;white-space:nowrap}.demo-topbar{height:48px}.signup-grid{grid-template-columns:1fr;gap:35px}.signup-deco{margin-top:20px}.signup-card{max-width:500px}.footer-links{gap:35px}}@media(max-width:560px){.container{width:calc(100% - 34px)}.site-header{height:68px}.brand{font-size:22px}.brand img{width:32px;height:37px}.hero-copy{padding-top:56px}.hero h1{font-size:clamp(43px,10vw,58px);margin:25px 0 18px}.hero-description{font-size:15px}.hero-actions{align-items:flex-start;flex-direction:column;gap:20px}.hero-foot{flex-wrap:wrap;font-size:11px}.hero-art{height:540px;margin:0 -17px}.hero-art:before{width:410px;height:410px}.orbit-one{width:470px;height:470px;top:0}.orbit-two{width:380px;height:380px;top:45px}.phone-frame{transform:rotate(-5deg) scale(.83);flex:none}.note-left{left:0;top:25%;font-size:9px}.note-right{right:0;bottom:23%}.hero-art-caption{font-size:8px}.intro h2,.section-heading h2,.demo-intro h2,.signup h2{font-size:clamp(34px,8vw,46px)}.intro-bottom{display:block}.intro-bottom p{font-size:14px}.intro-stamp{margin-top:30px}.section-heading{display:block}.section-heading>p{margin-top:20px}.feature-grid{grid-template-columns:1fr}.feature-card,.feature-card:last-child{grid-column:auto;min-height:340px}.quote-grid{display:block}.quote-grid .asterisk{font-size:55px}.quote-grid p{font-size:25px;margin:13px 0}.quote-grid>span{font-size:9px}.demo-pill{font-size:8px}.demo-topbar{padding:0 13px;font-size:8px}.tab-panel{padding:23px 13px}.panel-heading{align-items:flex-start;flex-direction:column}.panel-heading h3{font-size:26px}.stat-grid{gap:5px}.stat-card{padding:10px 7px}.stat-card span{font-size:9px;min-height:25px}.stat-card strong{font-size:16px}.content-toolbar{align-items:stretch;flex-direction:column}.filter-chips{overflow-x:auto}.search-box input{width:100%}.food-list,.recipe-list{grid-template-columns:1fr}.shopping-form,.expense-form{flex-wrap:wrap}.shopping-form input,.expense-form input:first-child{flex-basis:100%}.expense-form input:nth-child(2){flex:1}.signup-card{padding:24px}.footer-main{display:block}.footer-links{margin-top:35px;gap:25px}.footer-bottom{flex-direction:column}.dialog-fields{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Keep intrinsic content from widening single-column layouts. */
.hero-copy,.hero-art,.header-inner{min-width:0}@media(max-width:800px){.hero-grid{grid-template-columns:minmax(0,1fr)}.header-inner{width:calc(100% - 40px)}}@media(max-width:560px){.header-inner{width:calc(100% - 34px)}.hero-foot{max-width:100%}.hero-description{overflow-wrap:anywhere}}

@media(max-width:800px){.demo-app{grid-template-columns:minmax(0,1fr)}.demo-sidebar,.demo-content,.demo-tabs{min-width:0}}

/* Visual refinement: localized typography, consistent 1.8px line icons and measured motion. */
:root{--ease-out:cubic-bezier(.22,1,.36,1);--ease-soft:cubic-bezier(.2,.8,.2,1)}
.icon-sprite{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}
.icon{display:inline-block;width:1.2em;height:1.2em;vertical-align:-.16em;flex:none;stroke:currentColor}
.button .icon{width:16px;height:16px;transition:transform .25s var(--ease-out)}
.button:hover .icon,.text-link:hover .icon{transform:translate(2px,-2px)}
.text-link .icon{width:14px;height:14px;transition:transform .25s var(--ease-out)}
.note-icon .icon{width:17px;height:17px}
.phone-summary .icon{width:12px;height:12px;vertical-align:-.2em}
.food-pictogram .icon{width:19px;height:19px}
.phone-chevron .icon{width:12px;height:12px}
.feature-illustration .icon{width:45px;height:45px}
.phone-feature-arrow .icon{width:13px;height:13px;vertical-align:middle}
.phone-bottom .icon{width:16px;height:16px}
.note-spark .icon{width:35px;height:35px}
.hero-art-caption .icon{width:14px;height:14px}
.ticker b .icon{width:22px;height:22px;vertical-align:middle}
.intro-stamp .icon{width:37px;height:37px;display:block;margin-top:7px}
.circle-arrow .icon{width:17px;height:17px}
.shelf-symbol .icon{width:125px;height:125px}
.plate-symbol .icon{width:85px;height:85px}
.receipt-symbol .icon{width:60px;height:60px}
.asterisk .icon{width:75px;height:75px}
.demo-tabs .icon{width:20px;height:20px}
.sidebar-leaf .icon{width:37px;height:37px}
.heading-spark .icon{width:20px;height:20px}
.search-box .icon{width:18px;height:18px}
.recipe-highlight .icon,.signup-deco .icon{width:22px;height:22px}
.signup-deco .icon{width:55px;height:55px;vertical-align:middle}
.dialog-close .icon{width:20px;height:20px}
.footer-bottom .icon{width:13px;height:13px}
.feature-card{transition:box-shadow .32s var(--ease-out),translate .32s var(--ease-out)}
.feature-card:hover{translate:0 -6px;box-shadow:0 22px 35px #24432c17}
.feature-card:hover .feature-symbol{transform:rotate(-4deg) scale(1.035)}
.feature-symbol{transition:transform .45s var(--ease-out)}
.chip,.demo-tabs button,.shopping-item,.food-item,.recipe-card{transition:background-color .2s var(--ease-soft),border-color .2s var(--ease-soft),box-shadow .2s var(--ease-soft)}
.food-item:hover,.recipe-card:hover{border-color:#a8c697;box-shadow:0 8px 22px #284a2d0d}
.shopping-item:hover{background:#f7faef}
.chip{min-height:44px}
.demo-tabs button{min-height:46px}
.button-small{min-height:44px}
.dialog-close{width:44px;height:44px;display:grid;place-items:center}
.search-box{min-height:44px}
.text-link{display:inline-flex;gap:8px;align-items:center;min-height:44px}
.hero h1{letter-spacing:-.065em}
.hero-description{line-height:1.78}
.hero-copy{animation:hero-enter .8s var(--ease-out) both}
.phone-frame{animation:phone-enter .9s .15s var(--ease-out) both}
.floating-note{animation:note-enter .8s .5s var(--ease-out) both}
@keyframes hero-enter{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@keyframes phone-enter{from{opacity:0;transform:translateY(28px) rotate(-9deg)}to{opacity:1;transform:translateY(0) rotate(-6deg)}}
@keyframes note-enter{from{opacity:0;scale:.92}to{opacity:1;scale:1}}
/* Reveal is enhancement only: content is fully visible without JavaScript/IO. */
.motion-ready .reveal:not(.is-visible){opacity:0;transform:translateY(24px)}
.motion-ready .reveal{transition:opacity .68s var(--ease-out),transform .68s var(--ease-out)}
.motion-ready .reveal.is-visible{opacity:1;transform:translateY(0)}
.motion-ready .feature-card.reveal:nth-child(2){transition-delay:.09s}
.motion-ready .feature-card.reveal:nth-child(3){transition-delay:.18s}
@media(max-width:560px){.phone-frame{animation-name:phone-enter-small}.heading-spark .icon{width:17px;height:17px}}
@keyframes phone-enter-small{from{opacity:0;transform:translateY(24px) rotate(-8deg) scale(.83)}to{opacity:1;transform:translateY(0) rotate(-5deg) scale(.83)}}
@media(prefers-reduced-motion:reduce){.hero-copy,.phone-frame,.floating-note{animation:none!important}.motion-ready .reveal:not(.is-visible){opacity:1;transform:none}.motion-ready .reveal{transition:none}.feature-card:hover{translate:none}.feature-card:hover .feature-symbol{transform:none}}

/* High-contrast text tokens measured against their actual section surfaces. */
.hero h1 em,.intro h2 em,.section-heading h2 em,.demo-intro h2 em,.signup h2 em{color:#4b7432}
.hero .eyebrow,.section-kicker,.panel-eyebrow,.form-tag{color:#3c673e}
.feature-card p,.features-note,.demo-topbar,.panel-heading p,.stat-card span,.food-item small,.demo-disclaimer,.signup-deco span{color:#435e4a}
.feature-card-orange p{color:#4d4435}
.expiry-badge.soon{color:#79411e}
.signup .section-kicker,.signup h2 em{color:#365e30}

.footer-links a .icon{width:13px;height:13px;margin-left:3px;transition:transform .2s var(--ease-out)}.footer-links a:hover .icon{transform:translate(2px,-2px)}

@media(max-width:560px){.signup-grid{grid-template-columns:minmax(0,1fr)}.signup-grid>div,.signup-card{min-width:0}.signup-deco span{margin-left:10px;letter-spacing:.06em;font-size:9px}.signup-deco .icon{width:38px;height:38px}}

.panel-action .icon,.shopping-form .icon,.expense-form .icon,.recipe-card .button .icon{width:15px;height:15px}
/* Feature illustrations: concrete miniature product stories rather than abstract symbols. */
.feature-preview{width:min(100%,335px);align-self:center;border:1px solid #d4e3ca;border-radius:17px;box-shadow:0 13px 28px #37563a15;overflow:hidden;font-family:'Noto Sans',Arial,sans-serif;transform:rotate(-3deg);transition:transform .45s var(--ease-out),box-shadow .35s var(--ease-out)}
.feature-card:hover .feature-preview{transform:rotate(0deg) translateY(-4px);box-shadow:0 20px 32px #37563a21}
.preview-caption{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:800;padding:12px 13px;color:#244c32;background:#f7fbef}
.preview-caption .icon{width:17px;height:17px}
.preview-count{margin-left:auto;font-size:10px;color:#486d46}
.pantry-preview{background:#fffefa;padding-bottom:5px}
.preview-food{display:flex;align-items:center;gap:9px;margin:0 8px;padding:8px 5px;border-top:1px solid #e9eee3;min-width:0}
.preview-produce{width:30px;height:30px;flex:none;display:grid;place-items:center;border-radius:9px;color:#285836}
.preview-produce .icon{width:18px;height:18px}
.produce-leaf{background:#e7f1d5}.produce-egg{background:#fcf0df}
.preview-food-name{font-size:10px;font-weight:800;min-width:0;white-space:nowrap}
.preview-food-name small{display:block;font-size:9px;font-weight:500;color:#506a55;margin-top:2px}
.preview-expiry{font-size:9px;font-weight:800;color:#844525;background:#fce9d5;border-radius:20px;padding:6px 7px;white-space:nowrap;margin-left:auto}
.preview-expiry.fresh{color:#365c32;background:#e9f3dd}
.meal-preview{background:#fffefa;transform:rotate(3deg);border-color:#e4e8d9;padding-bottom:9px}
.meal-preview .preview-caption{background:#f6f7ec}
.ingredient-flow{display:flex;align-items:center;gap:6px;padding:13px 11px 10px}
.ingredient-pill{display:inline-flex;align-items:center;gap:4px;padding:7px 8px;border-radius:8px;background:#f0f4e7;color:#315839;font-size:9px;font-weight:700;white-space:nowrap}
.ingredient-pill .icon{width:13px;height:13px}.flow-arrow{width:14px;height:14px;margin-left:auto;color:#5a8338}
.meal-result{display:flex;align-items:center;gap:9px;margin:0 9px;padding:10px;background:#d8ebac;border-radius:10px;color:#254632}
.meal-result-icon{width:30px;height:30px;flex:none;display:grid;place-items:center;border-radius:50%;background:#f6f9e9}
.meal-result-icon .icon{width:20px;height:20px}.meal-result small{display:block;font-size:8px;letter-spacing:.08em;font-weight:800}.meal-result strong{display:block;margin-top:2px;font-size:11px}
@media(max-width:1100px){.feature-preview{width:100%}.preview-expiry{font-size:8px}.ingredient-pill{padding:6px 5px;font-size:8px}.preview-food-name{font-size:9px}}
@media(max-width:560px){.feature-preview{width:min(100%,330px)}.ingredient-pill{padding:7px 8px;font-size:9px}.preview-food-name{font-size:10px}}
@media(prefers-reduced-motion:reduce){.feature-card:hover .feature-preview{transform:none}}

/* Quiet visual pause between the hero and the story, replacing the slogan ticker. */
.story-transition{background:linear-gradient(to bottom,var(--cream) 0%,#fffefa 100%);padding:36px 0 20px}
.story-transition-inner{display:flex;align-items:center;justify-content:center;gap:18px}
.transition-line{height:1px;width:min(18vw,176px);background:linear-gradient(to right,transparent,#b9cdae)}
.transition-line:last-child{transform:rotate(180deg)}
.transition-mark{width:44px;height:44px;border:1px solid #cdddbf;border-radius:50%;display:grid;place-items:center;color:#557e45;background:#f3f7e9}
.transition-mark .icon{width:20px;height:20px}
@media(max-width:560px){.story-transition{padding:24px 0 8px}.story-transition-inner{gap:12px}.transition-line{width:min(22vw,88px)}.transition-mark{width:38px;height:38px}}
