@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800;900&display=swap');

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

:root{
  --dark:      hsl(252,28%,10%);
  --card-dark: hsl(252,22%,16%);
  --light:     hsl(40,30%,97%);
  --accent:    #FFD600;
  --cta:       #39B574;
  --check:     #2A7D4F;
  --danger:    hsl(5,78%,48%);
}

body{
  font-family:'Montserrat',sans-serif;
  background:var(--light);
  color:hsl(20,30%,14%);
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}

/* ===== UTILS ===== */
.sec-title{font-size:clamp(1.3rem,3.5vw,1.8rem);font-weight:900;text-transform:uppercase;letter-spacing:.04em;margin-bottom:12px;line-height:1.2}
.sec-title-light{color:#fff}
.sec-sub{font-size:1rem;color:hsl(20,14%,38%);margin-bottom:28px}
.sec-sub strong{color:var(--check)}
.sec-sub-light{color:hsl(252,8%,72%);font-size:1rem;margin-bottom:28px}
.highlight-lime{color:var(--accent)}
.highlight-green{color:var(--check)}

.badge{display:inline-block;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em;padding:6px 16px;border-radius:50px}
.badge-accent{background:var(--accent);color:hsl(252,40%,8%)}
.badge-danger{background:var(--danger);color:#fff}

.btn-cta{
  display:inline-block;
  background:var(--cta);
  color:#fff;
  border:none;border-radius:10px;
  padding:16px 40px;
  font-family:'Montserrat',sans-serif;font-size:1rem;font-weight:900;
  text-transform:uppercase;letter-spacing:.06em;
  text-decoration:none;cursor:pointer;
  animation:pulse-cta 1.4s ease-in-out infinite;
}
@keyframes pulse-cta{
  0%,100%{transform:translateY(0);box-shadow:0 4px 18px rgba(57,181,116,.35)}
  50%{transform:translateY(-6px);box-shadow:0 12px 30px rgba(57,181,116,.6)}
}

.check-circle{
  display:inline-flex;align-items:center;justify-content:center;
  color:var(--check);width:18px;height:18px;flex-shrink:0;
}

/* ===== TOP BANNER ===== */
.top-banner{
  background:var(--danger);color:#fff;
  text-align:center;padding:10px 20px;
  font-size:.78rem;font-weight:800;letter-spacing:.8px;text-transform:uppercase;
}

/* ===== HERO ===== */
.hero{background:#E8EEFB;padding:16px 24px 56px}

/* textos e elementos do hero adaptados para fundo claro */
.hero .hero-title{color:hsl(240,35%,15%)}
.hero .accent{color:hsl(252,70%,42%)}
.hero .hero-bright{color:hsl(240,35%,15%)}
.hero .hero-sub{color:hsl(240,15%,40%)}
.hero .hero-sub strong{color:hsl(240,35%,15%)}
.hero .hero-delivery-text{color:hsl(240,12%,45%)}
.hero .pill{background:hsl(240,40%,88%);color:hsl(240,35%,28%)}
.hero .delivery-chip{background:hsl(240,35%,93%);border-color:hsl(240,30%,80%);color:hsl(240,25%,32%)}
.hero .hero-mockup img{box-shadow:0 16px 48px rgba(80,80,160,.15)}
.hero-inner{max-width:780px;margin:0 auto;text-align:center}

.hero-bullet{
  display:inline-flex;flex-direction:column;align-items:center;gap:2px;
  background:#8CEE7A;color:hsl(140,55%,18%);
  padding:10px 22px;border-radius:50px;margin-bottom:22px;
}
.hero-bullet-main{
  font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;line-height:1;
}
.hero-bullet-sub{
  font-size:.62rem;font-weight:400;letter-spacing:.04em;line-height:1;
}

.hero-title{
  font-size:clamp(1.1rem,4vw,2.4rem);
  font-weight:900;
  color:#fff;line-height:1.18;letter-spacing:-.02em;margin-bottom:20px;
}
.accent{color:var(--accent)}
.hero-underline{text-decoration:underline;text-decoration-color:var(--accent)}
.hero-bright{color:#fff}

.hero-sub{color:hsl(252,8%,72%);font-size:1rem;line-height:1.7;max-width:620px;margin:0 auto 28px}
.hero-sub strong{color:#fff}

.hero-cta-wrap{margin-bottom:16px}

.hero-delivery{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:14px}
.hero-delivery-icon{width:18px;height:18px;object-fit:contain;flex-shrink:0}
.hero-delivery-text{color:hsl(240,12%,45%);font-size:.8rem;font-weight:600;line-height:1}

.hero-mockup{margin-bottom:28px}
.hero-mockup img{
  width:100%;max-width:680px;border-radius:16px;
  box-shadow:0 24px 64px rgba(0,0,0,.5);
}

.hero-pills{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:0;margin-bottom:22px}
.pill{
  background:hsl(252,15%,20%);color:hsl(252,8%,65%);
  font-size:.76rem;font-weight:700;letter-spacing:.06em;
  padding:8px 18px;border-radius:50px;
}

/* ===== CAROUSEL ===== */
.carousel-section{background:var(--dark);padding:44px 0}
.carousel-wrap{overflow:hidden;position:relative}
.carousel-track{display:flex;gap:8px;animation:scroll-l 60s linear infinite;width:max-content}
.carousel-item{flex-shrink:0;width:min(135vw,900px);border-radius:10px;overflow:hidden;box-shadow:0 4px 18px rgba(0,0,0,.35)}
.carousel-item img{width:100%;height:auto;display:block}
.carousel-hint{text-align:center;color:hsl(252,8%,50%);font-size:.75rem;font-weight:600;letter-spacing:.06em;margin:14px 0 0;padding:0 24px}
@keyframes scroll-l{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* ===== DEPOIMENTOS CAROUSEL ===== */
.dep-section{background:var(--dark);padding:8px 0 32px}
.dep-wrap{overflow:hidden;position:relative}
.dep-track{display:flex;gap:12px;animation:scroll-r 32s linear infinite;width:max-content}
.dep-item{flex-shrink:0;width:min(72vw,280px);border-radius:12px;overflow:hidden}
.dep-item img{width:100%;height:auto;display:block}
@keyframes scroll-r{0%{transform:translateX(-50%)}100%{transform:translateX(0)}}

/* ===== PASSO A PASSO ===== */
.passo-wrap{background:var(--light);padding:28px 24px 0;text-align:center}
.passo-img{width:100%;max-width:860px;height:auto;display:block;margin:0 auto}

/* ===== BEFORE / AFTER ===== */
.before-after-section{background:var(--light);padding:44px 24px}
.ba-inner{max-width:860px;margin:0 auto}
.ba-title{font-size:clamp(1.3rem,3.5vw,1.8rem);font-weight:900;text-transform:uppercase;text-align:center;margin-bottom:36px;line-height:1.25;color:hsl(20,30%,14%)}
.hl-red{color:var(--danger)}
.hl-green{color:var(--check)}

.ba-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
@media(max-width:600px){.ba-grid{grid-template-columns:1fr}}

.ba-card{border-radius:16px;padding:28px 22px}
.ba-card-no{background:hsl(5,30%,97%);border:2px solid hsl(5,50%,88%)}
.ba-card-yes{background:hsl(140,25%,97%);border:2px solid hsl(140,40%,80%)}

.ba-label{font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em;padding:8px 14px;border-radius:8px;display:inline-block;margin-bottom:18px}
.ba-label-no{background:hsl(5,80%,93%);color:var(--danger)}
.ba-label-yes{background:hsl(140,50%,90%);color:var(--check)}

.ba-list{display:flex;flex-direction:column;gap:10px}
.ba-item{display:flex;align-items:flex-start;gap:10px;font-size:.86rem;font-weight:600;color:hsl(20,20%,22%)}
.ba-dot{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:900;flex-shrink:0}
.ba-dot-no{background:hsl(5,80%,92%);color:var(--danger)}
.ba-dot-yes{background:hsl(140,50%,88%);color:var(--check)}

/* ===== FEATURES ===== */
.features-section{background:var(--light);padding:44px 24px}
.features-inner{max-width:640px;margin:0 auto;text-align:center}
.ideal-sec-title{color:hsl(252,28%,12%)}

.ideal-grid{display:flex;flex-direction:column;gap:0;margin-top:36px;text-align:left}
.ideal-card{display:flex;align-items:flex-start;gap:16px;padding:22px 0;border-bottom:1px solid hsl(252,10%,88%)}
.ideal-card:last-child{border-bottom:none}
.ideal-check-icon{
  width:36px;height:36px;flex-shrink:0;
  background:hsl(140,45%,90%);border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  color:var(--check);margin-top:2px;
}
.ideal-content{display:flex;flex-direction:column;gap:3px}
.ideal-title{color:hsl(252,28%,12%);font-size:.95rem;font-weight:800;line-height:1.3;margin:0}
.ideal-desc{color:hsl(252,10%,44%);font-size:.82rem;font-weight:500;line-height:1.55;margin:0}

/* ===== URGENCY ===== */
.urgency-section{background:var(--card-dark);padding:44px 24px}
.urgency-card{max-width:600px;margin:0 auto;text-align:center;border:1px solid hsl(252,22%,26%);border-radius:18px;padding:36px 28px}
.urgency-question{color:hsl(252,8%,58%);font-size:clamp(.9rem,2.5vw,1rem);font-weight:500;font-style:italic;line-height:1.8;margin:24px 0 0}
.urgency-divider{width:36px;height:2px;background:hsl(252,22%,34%);margin:28px auto}
.urgency-headline{color:#fff;font-size:clamp(1.7rem,5vw,2.6rem);font-weight:900;line-height:1.2;margin:0 0 32px;letter-spacing:-.02em}
.urgency-hoje{color:var(--accent);text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:5px}
.payment-trust{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:16px}
.trust-item{display:flex;align-items:center;gap:5px;font-size:.72rem;font-weight:700;color:hsl(252,8%,52%);text-transform:uppercase;letter-spacing:.05em}
.trust-item svg{color:hsl(252,8%,48%);flex-shrink:0}
.trust-sep{width:1px;height:12px;background:hsl(252,16%,28%);flex-shrink:0}

/* ===== TESTIMONIALS ===== */
.testimonials-section{background:var(--dark);padding:28px 0 44px}
.test-track{display:flex;gap:10px;animation:scroll-l 16s linear infinite;width:max-content;pointer-events:none}
.test-item{flex-shrink:0;width:min(65vw,240px);border-radius:10px;overflow:hidden}
.test-item img{width:100%;height:auto;display:block}

/* ===== DELIVERABLES ===== */
.deliverables-section{background:var(--dark);padding:40px 24px}
.deliverables-inner{max-width:860px;margin:0 auto}

.deliverables-box{
  background:var(--card-dark);border:1px solid hsl(252,22%,22%);
  border-radius:18px;padding:32px 28px;margin-top:36px;
}
.del-tag{
  background:var(--accent);color:hsl(252,40%,8%);
  font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em;
  padding:8px 18px;border-radius:8px;display:inline-block;margin-bottom:22px;
}
.del-mockup{width:100%;max-width:420px;display:block;margin:0 auto 28px;border-radius:10px}
.del-list{display:flex;flex-direction:column}
.del-item{
  display:flex;align-items:flex-start;gap:12px;
  font-size:.88rem;font-weight:600;color:hsl(252,6%,80%);
  padding:11px 0;border-bottom:1px solid hsl(252,16%,20%);
}
.del-item:last-child{border-bottom:none}

.bonus-bridge{text-align:center;margin-top:52px}
.bonus-bridge h3{color:#fff;font-size:clamp(1.4rem,3.5vw,1.9rem);font-weight:900;text-transform:uppercase;line-height:1.2;margin-bottom:14px}
.bonus-bridge p{color:hsl(252,8%,65%);font-size:.95rem;margin-bottom:22px}

/* ===== BONUS ===== */
.bonus-section{background:var(--dark);padding:40px 24px}
.bonus-inner{max-width:900px;margin:0 auto}
.bonus-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px}
@media(max-width:700px){.bonus-grid{grid-template-columns:1fr}}

.bonus-card{background:var(--card-dark);border:1px solid hsl(252,18%,22%);border-radius:16px;overflow:hidden}
.bonus-card-img{width:100%;height:auto;display:block}
.bonus-card-body{padding:20px 18px}
.bonus-num{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--accent);margin-bottom:6px}
.bonus-card-title{font-size:.95rem;font-weight:800;color:#fff;margin-bottom:8px;line-height:1.3}
.bonus-card-desc{font-size:.8rem;color:hsl(252,6%,65%);line-height:1.5;margin-bottom:14px}
.bonus-value{font-size:.8rem;font-weight:700;color:hsl(252,6%,55%)}

.bonus-total-bar{background:hsl(252,22%,14%);border:1px solid hsl(252,18%,24%);border-radius:12px;padding:16px 24px;display:flex;align-items:center;justify-content:center;margin-top:24px}
.bonus-total-bar-info{display:flex;align-items:center;gap:16px;flex-wrap:wrap;justify-content:center}
.bonus-total-bar-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:hsl(252,6%,50%)}
.bonus-total-bar-riscado{font-size:1rem;font-weight:900;color:hsl(252,6%,38%);text-decoration:line-through}
.bonus-total-bar-gratis{font-size:.9rem;font-weight:900;color:var(--check);text-transform:uppercase;letter-spacing:.04em}
.riscado{text-decoration:line-through;color:var(--danger);margin-right:6px}
.gratis{color:var(--check);font-weight:900;font-size:.85rem}

/* ===== EMERGENCY BLOCK ===== */
.emergency-block{background:var(--danger);padding:14px 24px;display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap}
.emergency-dot{width:10px;height:10px;border-radius:50%;background:#fff;flex-shrink:0;animation:dot-pulse 1.1s ease-in-out infinite}
@keyframes dot-pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(.65)}}
.emergency-text{color:#fff;font-size:.8rem;font-weight:700;text-align:center;line-height:1.4;margin:0}
.emergency-cta{background:#fff;color:var(--danger);font-size:.75rem;font-weight:900;text-transform:uppercase;letter-spacing:.07em;padding:9px 20px;border-radius:8px;text-decoration:none;white-space:nowrap;flex-shrink:0}

/* ===== PLANS ===== */
.plans-section{background:var(--dark);padding:40px 24px 60px}
.plans-inner{max-width:900px;margin:0 auto}

.plans-urgency-bar{
  background:var(--danger);color:#fff;
  font-size:.85rem;font-weight:900;
  text-align:center;padding:14px 24px;
  border-radius:10px;margin-bottom:20px;
}

.plans-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:40px}
@media(max-width:680px){.plans-grid{grid-template-columns:1fr}}

.plan-basic{background:hsl(252,12%,21%);border:none;border-radius:20px;padding:28px 24px}
.plan-complete{background:#fff;border:2px solid var(--accent);border-radius:20px;padding:28px 24px;position:relative}

.plan-badge-top{display:block;width:100%;background:var(--accent);color:hsl(252,40%,8%);font-size:.72rem;font-weight:900;text-align:center;padding:10px 14px;border-radius:8px;margin-bottom:6px}
.plan-badge-danger{display:block;width:100%;background:var(--danger);color:#fff;font-size:.72rem;font-weight:800;text-align:center;padding:10px 12px;border-radius:8px;margin-bottom:14px}

.plan-name{font-size:.8rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em;color:hsl(252,6%,62%);margin-bottom:14px}
.plan-img{width:100%;max-width:300px;margin:0 auto 18px;border-radius:8px;display:block}
.plan-basic .plan-img{max-width:220px}

.plan-incl-label{font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:hsl(252,6%,55%);margin-bottom:10px}
.plan-complete .plan-incl-label{color:hsl(20,20%,40%)}

.plan-features{display:flex;flex-direction:column;margin-bottom:22px}
.plan-feat-item{display:flex;align-items:flex-start;gap:9px;font-size:.84rem;font-weight:600;color:hsl(252,6%,74%);padding:9px 0;border-bottom:1px solid hsl(252,14%,26%)}
.plan-complete .plan-feat-item{color:hsl(20,20%,22%);border-bottom-color:hsl(20,10%,88%)}
.plan-feat-item:last-child{border-bottom:none;padding-bottom:0}
.plan-feat-item.gift{font-weight:700}
.plan-feat-riscado{color:hsl(252,6%,50%);font-size:.82rem;gap:6px}

.plan-price-box{background:transparent;border:none;padding:14px 0;text-align:center;margin-bottom:18px}
.price-from{font-size:.82rem;color:var(--danger);font-weight:700;text-decoration:line-through;display:block}
.price-main{font-size:2.8rem;font-weight:900;color:var(--check);display:block;line-height:1}
.price-inst{font-size:.82rem;color:hsl(252,6%,70%);font-weight:800;display:block;margin-top:4px}
.plan-complete .price-inst{color:hsl(20,20%,22%)}
.price-save{font-size:.88rem;font-weight:700;color:var(--check)}

.price-circle-wrap{position:relative;display:inline-block;padding:12px 28px;margin:6px 0}
.animated-circle{animation:wobble-circle 1.8s ease-in-out infinite alternate}
.circle-path,.circle-path-delay{stroke-dasharray:1;stroke-dashoffset:1}
.draw-active .circle-path{animation:drawCircle 1.5s ease-out forwards}
.draw-active .circle-path-delay{animation:drawCircle 1.5s ease-out forwards;animation-delay:.3s}
@keyframes drawCircle{to{stroke-dashoffset:0}}
@keyframes wobble-circle{0%{transform:scale(1) rotate(0deg)}100%{transform:scale(1.06,.96) rotate(2deg)}}

.plan-cta{display:block;width:100%;text-align:center;padding:16px 20px;border-radius:10px;font-family:'Montserrat',sans-serif;font-size:.9rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em;text-decoration:none;cursor:pointer;border:none}
.plan-cta-basic{background:hsl(252,12%,36%);color:#fff}
.plan-cta-complete{background:var(--cta);color:#fff;animation:pulse-cta 1.4s ease-in-out infinite}

.plan-urgency{text-align:center;color:var(--danger);font-size:.75rem;font-weight:800;text-transform:uppercase;margin-top:14px}
.plan-guarantee-label{text-align:center;font-size:.78rem;font-weight:800;text-transform:uppercase;margin-top:16px;margin-bottom:4px;color:hsl(20,20%,30%)}
.hotmart-seal{display:block;margin:4px auto 0;max-width:120px}

.plan-popular-note{
  text-align:center;margin-top:18px;
  font-size:.82rem;color:#DD2C2C;font-weight:700;
  background:hsl(0,80%,96%);border:2.5px solid hsl(0,72%,75%);
  border-radius:10px;padding:12px 16px 14px;
}
.arrow-down{display:flex;justify-content:center;margin-top:10px;animation:bounce-arrow .7s ease-in-out infinite alternate}
@keyframes bounce-arrow{0%{transform:translateY(0)}100%{transform:translateY(8px)}}

.badge-colecao{background:hsl(252,35%,18%);color:var(--accent);border:1px solid hsl(252,28%,28%);font-size:.72rem;padding:6px 16px;border-radius:50px;display:inline-block;margin-bottom:14px;font-weight:800;letter-spacing:.06em}

/* ===== DEPOIMENTOS GRANDES ===== */
.depi-section{background:var(--dark);padding:44px 24px}
.depi-inner{max-width:900px;margin:0 auto;text-align:center}
.depi-inner .sec-title{margin-bottom:32px}
.depi-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.depi-img{width:100%;height:auto;display:block;border-radius:12px}
@media(max-width:600px){.depi-grid{grid-template-columns:1fr}}

/* ===== GUARANTEE ===== */
.guarantee-section{background:var(--light);padding:44px 24px}
.guarantee-inner{max-width:720px;margin:0 auto;display:flex;gap:32px;align-items:center;flex-wrap:wrap;justify-content:center}
.guarantee-seal{width:130px;flex-shrink:0;display:block}
@media(max-width:560px){.guarantee-inner{flex-direction:column;text-align:center}.guarantee-seal{margin:0 auto}}
.guarantee-title{font-size:clamp(1.2rem,3vw,1.5rem);font-weight:900;text-transform:uppercase;margin-bottom:14px;color:hsl(20,30%,14%)}
.guarantee-inner p{font-size:.92rem;color:hsl(20,14%,35%);line-height:1.65;margin-bottom:10px}
.guarantee-risk{color:var(--check);font-weight:900;font-size:1rem}

/* ===== COMO É O ACESSO ===== */
.access-section{background:var(--light);padding:44px 24px}
.access-inner{max-width:560px;margin:0 auto;text-align:center}
.access-steps{display:flex;flex-direction:column;align-items:center;gap:0;margin-top:32px}
.access-step{display:flex;align-items:center;gap:16px;width:100%;text-align:left;background:#fff;border:1px solid hsl(252,10%,88%);border-radius:12px;padding:16px 20px}
.access-num{width:38px;height:38px;border-radius:50%;background:var(--check);color:#fff;font-size:1rem;font-weight:900;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.access-info{display:flex;flex-direction:column;gap:3px}
.access-info strong{color:hsl(252,28%,12%);font-size:.9rem;font-weight:800;line-height:1.3}
.access-info span{color:hsl(252,10%,48%);font-size:.78rem;font-weight:500;line-height:1.4}
.access-arrow{color:hsl(252,10%,72%);font-size:1rem;line-height:1;padding:4px 0}

/* ===== FAQ ===== */
.faq-section{background:var(--dark);padding:44px 24px}
.faq-inner{max-width:720px;margin:0 auto}
.faq-item{border-bottom:1px solid hsl(252,16%,20%)}
.faq-q{
  display:flex;justify-content:space-between;align-items:center;width:100%;
  background:none;border:none;cursor:pointer;
  color:#fff;font-family:'Montserrat',sans-serif;font-size:.9rem;font-weight:700;
  padding:18px 0;text-align:left;gap:16px;
}
.faq-icon{font-size:1.3rem;font-weight:300;flex-shrink:0;transition:transform .2s;color:var(--accent)}
.faq-q.open .faq-icon{transform:rotate(45deg)}
.faq-a{max-height:0;overflow:hidden;color:hsl(252,6%,65%);font-size:.86rem;line-height:1.7;transition:max-height .35s ease,padding .2s}
.faq-a.open{max-height:300px;padding-bottom:16px}

/* ===== FOOTER ===== */
.site-footer{background:hsl(252,35%,6%);padding:40px 24px;text-align:center}
.footer-text{color:hsl(252,6%,40%);font-size:.72rem;line-height:1.8;max-width:600px;margin:0 auto}

/* ===== MODALS ===== */
.modal-overlay{
  position:fixed;inset:0;
  background:rgba(0,0,0,.75);
  display:flex;align-items:center;justify-content:center;
  z-index:9999;padding:16px;
  overflow-y:auto;
  opacity:0;visibility:hidden;
  transition:opacity .25s,visibility .25s;
}
.modal-overlay.open{opacity:1;visibility:visible}
.modal-card{
  background:#fff;border-radius:16px;padding:28px 24px 24px;
  max-width:420px;width:100%;text-align:center;
  transform:translateY(24px);transition:transform .28s;
  box-shadow:0 20px 60px rgba(0,0,0,.25);margin:auto;
}
.modal-overlay.open .modal-card{transform:translateY(0)}
.modal-badge{
  background:var(--danger);color:#fff;
  font-size:.65rem;font-weight:800;letter-spacing:.12em;
  padding:5px 14px;border-radius:50px;
  display:inline-block;margin-bottom:14px;text-transform:uppercase;
}
.modal-badge-exit{background:var(--dark)}
.modal-card-exit{border-top:3px solid var(--dark)}
.modal-title{
  font-size:1.25rem;font-weight:900;color:#111;
  line-height:1.2;margin-bottom:18px;
  text-transform:none;letter-spacing:0;
}
.modal-bonus-box{background:hsl(230,20%,97%);border-radius:10px;padding:14px 16px;margin-bottom:16px;text-align:left}
.modal-bonus-title{font-size:.72rem;font-weight:900;color:var(--dark);letter-spacing:.07em;text-transform:uppercase;margin-bottom:10px}
.modal-bonus-list{list-style:none;display:flex;flex-direction:column;gap:6px}
.modal-bonus-list li{font-size:.78rem;color:#444;font-weight:600;line-height:1.3;padding-left:14px;position:relative}
.modal-bonus-list li::before{content:'✓';position:absolute;left:0;color:var(--check);font-weight:900}
.modal-price-box{background:hsl(150,40%,96%);border:1px solid hsl(150,30%,82%);border-radius:10px;padding:14px 16px;margin-bottom:18px;display:flex;flex-direction:column;gap:2px}
.modal-price-from{font-size:.82rem;font-weight:700;color:#999;text-decoration:line-through}
.modal-price-main{font-size:2.4rem;font-weight:900;color:var(--check);line-height:1}
.modal-price-economia{font-size:.75rem;font-weight:700;color:var(--check)}
@keyframes modal-cta-pulse{
  0%,100%{transform:translateY(0);box-shadow:0 4px 18px rgba(57,181,116,.35)}
  50%{transform:translateY(-4px);box-shadow:0 10px 26px rgba(57,181,116,.55)}
}
.modal-btn-sim{
  display:block;background:var(--cta);
  color:#fff;font-weight:900;font-size:.92rem;letter-spacing:.05em;
  text-decoration:none;text-transform:uppercase;padding:18px 24px;
  border-radius:10px;margin-bottom:12px;
  animation:modal-cta-pulse 1.6s ease-in-out infinite;line-height:1.2;
  font-family:'Montserrat',sans-serif;
}
.modal-btn-nao{
  background:none;border:none;cursor:pointer;color:#bbb;
  font-size:.75rem;text-decoration:underline;padding:4px 8px;
  font-family:'Montserrat',sans-serif;display:block;margin:0 auto;
}
@media(max-width:480px){
  .modal-card{padding:22px 16px 20px}
  .modal-title{font-size:1.1rem}
  .modal-btn-sim{font-size:.82rem;padding:15px 16px}
  .hero-bullet{padding:6px 14px;margin-bottom:14px}
  .hero-bullet-main{font-size:.63rem}
  .hero-bullet-sub{font-size:.55rem}
  .hero-title{font-size:clamp(1.35rem,4.2vw,2.4rem)}
}
