:root{
  --blue:#0a3d91;
  --blue-dark:#072d6b;
  --blue-alt:#0c4aa8;
  --yellow:#ffd21e;
  --yellow-bar:#f2c200;
  --green:#aee000;
  --green-dark:#7fb800;
  --white:#ffffff;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:'Nunito',system-ui,sans-serif;
  background:var(--blue);
  color:var(--white);
  line-height:1.5;
  overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block}
.container{width:100%;max-width:1100px;margin:0 auto;padding:0 18px}
.center{text-align:center}

h1,h2,h3,.plan-title,.big-price,.price-line{font-family:'Baloo 2',cursive}
.accent{color:var(--yellow)}

.topbar{
  background:var(--yellow-bar);
  color:#1a1a1a;
  text-align:center;
  font-weight:800;
  padding:12px 16px;
  font-size:15px;
  letter-spacing:.3px;
}

/* HERO */
.hero{padding:34px 0 10px}
.hero-grid{display:grid;grid-template-columns:1fr;gap:24px;align-items:center}
.badge{
  display:inline-block;background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.2);
  padding:9px 14px;border-radius:8px;font-weight:700;font-size:13px;
  letter-spacing:.5px;margin-bottom:16px;
}
.hero h1{font-size:34px;line-height:1.1;font-weight:800;margin-bottom:18px}
.hero p{font-size:17px;margin-bottom:14px;color:#eaf1ff}
.price-line{color:var(--yellow);font-size:24px;font-weight:800;margin:18px 0}
.hero-img img{margin:0 auto;border-radius:12px}

/* BUTTON */
.btn-cta{
  display:inline-flex;align-items:center;gap:10px;justify-content:center;
  background:linear-gradient(180deg,var(--green),var(--green-dark));
  color:#0a2b00;font-family:'Baloo 2',cursive;font-weight:800;
  font-size:18px;text-decoration:none;padding:16px 28px;border-radius:40px;
  box-shadow:0 0 24px rgba(174,224,0,.55);
  border:none;cursor:pointer;text-transform:uppercase;
  transition:transform .15s ease,box-shadow .15s ease;
  max-width:100%;
}
.btn-cta:hover{transform:translateY(-2px);box-shadow:0 0 34px rgba(174,224,0,.8)}
.btn-cta span{font-size:20px}

.trust{list-style:none;display:flex;flex-wrap:wrap;gap:18px;margin-top:18px;font-weight:700;font-size:14px}
.center-trust{justify-content:center}

/* SECTIONS */
.section{padding:46px 0}
.section.alt{background:var(--blue-dark)}
.section h2{font-size:27px;font-weight:800;margin-bottom:14px;line-height:1.15}
.sub{font-size:18px;color:#eaf1ff;margin-bottom:22px}

/* CAROUSEL */
.carousel{position:relative;margin-top:24px;overflow:hidden;touch-action:pan-y}
.carousel-track{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:8px}
.carousel-track::-webkit-scrollbar{display:none}
.carousel-track img{flex:0 0 85%;max-width:320px;scroll-snap-align:center;border-radius:10px}
.carousel-btn{position:absolute;top:50%;transform:translateY(-50%);background:rgba(0,0,0,.45);border:none;color:#fff;width:38px;height:38px;border-radius:50%;font-size:18px;cursor:pointer;z-index:2;display:flex;align-items:center;justify-content:center}
.carousel-btn.prev{left:6px}
.carousel-btn.next{right:6px}
.carousel-dots{display:flex;gap:8px;justify-content:center;margin-top:12px}
.carousel-dots button{width:10px;height:10px;border-radius:50%;border:none;background:rgba(255,255,255,.3);cursor:pointer;padding:0}
.carousel-dots button.active{background:var(--yellow)}
@media(min-width:768px){
  .carousel-track img{flex:0 0 30%;max-width:none}
}

/* ANTES/DEPOIS */
.benefit-grid{display:grid;grid-template-columns:1fr;gap:28px;align-items:center}
.ba{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ba figure{position:relative}
.ba img{border-radius:10px}
.ba figcaption{
  position:absolute;bottom:8px;left:50%;transform:translateX(-50%);
  background:var(--yellow);color:#1a1a1a;font-weight:800;padding:4px 14px;
  border-radius:20px;font-size:13px;
}
.benefit-text p{font-size:17px;margin-bottom:14px}

/* CHECKLIST */
.check{list-style:none;display:inline-block;text-align:left;margin:8px 0}
.check li{position:relative;padding-left:32px;margin-bottom:12px;font-size:16px;font-weight:600}
.check li::before{content:"✓";position:absolute;left:0;top:0;color:var(--green);
  font-weight:900;background:rgba(174,224,0,.15);width:22px;height:22px;
  border-radius:50%;display:grid;place-items:center;font-size:13px}
.check.star li::before{content:"✦";color:var(--yellow);background:rgba(255,210,30,.15)}
.left-inline{display:block;max-width:520px;margin:0 auto 20px}
.center-inline{display:inline-block;margin:18px auto}

/* FEATURES */
.features{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:26px}
.feature{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);
  border-radius:14px;padding:22px 14px}
.feature .ic{font-size:38px;display:block;margin-bottom:10px}
.feature h3{font-size:15px;text-transform:uppercase;font-weight:800}

.product-img{max-width:92%;margin:18px auto;border-radius:12px}
.arrow-down{font-size:28px;color:var(--yellow);margin-top:8px;animation:bounce 1.4s infinite}

/* BONUS */
.bonus-grid{display:grid;grid-template-columns:1fr;gap:20px;margin-top:26px}
.bonus-card{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);
  border-radius:16px;padding:20px}
.bonus-card img{max-width:240px;margin:0 auto 14px;border-radius:10px}
.bonus-card .old{display:block;text-decoration:line-through;color:#9fb6e0;font-weight:700}
.bonus-card .free{display:inline-block;background:var(--green);color:#0a2b00;
  font-weight:800;padding:5px 14px;border-radius:20px;margin:8px 0;font-size:14px}
.bonus-card h3{font-size:20px;margin:6px 0;color:var(--yellow)}
.bonus-card p{font-size:15px;color:#eaf1ff}

/* PLANS */
.plans{display:grid;grid-template-columns:1fr;gap:26px;margin-top:26px}
.plan{background:var(--blue-alt);border:2px solid rgba(255,255,255,.15);
  border-radius:18px;padding:26px 20px;position:relative}
.plan.featured{border-color:var(--yellow);box-shadow:0 0 30px rgba(255,210,30,.25)}
.ribbon{position:absolute;top:-14px;left:50%;transform:translateX(-50%);
  background:var(--yellow);color:#1a1a1a;font-weight:800;padding:6px 18px;
  border-radius:20px;font-size:13px;letter-spacing:.5px}
.plan-title{font-size:24px;font-weight:800;margin-bottom:8px}
.all-bonus{background:var(--green);color:#0a2b00;font-weight:800;display:inline-block;
  padding:5px 16px;border-radius:20px;margin-bottom:14px;font-size:14px}
.plan img{max-width:300px;margin:10px auto 18px;border-radius:10px}
.plan .old{text-decoration:line-through;color:#9fb6e0;font-weight:700;font-size:18px}
.plan .today{font-weight:800;font-size:16px;margin-top:6px;text-transform:uppercase}
.big-price{font-size:48px;font-weight:800;color:var(--yellow);line-height:1.1;margin:4px 0}
.installment{font-size:15px;color:#eaf1ff;margin-bottom:6px}
.economy{display:inline-block;background:rgba(174,224,0,.18);color:var(--green);
  font-weight:800;padding:6px 16px;border-radius:20px;margin-bottom:16px}
.plan .btn-cta{margin:14px 0 12px}
.attention{font-size:14px;color:#ffe79a}

/* FAQ */
.faq-container{max-width:760px}
.faq{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);
  border-radius:12px;margin-bottom:12px;overflow:hidden;text-align:left}
.faq-q{width:100%;background:none;border:none;color:var(--white);
  font-family:'Nunito';font-weight:800;font-size:16px;padding:18px;
  display:flex;justify-content:space-between;align-items:center;cursor:pointer}
.faq-q span{color:var(--yellow);font-size:24px;transition:transform .2s}
.faq.open .faq-q span{transform:rotate(45deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease}
.faq-a p{padding:0 18px 18px;color:#eaf1ff;font-size:15px}
.faq-container .btn-cta{margin-top:22px}

/* FOOTER */
.footer{background:var(--blue-dark);padding:34px 0;text-align:center;font-size:13px;color:#aebfe0}
.footer .copy{font-weight:800;color:#fff;margin-bottom:12px}
.footer p{max-width:760px;margin:0 auto}

@keyframes bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(8px)}}

/* DESKTOP */
@media(min-width:768px){
  .hero h1{font-size:46px}
  .hero-grid{grid-template-columns:1.1fr .9fr}
  .benefit-grid{grid-template-columns:1fr 1fr}
  .features{grid-template-columns:repeat(4,1fr)}
  .bonus-grid{grid-template-columns:repeat(2,1fr)}
  .plans{grid-template-columns:1fr 1fr;align-items:start}
  .section h2{font-size:32px}
}
