
*{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#fbf9f2;--fg:#1a1a1a;--muted:#6b6b6b;--card:#fff;--border:#e6e3d8;
  --primary:#2e9b5a;--primary-fg:#fff;--secondary:#2563eb;--accent:#dff3e3;
  --danger:#dc2626;--shadow:0 10px 30px -10px rgba(46,155,90,.3);
}
html,body{background:var(--bg);color:var(--fg);font-family:'Plus Jakarta Sans',system-ui,sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3{font-weight:800;letter-spacing:-.02em;line-height:1.15}
h1{font-size:clamp(2rem,5vw,3.5rem)}
h2{font-size:clamp(1.5rem,3.5vw,2.25rem)}
h3{font-size:1.15rem}
.c-primary{color:var(--primary)}.c-secondary{color:var(--secondary)}.bold{font-weight:800}
.center{text-align:center}.muted{color:var(--muted)}.sm{font-size:.875rem}.mt-lg{margin-top:2.5rem}
.container{max-width:1100px;margin:0 auto;padding:0 1rem}
.container.narrow{max-width:780px}
.container.xnarrow{max-width:560px}

.topbar{background:var(--danger);color:#fff;text-align:center;padding:.6rem 1rem;font-size:.85rem;font-weight:700;letter-spacing:.04em;background-image:repeating-linear-gradient(45deg,transparent 0 10px,rgba(0,0,0,.08) 10px 20px)}

.hero{padding:2.5rem 1rem 4rem;background:linear-gradient(180deg,#fbf9f2 0%,#cdebd4 100%)}
.hero-mockup{margin:0 auto;max-height:520px;width:auto;filter:drop-shadow(0 20px 40px rgba(0,0,0,.2))}
.chip{display:inline-flex;align-items:center;gap:.5rem;border:1px solid rgba(46,155,90,.3);background:rgba(255,255,255,.7);padding:.4rem 1rem;border-radius:999px;font-size:.85rem;font-weight:600;color:var(--primary);margin-top:1.5rem}
.lead{font-size:1.1rem;color:var(--muted);max-width:640px;margin:1.25rem auto 0}
.lead strong{color:var(--fg)}
.sub{margin-top:.75rem;color:var(--muted)}

.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:1rem 2rem;font-weight:700;font-size:1rem;border:none;cursor:pointer;transition:transform .15s;font-family:inherit}
.btn-primary{background:var(--primary);color:var(--primary-fg);box-shadow:var(--shadow)}
.btn-primary:hover{transform:scale(1.04)}
.btn.block{display:block;width:100%;margin-top:1.5rem;font-size:1.1rem}
.hero .btn{margin-top:2rem}

.sec-white{background:#fff;padding:4rem 1rem}
.sec-accent{background:rgba(223,243,227,.5);padding:4rem 1rem}

.carousel{position:relative;margin-top:2rem;border-radius:1rem;overflow:hidden;background:#f0eee5;box-shadow:0 10px 30px -10px rgba(0,0,0,.15);border:1px solid var(--border)}
.carousel .slide{width:100%;max-height:600px;object-fit:contain;margin:0 auto}
.cbtn{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.95);border:none;border-radius:999px;width:40px;height:40px;font-size:1.5rem;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.15);display:flex;align-items:center;justify-content:center}
.cbtn.prev{left:.75rem}.cbtn.next{right:.75rem}
.dots{display:flex;justify-content:center;gap:.4rem;margin-top:1rem}
.dot{height:8px;width:8px;border-radius:999px;border:none;background:rgba(0,0,0,.2);cursor:pointer;transition:all .2s}
.dot.active{width:24px;background:var(--primary)}

.bullets{list-style:none;margin-top:2rem;display:flex;flex-direction:column;gap:.75rem}
.bullet{display:flex;gap:.75rem;align-items:flex-start;padding:1rem;background:#fff;border:1px solid var(--border);border-radius:.75rem;box-shadow:0 1px 2px rgba(0,0,0,.03);font-weight:500}
.bullet.sm{padding:0;background:transparent;border:none;box-shadow:none;font-weight:400;font-size:.95rem}
.bullet.pain{background:rgba(220,38,38,.05);border-color:rgba(220,38,38,.2)}
.ic-check{color:var(--primary);font-weight:900;font-size:1.2rem;line-height:1}
.ic-x{color:var(--danger);font-weight:900;font-size:1.2rem;line-height:1}
.bullets.left{text-align:left}

.offer-card{position:relative;background:#fff;border:2px solid rgba(46,155,90,.4);border-radius:1.5rem;padding:2rem 1.5rem;margin-top:2.5rem;box-shadow:0 20px 50px -20px rgba(0,0,0,.2);text-align:left}
.offer-card h3{text-align:center;margin-top:.5rem}
.offer-card .muted{text-align:center}
.offer-card .bullets{margin-top:1.25rem;gap:.6rem}
.ribbon{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--primary);color:#fff;font-size:.7rem;font-weight:800;letter-spacing:.1em;padding:.3rem 1rem;border-radius:999px}
.offer-img{margin:1.5rem auto;max-height:290px}
.price-block{border-top:1px solid var(--border);margin-top:1.5rem;padding-top:1.5rem;text-align:center}
.strike{color:var(--muted);text-decoration:line-through;font-size:.875rem}
.price{font-size:3rem;font-weight:900;color:var(--primary);margin-top:.25rem;line-height:1}
.save-chip{display:inline-block;margin-top:.5rem;background:var(--accent);color:#1a5b2f;font-size:.75rem;font-weight:700;border-radius:999px;padding:.25rem .75rem}
.secure{margin-top:1rem;font-size:.75rem;color:var(--muted);text-align:center}

.seal{margin:0 auto;width:112px;height:112px;border-radius:999px;background:var(--primary);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:900;border:4px solid var(--accent);box-shadow:0 10px 30px -10px rgba(0,0,0,.2)}
.seal-n{font-size:1.875rem;line-height:1}
.seal-t{font-size:.75rem;letter-spacing:.1em;margin-top:.15rem}
.sec-white h2,.sec-accent h2{margin-bottom:.5rem}
.seal+h2{margin-top:1.5rem}

.t-grid{margin-top:2.5rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.t-card{background:#fff;padding:1.5rem;border-radius:1rem;border:1px solid var(--border);box-shadow:0 1px 2px rgba(0,0,0,.03)}
.stars{color:#eab308}.quote{margin-top:.75rem;font-style:italic}.t-name{margin-top:1rem;font-weight:700}.t-role{color:var(--muted);font-size:.85rem}

.steps-grid{margin-top:2.5rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.step-card{display:flex;gap:1rem;background:#fff;border:1px solid var(--border);padding:1.5rem;border-radius:1rem}
.step-n{font-size:1.875rem;font-weight:900;color:rgba(46,155,90,.4)}
.step-card p{margin-top:.25rem;font-size:.9rem;color:var(--muted)}

.faqs{margin-top:2rem;display:flex;flex-direction:column;gap:.75rem}
.faq-item{background:#fff;border:1px solid var(--border);border-radius:.75rem;overflow:hidden}
.faq-q{width:100%;display:flex;justify-content:space-between;align-items:center;padding:1rem;background:none;border:none;font-weight:600;font-size:1rem;cursor:pointer;font-family:inherit;text-align:left}
.chev{transition:transform .2s}
.faq-q.open .chev{transform:rotate(180deg)}
.faq-a{display:none;padding:0 1rem 1rem;color:var(--muted);font-size:.9rem}
.faq-a.open{display:block}

footer{background:#fff;border-top:1px solid var(--border);padding:2rem 1rem;text-align:center;font-size:.75rem;color:var(--muted)}

.notif{position:fixed;bottom:1rem;left:1rem;z-index:50;display:flex;align-items:center;gap:.75rem;background:#fff;border:1px solid rgba(46,155,90,.25);border-radius:.75rem;box-shadow:0 10px 30px -5px rgba(0,0,0,.2);padding:.75rem 2rem .75rem 1rem;max-width:320px;transition:all .4s;transform:translateY(20px);opacity:0;pointer-events:none}
.notif:not(.hidden){transform:translateY(0);opacity:1;pointer-events:auto}
.notif-ic{width:40px;height:40px;border-radius:.6rem;background:rgba(46,155,90,.1);color:var(--primary);display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0}
.notif-txt{font-size:.85rem;line-height:1.25}
.notif-name{font-weight:700}
.notif-sub{color:var(--muted);margin-top:2px}
.notif-close{position:absolute;top:4px;right:6px;background:none;border:none;color:var(--muted);cursor:pointer;font-size:1.1rem;padding:.25rem}

@media(max-width:640px){
  .hero{padding-top:1.5rem}
  .offer-card{padding:1.5rem 1rem}
  .price{font-size:2.5rem}
}
