:root{
  --cream:#fdf3e6; --cream2:#fbeee0; --white:#fffaf3;
  --brown:#5b3324; --brown-d:#3e2218; --ink:#4a2a1d;
  --green:#2e7d3a; --green-d:#1d5226; --green-g:#27a844;
  --coral:#ef5f4e; --coral-d:#b8392c; --red:#e8483a; --yellow:#f6d23c;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:"Plus Jakarta Sans",system-ui,sans-serif;background:var(--cream);color:var(--ink);line-height:1.55;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
h1,h2,h3{font-family:"Bricolage Grotesque","Plus Jakarta Sans",sans-serif;letter-spacing:-.02em;line-height:1.1}
.wrap{max-width:520px;margin:0 auto;padding:0 18px}
section{padding:56px 0}
.round-top{border-radius:36px 36px 0 0}
.up{margin-top:-36px;position:relative}
.mt{margin-top:56px}
mark{background:linear-gradient(transparent 55%,#f9c6bd 55%);color:inherit;padding:0 2px}
b,strong{font-weight:700}

/* topbar */
.topbar{background:var(--coral);color:#fff;font-weight:800;font-size:13px;letter-spacing:.04em;text-align:center;padding:10px 12px;display:flex;justify-content:center;align-items:center;gap:8px}
.topbar .dot{width:6px;height:6px;border-radius:50%;background:#ffffff80}

/* hero */
.hero{padding:34px 0 60px;background:linear-gradient(#fdf0e1,#fdf3e6)}
.hero h1{font-size:clamp(32px,8.4vw,44px);text-align:center;color:var(--ink);margin-bottom:26px}
.chips{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:22px}
.chip{background:var(--green);color:#fff;font-weight:700;font-size:13.5px;border-radius:12px;padding:12px;display:flex;align-items:center;gap:10px;line-height:1.25;box-shadow:0 3px 0 var(--green-d)}
.chip span{font-size:18px}
.hero-img{margin:0 auto 22px;border-radius:18px}
.lead{text-align:center;font-size:17px;margin-bottom:22px}

/* buttons */
.btn{display:block;width:100%;text-align:center;color:#fff;font-weight:800;font-size:17px;letter-spacing:.02em;padding:18px 16px;border-radius:999px;text-decoration:none;cursor:pointer;margin-top:26px;transition:transform .15s}
.btn:active{transform:translateY(2px)}
.btn-green{background:var(--green);box-shadow:4px 5px 0 var(--brown-d)}
.btn-coral{background:linear-gradient(90deg,#ee5a48,#f27a68);box-shadow:4px 5px 0 var(--brown-d)}
.btn.sm{width:auto;margin:0;padding:13px 22px;font-size:15px;box-shadow:3px 4px 0 var(--brown-d)}
.trust{display:flex;justify-content:center;flex-wrap:wrap;gap:6px 16px;font-size:13px;margin-top:16px;color:#5b4136}

/* dark */
.dark{background:var(--brown);color:#fff}
.kicker{color:#f2695a;font-weight:800;font-size:13px;letter-spacing:.14em;text-align:center;margin:10px 0 14px}
.kicker.muted{color:#e9d8cb;opacity:.85}
.kicker.brown-k{color:#7a5241;margin-top:0}
h2{font-size:clamp(28px,7vw,36px);text-align:center;margin-bottom:16px;color:var(--ink)}
h2.light{color:#fff}
h2.huge{font-size:clamp(38px,10vw,50px);text-transform:uppercase}
h2.big{font-size:clamp(30px,8vw,40px);text-align:left}
.red{color:var(--red)}
.sub-light{color:#f3e5da;font-size:17px;margin-bottom:22px;text-align:left}
.sub-light b{color:#fff}
.sub{font-size:17px;text-align:center;margin-bottom:24px;color:#6a4a3c}
.also{text-align:center;font-style:italic;color:#e9d8cb;margin:-6px 0 6px}

/* carousel (movimiento continuo) */
.carousel{overflow:hidden;margin:10px 0 0;padding:6px 0 14px}
.track{display:flex;gap:14px;width:max-content;pointer-events:none;user-select:none;will-change:transform}
.track img{flex:0 0 auto;width:300px;border-radius:16px;box-shadow:0 10px 24px #0004}
.testi .track img{width:240px;border:1px solid #eadbcc;background:#fff;box-shadow:0 6px 18px #5b332422}

/* ideal */
.ideal{display:grid;gap:44px;margin-top:52px}
.icard{background:var(--coral);color:#fff;border-radius:22px;padding:56px 20px 24px;text-align:center;position:relative;box-shadow:0 6px 16px #ef5f4e33}
.icard .ico{position:absolute;top:-36px;left:50%;transform:translateX(-50%);width:74px;height:74px;border-radius:50%;background:#fff;display:grid;place-items:center;font-size:34px;box-shadow:0 4px 12px #0002}
.icard h3{font-size:20px;margin-bottom:10px}
.icard p{font-size:15px;opacity:.95}

.pinkish{background:linear-gradient(#fbe8df,#fdf3e6)}
.rounded{border-radius:22px}.shadow{box-shadow:0 14px 30px #5b332430}

/* product card */
.pcard{background:var(--white);color:var(--ink);border-radius:24px;padding:22px}
.pcard img{border-radius:14px}
.ptitle{font-size:28px;text-align:center;margin:18px 0 10px;padding-bottom:16px;border-bottom:1px solid #eadbcc}
.checks{list-style:none}
.checks li{padding:13px 0 13px 40px;position:relative;border-bottom:1px solid #eadbcc;font-size:16.5px}
.checks li:last-child{border-bottom:0}
.checks li::before{content:"✓";position:absolute;left:0;top:11px;width:26px;height:26px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center;font-weight:800;font-size:14px}

/* bonus */
.bonus{background:var(--white);color:var(--ink);border-radius:24px;overflow:hidden;margin-top:24px}
.bonus img{width:78%;max-width:340px;margin:18px auto 6px}
.bbody{background:#fdf1e2;padding:22px 22px 26px;text-align:center}
.badge{display:inline-block;background:var(--coral);color:#fff;font-weight:800;font-size:12.5px;letter-spacing:.08em;border-radius:999px;padding:7px 16px}
.bbody h3{font-family:"Plus Jakarta Sans",sans-serif;font-weight:700;font-size:19px;letter-spacing:-.01em;margin:12px 0 12px;padding-bottom:14px;border-bottom:1px solid #eadbcc}
.bbody p{font-size:15.5px;color:#6a4a3c}

/* testimonials */
.pill{background:#fbe2dc;border:1px solid #f6cfc6;border-radius:999px;padding:10px 18px;text-align:center;font-size:15px;margin:0 auto 18px;width:fit-content}
.pill b{color:var(--red)}

/* plans */
.choose{font-size:clamp(22px,5.6vw,26px);color:#5b3324;margin-top:10px}
.arrow{text-align:center;color:var(--red);font-size:26px;font-weight:800;margin:-4px 0 18px}
.plan{background:#fff;border-radius:26px;overflow:hidden;box-shadow:0 8px 22px #5b33241c;position:relative}
.plan-head{color:#fff;text-align:center;padding:20px;font-weight:800;letter-spacing:.12em;font-size:18px}
.plan-head.brown{background:var(--brown)}
.plan-head.coral{background:var(--coral);color:var(--brown);font-family:"Bricolage Grotesque",sans-serif;font-size:34px;letter-spacing:-.01em;line-height:1.05;padding:40px 20px 26px}
.plan-body{padding:22px}
.plan-body>img{margin:0 auto 10px}
.featured{border:5px solid var(--coral);overflow:visible;margin-top:46px}
.featured .plan-head{border-radius:20px 20px 0 0}
.ribbon{position:absolute;top:-24px;left:50%;transform:translateX(-50%);background:var(--yellow);color:var(--brown);font-weight:700;font-size:15px;padding:10px 26px;border-radius:999px;border:2px solid #d8a90f;white-space:nowrap;z-index:2}
.incl{margin:14px 0 4px;color:#6a4a3c}
.pricebox{border:1px solid #eadbcc;border-radius:18px;text-align:center;padding:22px 14px;margin-top:20px}
.from{color:var(--red);font-weight:700}
.por{letter-spacing:.14em;font-size:13px;color:#7a5241;margin:8px 0 2px;font-weight:600}
.price{font-family:"Bricolage Grotesque",sans-serif;font-weight:800;font-size:clamp(46px,13vw,62px);color:var(--green);line-height:1.1;letter-spacing:-.03em}
.save{color:var(--red);font-weight:700;margin-top:6px}
.fx{font-size:13.5px;color:#6a4a3c;background:#fdf3e6;border-radius:10px;padding:8px 10px;margin-top:14px}
.fine{font-size:13.5px;text-align:center;color:#7a5241;margin-top:14px}
.attention{text-align:center;margin:26px 0 4px;font-size:16px}
.attention b{color:var(--red)}
.secure{list-style:none;margin-top:18px;font-size:15px;display:grid;gap:8px}
.pay{margin-top:18px;background:#fbf7f2;border-radius:14px;padding:14px;text-align:center}
.pay-row{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.pay-row span{background:#fff;border:1px solid #e6d9cc;border-radius:8px;padding:6px 10px;font-weight:800;font-size:13px;color:#2a2a6a}
.pay p{font-size:13px;color:#6a4a3c}

/* guarantee */
.green{background:var(--green-g);color:#fff}
.gpill{border:1.5px solid #ffffff70;border-radius:999px;width:fit-content;margin:0 auto 16px;padding:8px 18px;font-weight:800;font-size:13px;letter-spacing:.12em}
.gitem{display:flex;gap:14px;align-items:center;background:#ffffff1f;border-radius:14px;padding:14px 16px;margin-top:12px}
.gitem>span{width:42px;height:42px;flex:0 0 42px;border-radius:10px;background:#ffffff2e;display:grid;place-items:center;font-weight:800}
.gitem b{display:block;font-size:17px}
.gitem small{font-size:14px;opacity:.9}

/* chef */
.chef{background:#fff;border-radius:26px;overflow:hidden;box-shadow:0 8px 22px #5b33241c}
.chef img{width:100%;border-radius:0 0 50% 50%/0 0 14% 14%}
.chef-body{padding:26px 24px 28px}
.chef-body p{font-size:16.5px;margin-bottom:14px}
.chef-body .kicker{margin-bottom:6px}

/* steps */
.steps{list-style:none;margin-top:28px;position:relative}
.steps li{display:flex;gap:16px;padding-bottom:28px;position:relative}
.steps li:not(:last-child)::after{content:"";position:absolute;left:23px;top:52px;bottom:4px;width:2px;background:#ef5f4e66}
.si{width:48px;height:48px;flex:0 0 48px;border:2px solid var(--coral);border-radius:12px;display:grid;place-items:center;font-size:20px}
.steps small{color:#f2695a;font-weight:800;letter-spacing:.14em;font-size:12.5px}
.steps b{display:block;font-size:19px;margin:2px 0 4px}
.steps p{color:#e9d8cb;font-size:15.5px}
.steps strong{color:#fff}

/* faq */
.faq{display:grid;gap:12px;margin-top:22px}
details{background:#fff;border-radius:14px;border:1px solid #f1e3d5;box-shadow:0 2px 8px #5b33240d}
details[open]{border-color:#f3a497;box-shadow:0 8px 18px #ef5f4e1f}
summary{list-style:none;cursor:pointer;padding:18px 54px 18px 20px;font-weight:700;font-size:16px;position:relative}
summary::-webkit-details-marker{display:none}
summary::after{content:"▾";position:absolute;right:16px;top:50%;transform:translateY(-50%);width:28px;height:28px;border-radius:50%;background:#fdebe6;color:var(--red);display:grid;place-items:center;font-size:14px}
details[open] summary::after{content:"▴";background:var(--red);color:#fff}
details p{padding:0 20px 18px;color:#6a4a3c;font-size:15.5px}

footer{background:#1e0f09;color:#a8968c;text-align:center;padding:40px 22px 50px;font-size:13.5px}
footer .copy{color:#e9d8cb;font-weight:700;margin-bottom:14px}
footer p{max-width:520px;margin:0 auto}


/* botones que pulsan */
.pulse{animation:pulse 1.6s ease-in-out infinite}
@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.045)}}
@media (prefers-reduced-motion:reduce){.pulse{animation:none}}
