:root{
  --bg:#fbfcf7;
  --surface:#ffffff;
  --surface-soft:#f4faea;
  --green:#78d50f;
  --green-dark:#1e7a3a;
  --green-deep:#0c3f25;
  --lime:#edf9d8;
  --text:#171b22;
  --muted:#5d6673;
  --line:#dfe8d3;
  --shadow:0 24px 70px rgba(21,45,18,.10);
  --radius:28px;
  --max-width:1160px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background:var(--bg);
  color:var(--text);
  line-height:1.5;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.section-wrap{width:min(var(--max-width), calc(100% - 48px));margin:0 auto}
.site-header{
  width:min(1220px, calc(100% - 44px));
  margin:0 auto;
  padding:20px 0 10px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  position:sticky;
  top:0;
  z-index:20;
  background:rgba(251,252,247,.86);
  backdrop-filter: blur(18px);
}
.brand{display:flex;align-items:center;gap:12px;font-weight:900;font-size:28px;letter-spacing:-.04em}
.brand__icon{width:44px;height:44px;object-fit:cover;border-radius:50%}
.main-nav{display:flex;align-items:center;gap:34px;font-size:15px;font-weight:700;color:#222832}
.main-nav a{transition:.18s ease}
.main-nav a:hover{color:var(--green-dark)}
.button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  border-radius:14px;
  padding:16px 24px;
  font-size:16px;
  font-weight:900;
  border:1px solid transparent;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
  min-height:58px;
}
.button:hover{transform:translateY(-1px);box-shadow:0 14px 30px rgba(80,130,0,.16)}
.button img{width:24px;height:24px;object-fit:contain;border-radius:6px}
.button--primary{background:linear-gradient(180deg,#91e21c,#65c70b);color:#102008;box-shadow:0 18px 40px rgba(105,200,15,.24)}
.button--secondary{background:#fff;border-color:#d6ddce;color:#172018}
.button--header{background:#92df19;color:#102008;padding:13px 20px;min-height:50px;border-radius:12px}
.button--header img{width:22px;height:22px}
.hero{min-height:800px;display:grid;grid-template-columns:0.92fr 1.08fr;align-items:center;gap:68px;padding:72px 0 84px;position:relative}
.hero__copy{position:relative;z-index:2}
.eyebrow{display:inline-flex;align-items:center;gap:9px;padding:10px 16px;border-radius:12px;background:#ecf8dc;color:#264229;font-weight:800;font-size:15px;margin-bottom:34px}
.eyebrow img{width:22px;height:22px;border-radius:5px}
h1{font-size:64px;line-height:.98;letter-spacing:-.065em;margin:0 0 28px;max-width:640px}
h1 span{color:#73c915}
.hero__lead{font-size:21px;line-height:1.65;color:#343b45;max-width:620px;margin:0 0 34px}
.hero__actions{display:flex;align-items:center;gap:22px;margin-bottom:28px}
.trust-row{display:flex;flex-wrap:wrap;gap:16px 22px;color:#4b5563;font-weight:700;font-size:15px}
.trust-row span{display:flex;align-items:center;gap:8px}
.trust-row span:before{content:"";width:19px;height:19px;border-radius:50%;background:#e7f7d2;border:1px solid #b7dc92;display:inline-block;box-shadow:inset 0 0 0 5px #f6fbef}
.hero__visual{min-height:660px;position:relative;display:flex;align-items:center;justify-content:center}
.chat-bg{position:absolute;width:680px;height:500px;background:#edf8db;border-radius:48% 52% 44% 56%;filter:blur(.1px);opacity:.82;right:0;top:14px}
.floating-mascot{position:absolute;right:-58px;top:28px;width:72px;height:72px;border-radius:50%;object-fit:cover;z-index:3;filter:drop-shadow(0 10px 22px rgba(30,80,20,.14))}
.chat-bubble{position:absolute;z-index:4;border-radius:22px;border:1px solid #d4e3c2;background:#fff;box-shadow:0 20px 50px rgba(27,53,19,.12);overflow:hidden}
.chat-bubble--user{right:36px;top:0;width:min(560px,86%);background:#f2f9e8;border-color:#c8dfaa;border-bottom-right-radius:8px;padding:12px}
.chat-bubble--user img{height:360px;width:100%;object-fit:cover;object-position:center 80%;border-radius:16px}
.chat-bubble__label{font-weight:800;color:#243125;font-size:17px}
.chat-time{text-align:right;color:#7a848f;font-size:13px;margin-top:6px}
.chat-bubble--bot{left:20px;top:382px;width:min(500px,78%);padding:22px 24px;background:#eef7ff;border-color:#c9d9ea;border-bottom-left-radius:8px}
.chat-bubble--bot h3{margin:0 0 12px;font-size:22px;letter-spacing:-.02em}
.meal-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.meal-list li{display:grid;gap:2px;font-size:17px;color:#1f2731}
.meal-list b{font-weight:800;color:#171b22}
.meal-total{margin-top:14px;padding-top:12px;border-top:1px solid rgba(0,0,0,.08);font-size:17px;font-weight:900}
.meal-total span{margin-right:6px}
.how{padding:48px 0 38px;border-top:1px solid rgba(114,166,47,.10)}
.how h2,.benefits h2,.plus h2,.faq h2{font-size:34px;line-height:1.15;letter-spacing:-.04em;text-align:center;margin:0 0 34px}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:38px;position:relative}
.steps:before{content:"";position:absolute;left:12%;right:12%;top:70px;border-top:2px dashed #b9d98c;z-index:0}
.step{text-align:center;position:relative;z-index:1}
.step__icon{position:relative;width:150px;height:150px;margin:0 auto 18px;border-radius:36px;display:grid;place-items:center}
.step__icon img{width:132px;height:132px;object-fit:contain;border-radius:28px}
.step__icon span{position:absolute;left:50%;bottom:-10px;transform:translateX(-50%);width:32px;height:32px;border-radius:50%;background:#7ad000;color:#102008;font-weight:1000;display:grid;place-items:center;font-size:15px;box-shadow:0 6px 18px rgba(105,200,15,.25)}
.step h3{font-size:19px;margin:0 0 8px;letter-spacing:-.02em}
.step p{margin:0 auto;color:#626b76;font-size:16px;max-width:210px;line-height:1.5}
.benefits{padding:42px 0 54px}
.benefit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.benefit-card{background:#fff;border:1px solid #e0e5dc;border-radius:22px;padding:28px;display:grid;grid-template-columns:86px 1fr;gap:22px;min-height:172px;box-shadow:0 12px 30px rgba(20,40,20,.04)}
.benefit-card img{width:82px;height:82px;border-radius:18px;object-fit:contain;justify-self:center;align-self:start}
.benefit-card h3{margin:0 0 10px;font-size:21px;line-height:1.22;letter-spacing:-.025em}
.benefit-card p{margin:0;color:#606a76;font-size:16px;line-height:1.55}
.plus{padding:50px 42px;display:grid;grid-template-columns:1fr 320px;gap:38px;align-items:stretch;background:linear-gradient(135deg,#f5faeb,#fffdf8);border:1px solid #e1ebd2;border-radius:28px;box-shadow:var(--shadow)}
.plus h2{text-align:left;margin-bottom:14px}.section-lead{font-size:18px;color:#5c6570;max-width:760px;margin:0 0 30px;line-height:1.6}
.plus-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.plus-grid article{background:rgba(255,255,255,.72);border:1px solid rgba(204,220,184,.72);border-radius:22px;padding:24px;text-align:center}
.plus-grid img{width:78px;height:78px;object-fit:contain;margin:0 auto 14px;border-radius:20px}
.plus-grid h3{margin:0 0 10px;font-size:19px}.plus-grid p{margin:0;color:#5e6874;line-height:1.55}
.price-card{position:relative;background:#fff;border:2px solid #8bd719;border-radius:26px;padding:28px;box-shadow:0 18px 44px rgba(105,200,15,.14)}
.price-card__label{position:absolute;top:-16px;left:24px;background:#83d719;color:#13220a;font-weight:1000;padding:6px 20px;border-radius:999px}
.price{font-size:20px;margin:12px 0 4px}.price b{font-size:44px;letter-spacing:-.05em}.price--year{font-size:18px;color:#303844;margin-bottom:20px}.price-card p{font-weight:800;margin:20px 0 10px}.price-card ul{margin:0;padding:0;list-style:none;display:grid;gap:9px;color:#4e5965}.price-card li:before{content:"✓";color:#68bd07;font-weight:900;margin-right:8px}
.faq{padding:58px 0 44px}.faq-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.faq-grid article{background:#fff;border:1px solid #e2e7de;border-radius:20px;padding:22px}.faq-grid h3{font-size:17px;line-height:1.3;margin:0 0 10px}.faq-grid p{font-size:15px;color:#5e6874;margin:0;line-height:1.5}
.final-cta{margin-bottom:36px;padding:24px 56px;background:linear-gradient(135deg,#eff9dd,#fffdf6);border-radius:28px;display:grid;grid-template-columns:130px 1fr auto;align-items:center;gap:28px;border:1px solid #e0ebd0}.final-cta__mascot{width:120px;height:120px;border-radius:26px;object-fit:contain;object-position:center;background:#f3fbe9;padding:4px}.final-cta h2{font-size:34px;line-height:1.12;letter-spacing:-.04em;margin:0 0 8px}.final-cta p{margin:0;color:#5d6673;font-size:17px}.site-footer{padding:18px 0 40px;display:flex;justify-content:space-between;gap:20px;color:#636c78}.brand--footer{font-size:24px}.site-footer p{margin:0;text-align:right}

@media (max-width: 980px){
  .section-wrap{width:min(100% - 32px, var(--max-width))}
  .site-header{width:calc(100% - 32px);padding:14px 0 8px;gap:14px}
  .main-nav{display:none}
  .brand{font-size:24px;gap:10px}
  .brand__icon{width:40px;height:40px}
  .button--header{width:auto;min-height:44px;padding:10px 14px;border-radius:12px;font-size:14px;white-space:nowrap}
  .button--header img{width:22px;height:22px}

  .hero{grid-template-columns:1fr;gap:22px;padding:38px 0 34px;min-height:0}
  h1{font-size:48px;line-height:1.02;letter-spacing:-.06em;max-width:720px;margin-bottom:22px}
  .hero__lead{font-size:18px;line-height:1.58;margin-bottom:24px;max-width:680px}
  .eyebrow{font-size:14px;margin-bottom:24px}
  .hero__actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:22px}
  .button{width:100%;min-height:54px}
  .site-header .button--header{width:auto;flex:0 0 auto}
  .trust-row{font-size:14px;gap:12px 16px}

  .hero__visual{display:block;min-height:auto;padding:12px 0 4px}
  .chat-bg{width:100%;height:430px;right:0;top:38px;border-radius:42% 58% 47% 53%}
  .floating-mascot{width:56px;height:56px;right:6px;top:0}
  .chat-bubble{position:relative}
  .chat-bubble--user{right:auto;top:auto;width:min(620px,88%);margin-left:auto;margin-right:0;padding:10px;border-radius:20px;border-bottom-right-radius:7px}
  .chat-bubble--user img{height:260px;object-position:center 80%;border-radius:14px}
  .chat-bubble--bot{left:auto;top:auto;width:min(620px,92%);margin:14px auto 0 0;padding:18px;border-radius:20px;border-bottom-left-radius:7px}
  .chat-bubble--bot h3{font-size:19px;margin-bottom:10px}
  .meal-list{gap:8px}
  .meal-list li,.meal-total{font-size:15px}

  .how{padding:34px 0 28px}
  .how h2,.benefits h2,.plus h2,.faq h2{font-size:32px;margin-bottom:24px}
  .steps{grid-template-columns:1fr;gap:18px}
  .steps:before{display:none}
  .step{display:grid;grid-template-columns:96px 1fr;grid-template-areas:"icon title" "icon text";text-align:left;align-items:center;gap:6px 16px;background:#fff;border:1px solid #e4eadc;border-radius:22px;padding:14px;box-shadow:0 10px 26px rgba(20,40,20,.035)}
  .step__icon{grid-area:icon;width:96px;height:96px;margin:0;border-radius:24px}
  .step__icon img{width:86px;height:86px;border-radius:20px}
  .step__icon span{left:18px;bottom:2px;transform:none;width:28px;height:28px;font-size:13px}
  .step h3{grid-area:title;font-size:18px;margin:0 0 2px}
  .step p{grid-area:text;font-size:15px;margin:0;max-width:none}

  .benefits{padding:34px 0 42px}
  .benefit-grid{grid-template-columns:1fr;gap:14px}
  .benefit-card{grid-template-columns:76px 1fr;padding:20px;gap:16px;min-height:auto;border-radius:20px}
  .benefit-card img{width:74px;height:74px;border-radius:16px}
  .benefit-card h3{font-size:19px;margin-bottom:6px}
  .benefit-card p{font-size:15px;line-height:1.5}

  .plus{grid-template-columns:1fr;padding:28px 18px;gap:22px;border-radius:24px}
  .plus h2{text-align:center}
  .section-lead{text-align:center;font-size:16px;margin-bottom:20px}
  .plus-grid{grid-template-columns:1fr;gap:14px}
  .plus-grid article{display:grid;grid-template-columns:74px 1fr;grid-template-areas:"icon title" "icon text";text-align:left;align-items:center;gap:6px 14px;padding:18px;border-radius:20px}
  .plus-grid img{grid-area:icon;width:70px;height:70px;margin:0;border-radius:16px}
  .plus-grid h3{grid-area:title;font-size:18px;margin:0 0 2px}
  .plus-grid p{grid-area:text;font-size:15px;line-height:1.45;margin:0}
  .price-card{padding:26px 22px;border-radius:22px}
  .price b{font-size:38px}

  .faq{padding:42px 0 32px}
  .faq-grid{grid-template-columns:1fr;gap:12px}
  .faq-grid article{padding:18px;border-radius:18px}

  .final-cta{grid-template-columns:92px 1fr;grid-template-areas:"mascot text" "button button";gap:16px;text-align:left;padding:22px;border-radius:24px}
  .final-cta__mascot{grid-area:mascot;width:88px;height:88px;border-radius:20px;margin:0}
  .final-cta div{grid-area:text}
  .final-cta .button{grid-area:button}
  .final-cta h2{font-size:28px;line-height:1.12;margin-bottom:6px}
  .final-cta p{font-size:15px;line-height:1.45}

  .site-footer{flex-direction:column;text-align:center;align-items:center;padding-bottom:26px}
  .site-footer p{text-align:center}
}

@media (max-width: 560px){
  .section-wrap{width:calc(100% - 28px)}
  .site-header{width:calc(100% - 28px)}
  .brand{font-size:21px}
  .brand__icon{width:36px;height:36px}
  .button--header{padding:9px 10px;min-height:40px;font-size:0;gap:0}
  .button--header img{width:24px;height:24px}

  .hero{padding-top:28px;gap:18px}
  .eyebrow{font-size:13px;padding:9px 12px;margin-bottom:20px}
  .eyebrow img{width:20px;height:20px}
  h1{font-size:39px;line-height:1.04;margin-bottom:18px}
  .hero__lead{font-size:16.5px;line-height:1.55;margin-bottom:20px}
  .hero__actions{grid-template-columns:1fr;gap:10px}
  .button{min-height:52px;font-size:15px}
  .trust-row{display:grid;grid-template-columns:1fr;gap:8px;font-size:14px}
  .trust-row span:before{width:16px;height:16px;box-shadow:inset 0 0 0 4px #f6fbef}

  .hero__visual{padding-top:8px}
  .chat-bg{height:380px;top:34px}
  .floating-mascot{width:48px;height:48px;right:2px;top:0}
  .chat-bubble--user{width:94%;padding:8px}
  .chat-bubble--user img{height:220px;object-position:center 80%}
  .chat-time{font-size:12px;margin-top:4px}
  .chat-bubble--bot{width:96%;padding:15px;margin-top:12px}
  .chat-bubble--bot h3{font-size:18px}
  .meal-list li{font-size:14px;gap:3px}
  .meal-list b{font-size:13px;line-height:1.35}
  .meal-total{font-size:14px;line-height:1.35}

  .how h2,.benefits h2,.plus h2,.faq h2{font-size:28px}
  .step{grid-template-columns:78px 1fr;padding:12px;gap:6px 14px}
  .step__icon{width:78px;height:78px;border-radius:20px}
  .step__icon img{width:70px;height:70px;border-radius:16px}
  .step__icon span{width:24px;height:24px;font-size:12px;left:14px;bottom:0}
  .step h3{font-size:17px}
  .step p{font-size:14.5px}

  .benefit-card{grid-template-columns:64px 1fr;padding:16px;gap:14px}
  .benefit-card img{width:62px;height:62px;border-radius:14px}
  .benefit-card h3{font-size:17px}
  .benefit-card p{font-size:14.5px}

  .plus{padding:22px 14px}
  .plus-grid article{grid-template-columns:62px 1fr;padding:15px;gap:6px 12px}
  .plus-grid img{width:58px;height:58px;border-radius:14px}
  .price-card{padding:24px 18px}.price b{font-size:34px}

  .final-cta{grid-template-columns:1fr;text-align:center;grid-template-areas:"mascot" "text" "button";padding:22px 16px}
  .final-cta__mascot{margin:0 auto}.final-cta h2{font-size:26px}
}

@media (min-width: 981px){
  .button--header{width:auto}
}


@media (max-width: 560px){
  body{overflow-x:hidden;}
  .hero__copy,.hero__visual{min-width:0;}
  .chat-bubble--bot,.chat-bubble--user{max-width:100%;}
}

.message-checks{display:inline-block;letter-spacing:-4px;margin-left:4px;font-weight:700;color:#6f7b86}
