:root { --cream:#f8f2e7; --ink:#173b2b; --orange:#e8672f; --yellow:#f2bd45; --green:#244d39; --soft:#efe6d6; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--cream); color:var(--ink); font-family:var(--font-body),sans-serif; }
a { color:inherit; text-decoration:none; }
button { font:inherit; }
.announcement { min-height:38px; padding:8px 28px; background:var(--ink); color:#f8f2e7; display:flex; align-items:center; justify-content:center; gap:22px; font-size:11px; letter-spacing:.3px; }
.announcement span { color:var(--yellow); font-weight:800; letter-spacing:1.2px; }
.announcement p { margin:0; opacity:.82; }
.announcement a { font-weight:800; border-bottom:1px solid #ffffff70; }
.downloadTextButton { padding:0; border:0; border-bottom:1px solid #ffffff70; background:none; color:inherit; font-size:11px; font-weight:800; cursor:pointer; }
.topbar { height:82px; display:flex; align-items:center; gap:34px; max-width:1240px; margin:auto; padding:0 28px; position:sticky; top:0; z-index:20; background:#f8f2e7e8; backdrop-filter:blur(18px); }
.brand { display:flex; align-items:center; gap:10px; font-family:var(--font-display),serif; font-size:28px; font-weight:700; margin-right:auto; }
.brand img { width:43px; height:43px; object-fit:cover; border-radius:13px; }
.nav { display:flex; align-items:center; gap:30px; font-size:14px; font-weight:700; }
.nav a:hover { color:var(--orange); }
.menuButton { display:none; background:none; border:0; font-size:26px; }
.button { display:inline-flex; justify-content:center; align-items:center; padding:15px 22px; border:0; background:var(--orange); color:white; border-radius:10px; font-weight:800; font-size:14px; box-shadow:0 8px 18px #b34c2424; transition:.2s; cursor:pointer; }
.button:hover { transform:translateY(-2px); filter:brightness(.96); }
.button.small { padding:12px 17px; }
.button.outline { color:var(--ink); background:transparent; box-shadow:none; border:1px solid #234d393b; }
.button.dark { background:var(--ink); }
.heroPill { display:inline-flex; align-items:center; gap:8px; border:1px solid #173b2b24; border-radius:99px; padding:9px 14px; color:#52675b; font-size:11px; font-weight:700; background:#fff8; }
.heroPill span { color:var(--orange); }
.hero { min-height:660px; display:grid; grid-template-columns:1fr 1fr; max-width:1240px; padding:70px 28px 85px; margin:auto; align-items:center; gap:70px; }
.eyebrow { color:var(--orange); text-transform:uppercase; letter-spacing:2px; font-size:12px; font-weight:800; }
h1,h2 { font-family:var(--font-display),serif; line-height:.98; margin:14px 0 20px; }
h1 { font-size:clamp(58px,6vw,86px); max-width:650px; }
h1 em { color:var(--orange); font-style:italic; }
h2 { font-size:clamp(42px,4vw,60px); }
.lead { max-width:550px; line-height:1.8; color:#466052; }
.heroActions { display:flex; align-items:center; gap:25px; margin:34px 0; }
.textLink { font-weight:800; font-size:14px; }
.proof { display:flex; gap:32px; border-top:1px solid #1d493028; padding-top:24px; font-size:12px; color:#68796f; }
.proof span { display:flex; flex-direction:column; }
.proof b { font-family:var(--font-display); color:var(--ink); font-size:27px; }
.heroVisual { height:525px; position:relative; display:flex; align-items:center; justify-content:center; }
.sun { position:absolute; width:430px; height:430px; border-radius:50%; background:var(--yellow); right:4%; }
.heroDish { width:230px; height:230px; border-radius:50%; object-fit:cover; position:absolute; left:-10px; bottom:18px; border:12px solid var(--cream); box-shadow:0 20px 40px #213b2725; }
.phone { width:270px; height:515px; background:#fff; border:8px solid #183c2c; border-radius:38px; position:relative; z-index:2; padding:38px 18px 18px; transform:rotate(4deg); box-shadow:0 30px 60px #173b2b3b; }
.phone:before { content:""; position:absolute; width:75px; height:18px; background:#173b2b; border-radius:0 0 14px 14px; top:0; left:90px; }
.phoneTop { display:flex; align-items:center; gap:8px; font-size:11px; font-weight:800; }
.phoneTop img { width:34px; height:34px; border-radius:10px; }
.phone>p { font-family:var(--font-display); font-size:25px; line-height:1.05; margin:28px 0 18px; }
.miniCard { display:flex; align-items:center; gap:10px; background:#f7f2e9; padding:10px; margin:10px 0; border-radius:13px; }
.miniCard img { width:65px; height:65px; object-fit:cover; border-radius:10px; }
.miniCard span { display:flex; flex-direction:column; font-size:11px; }.miniCard small{margin-top:5px;color:#728176}
.marquee { min-height:68px; padding:18px 28px; background:var(--orange); color:#fff8ef; display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:28px; font-family:var(--font-display); font-size:17px; letter-spacing:1.2px; }
.marquee i { color:var(--yellow); font-style:normal; }
.section { padding:95px max(28px, calc((100vw - 1184px)/2)); }
.experience { background:#f1e8da; display:grid; grid-template-columns:.8fr 1.5fr; gap:75px; align-items:start; }
.experienceIntro { position:sticky; top:140px; }
.experienceIntro>p:last-child { color:#607267; line-height:1.8; max-width:430px; }
.experienceGrid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.feature { min-height:315px; padding:28px; background:#fffaf1; border:1px solid #173b2b12; border-radius:22px; display:flex; flex-direction:column; box-shadow:0 18px 45px #173b2b0b; }
.featureLarge { grid-row:span 2; min-height:646px; }
.featureNumber { font-size:10px; letter-spacing:2px; color:#8a978f; }
.featureIcon { width:58px; height:58px; margin:auto 0 25px; display:grid; place-items:center; border-radius:50%; background:var(--yellow); font-family:var(--font-display); font-size:28px; }
.feature h3 { font-family:var(--font-display); font-size:28px; line-height:1; margin:12px 0; }
.feature p { margin:0; color:#67786e; font-size:13px; line-height:1.7; }
.darkFeature { background:var(--ink); color:#fff8ef; }
.darkFeature p { color:#bdcbc2; }
.darkFeature .featureIcon { color:var(--ink); }
.featureVisual { margin:auto 0 40px; min-height:230px; display:flex; flex-direction:column; align-items:center; justify-content:center; border-radius:18px; background:var(--yellow); }
.streakVisual b { font-family:var(--font-display); font-size:42px; }
.streakVisual small { margin-top:4px; }
.dayDots { display:flex; gap:7px; margin-top:25px; }
.dayDots i { width:29px; height:29px; display:grid; place-items:center; background:#fff8ef; border-radius:50%; font-style:normal; font-size:9px; font-weight:800; }
.future { position:relative; overflow:hidden; background:#132f24; color:#fffaf1; }
.future:before { content:""; position:absolute; width:520px; height:520px; border:1px solid #f2bd4530; border-radius:50%; top:-320px; right:-100px; box-shadow:0 0 0 85px #f2bd4508,0 0 0 170px #f2bd4505; pointer-events:none; }
.futureHeading { position:relative; display:grid; grid-template-columns:1.15fr .85fr; align-items:end; gap:90px; margin-bottom:52px; }
.futureHeading h2 { max-width:700px; margin-bottom:0; }
.futureIntro { padding-left:28px; border-left:1px solid #f8f2e72b; }
.futureIntro p { max-width:480px; margin:16px 0 0; color:#bdcec4; line-height:1.8; font-size:14px; }
.futureLabel { display:inline-flex; align-items:center; gap:9px; color:var(--yellow); text-transform:uppercase; letter-spacing:1.4px; font-size:10px; font-weight:800; }
.futureLabel i { width:7px; height:7px; background:var(--yellow); border-radius:50%; box-shadow:0 0 0 5px #f2bd4518; }
.futureGrid { position:relative; display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.futureCard { min-height:305px; padding:24px; border:1px solid #fff3df1a; border-radius:20px; background:#214236c7; display:flex; flex-direction:column; transition:transform .25s ease,border-color .25s ease,background .25s ease; }
.futureCard:hover { transform:translateY(-4px); border-color:#f2bd455c; background:#284d40; }
.futureCardFeatured { background:#f2bd45; color:var(--ink); border-color:transparent; }
.futureCardFeatured:hover { background:#f5c75d; }
.futureCardTop { display:flex; align-items:center; justify-content:space-between; gap:14px; }
.futureCardTop>span { color:#98aea2; font-size:10px; letter-spacing:2px; font-weight:800; }
.futureCardFeatured .futureCardTop>span { color:#526c5e; }
.futureCardTop small { padding:6px 9px; border:1px solid #fff4e429; border-radius:99px; color:#d7e3dc; text-transform:uppercase; letter-spacing:.9px; font-size:8px; font-weight:800; }
.futureCardFeatured .futureCardTop small { border-color:#173b2b29; color:var(--ink); }
.futureIcon { width:54px; height:54px; margin:auto 0 25px; display:grid; place-items:center; border-radius:16px; background:#f8f2e70d; border:1px solid #f8f2e714; color:var(--yellow); font-family:var(--font-display); font-size:28px; }
.futureCardFeatured .futureIcon { background:#fff8ed65; border-color:#173b2b13; color:var(--ink); }
.futureCard h3 { margin:0 0 10px; font-family:var(--font-display); font-size:27px; line-height:1.05; }
.futureCard p { margin:0; color:#b8c9bf; font-size:12px; line-height:1.7; }
.futureCardFeatured p { color:#425e50; }
.futurePromise { position:relative; margin-top:28px; padding:20px 24px; display:flex; align-items:center; justify-content:center; gap:14px; border-top:1px solid #fff3df1f; color:#c6d5cc; font-size:12px; text-align:center; }
.futurePromise span { color:var(--yellow); font-size:19px; }
.futurePromise p { margin:0; }
.futurePromise strong { color:#fffaf1; }
.intro { text-align:center; background:#fffaf1; }
.intro>p:not(.eyebrow) { color:#68796f; }
.filters { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin:35px 0; }
.filters button { border:1px solid #244d3930; background:transparent; border-radius:99px; padding:10px 15px; cursor:pointer; color:var(--ink); }
.filters button.active { background:var(--ink); color:white; }
.recipeGrid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; text-align:left; margin:30px 0 40px; }
.recipeCard { background:white; border-radius:18px; overflow:hidden; box-shadow:0 12px 35px #28463310; }
.recipeCard img { width:100%; height:210px; object-fit:cover; }
.recipeCard div { padding:18px 20px; }.recipeCard span{font-size:10px;text-transform:uppercase;color:var(--orange);font-weight:800}.recipeCard h3{margin:6px 0;font-family:var(--font-display);font-size:25px}.recipeCard p{font-size:12px;color:#6b7d73}
.plans { background:var(--green); color:white; }
.sectionHeading { display:flex; align-items:flex-end; justify-content:space-between; gap:50px; margin-bottom:45px; }
.sectionHeading>p { max-width:420px; color:#c8d6cc; line-height:1.7; }
.planGrid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; align-items:stretch; }
.plan { background:#f8f2e7; color:var(--ink); padding:34px; border-radius:18px; display:flex; flex-direction:column; position:relative; }
.plan.featured { background:var(--yellow); transform:translateY(-10px); }
.planName { text-transform:uppercase; font-size:12px; letter-spacing:1.5px; font-weight:800; color:var(--orange); }
.plan h3 { font-family:var(--font-display); font-size:39px; margin:10px 0; }.plan h3 small{font-family:var(--font-body);font-size:11px}
.plan>p:not(.planName){font-size:13px;color:#63746a}.plan ul{list-style:none;padding:10px 0;line-height:2.2;font-size:13px;flex:1}.plan .button{width:100%}
.badge { position:absolute; right:18px; top:18px; background:var(--orange); color:#fff; border-radius:99px; font-size:10px; padding:7px 10px; text-transform:uppercase; font-weight:800; }
.paymentNote { text-align:center;color:#bfd0c4;font-size:11px;margin:25px 0 0; }
.paymentNote span { display:inline-block; margin-right:8px; padding:5px 8px; border:1px solid #f2bd4566; border-radius:99px; color:var(--yellow); text-transform:uppercase; letter-spacing:1px; font-size:8px; font-weight:800; }
.quoteSection { background:#fffaf1; text-align:center; padding-top:115px; padding-bottom:115px; }
.quoteMark { font-family:var(--font-display); font-size:100px; line-height:.3; color:var(--orange); }
.quoteSection blockquote { max-width:900px; margin:25px auto; font-family:var(--font-display); font-size:clamp(36px,5vw,61px); line-height:1.05; }
.quoteSection p { color:#758278; font-size:11px; text-transform:uppercase; letter-spacing:2px; }
.shop { display:grid; grid-template-columns:.8fr 1.6fr; gap:70px; align-items:center; }
.shopIntro p:last-child { color:#62766a; line-height:1.8; }
.productGrid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.product { background:#fffaf1; border:1px solid #254b3420; border-radius:18px; padding:24px; min-height:300px; display:flex; flex-direction:column; }
.productIcon { height:90px; display:grid; place-items:center; font-size:65px; color:var(--orange); background:#f1e7d7;border-radius:12px}
.product h3{font-family:var(--font-display);font-size:23px;margin:20px 0 8px}.product p{font-size:12px;color:#6b7c72;flex:1}.product b{font-size:14px;margin-bottom:15px}.product a{color:var(--orange);font-size:12px;font-weight:800}
.download { margin:0 max(20px,calc((100vw - 1184px)/2)); padding:55px; background:var(--yellow); border-radius:24px; display:grid; grid-template-columns:auto 1fr auto; gap:30px; align-items:center; }
.download img { width:100px; height:100px; border-radius:22px; }.download h2{font-size:46px;margin:6px 0}.download p{margin:0;max-width:650px}
.reassurance { max-width:1184px; margin:45px auto 0; padding:28px 0; display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid #173b2b1a; border-bottom:1px solid #173b2b1a; }
.reassurance>div { display:flex; align-items:center; justify-content:center; gap:13px; padding:0 24px; border-right:1px solid #173b2b1a; }
.reassurance>div:last-child { border:0; }
.reassurance b { width:34px; height:34px; display:grid; place-items:center; border-radius:50%; background:#dce6dd; color:var(--ink); }
.reassurance span { display:flex; flex-direction:column; gap:4px; }
.reassurance strong { font-family:var(--font-display); font-size:18px; }
.reassurance small { color:#758278; font-size:10px; }
footer { padding:70px max(28px,calc((100vw - 1184px)/2)) 30px; display:grid; grid-template-columns:1fr 1fr; gap:25px; align-items:center; }
footer p { color:#6b7d72; }footer div{display:flex;justify-content:flex-end;gap:22px;font-size:12px;font-weight:700}footer small{grid-column:1/-1;border-top:1px solid #234d3920;padding-top:22px;color:#738177}
@media(max-width:900px){
  .nav{gap:18px}.hero{grid-template-columns:1fr;padding-top:35px}.heroCopy{text-align:center}.lead{margin:auto}.heroActions,.proof{justify-content:center}.heroVisual{height:500px}.experience{grid-template-columns:1fr}.experienceIntro{position:static;text-align:center}.experienceIntro>p:last-child{margin:auto}.futureHeading{grid-template-columns:1fr;gap:30px}.futureIntro{padding-left:0;border-left:0}.futureGrid{grid-template-columns:repeat(2,1fr)}.recipeGrid,.planGrid{grid-template-columns:repeat(2,1fr)}.shop{grid-template-columns:1fr}.sectionHeading{display:block}.productGrid{grid-template-columns:repeat(3,1fr)}.download{grid-template-columns:auto 1fr}.download .button{grid-column:1/-1}
}
@media(max-width:650px){
  .announcement{padding:8px 14px}.announcement p{display:none}.announcement{justify-content:space-between}.topbar{height:70px;padding:0 18px}.menuButton{display:block}.desktopCta{display:none}.nav{display:none;position:absolute;top:68px;left:14px;right:14px;background:#fffaf1;padding:20px;box-shadow:0 15px 30px #173b2b24;border-radius:14px;flex-direction:column}.nav.open{display:flex}.hero{padding:45px 20px 60px;gap:20px}h1{font-size:52px}.heroActions{flex-direction:column}.proof{gap:17px;flex-wrap:wrap}.heroVisual{height:450px}.phone{transform:scale(.85) rotate(3deg)}.heroDish{width:170px;height:170px;left:0}.marquee{gap:12px;font-size:12px}.experienceGrid{grid-template-columns:1fr}.featureLarge{grid-row:auto;min-height:480px}.section{padding:70px 20px}.futureHeading{margin-bottom:34px}.futureGrid{grid-template-columns:1fr}.futureCard{min-height:270px}.futurePromise{align-items:flex-start;text-align:left;padding:20px 0}.recipeGrid,.planGrid,.productGrid{grid-template-columns:1fr}.plan.featured{transform:none}.download{margin:0 15px;padding:35px 24px;grid-template-columns:1fr;text-align:center}.download img{margin:auto}.download h2{font-size:38px}.reassurance{margin:35px 20px 0;grid-template-columns:1fr}.reassurance>div{border:0;border-bottom:1px solid #173b2b1a;padding:18px;justify-content:flex-start}.reassurance>div:last-child{border-bottom:0}footer{grid-template-columns:1fr;text-align:center}footer .brand{margin:auto}footer div{justify-content:center;flex-wrap:wrap}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.futureCard{transition:none}}
