:root{
  --bg:#1a1c2e;
  --fg:#fafaf7;
  --card:#252840;
  --card-2:#2d3050;
  --border:#3a3d5c;
  --muted:#a8aac4;
  --orange:#f08a3e;
  --orange-strong:#e5732a;
  --blue:#1d4ed8;
  --blue-strong:#1e40af;
  --green:#10b981;
  --red:#dc2626;
  --light-bg:#ffffff;
  --light-fg:#171717;
  --light-muted:#525252;
  --light-border:#e5e5e5;
  --soft-bg:#1f2236;
  --radius:16px;
}
*{box-sizing:border-box;margin:0;padding:0;border-color:var(--border)}
html,body{font-family:'Montserrat',system-ui,sans-serif;background:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased;line-height:1.5}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{font-weight:800;letter-spacing:-.01em;line-height:1.15}

/* layout */
.container{max-width:1120px;margin:0 auto;padding:0 20px}
.container.narrow{max-width:760px}
.container.wide{max-width:1200px}
.section{padding:32px 0}
@media(min-width:768px){.section{padding:48px 0}}
.section-light{background:var(--light-bg);color:var(--light-fg)}
.section-light .muted{color:var(--light-muted)}
.section-light h1,.section-light h2,.section-light h3{color:var(--light-fg)}
.section-light.bordered{border-top:1px solid var(--light-border);border-bottom:1px solid var(--light-border)}
.section-soft{background:rgba(37,40,64,.4);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.section-card{background:var(--card)}
.section-card.bordered{border-top:1px solid var(--border);border-bottom:1px solid var(--border)}

.center{text-align:center}
.mt{margin-top:20px}.mt-2{margin-top:8px}.mt-3{margin-top:12px}.mt-4{margin-top:16px}
.mt5{margin-top:20px}.mt6{margin-top:24px}
.small{font-size:14px}.small-md{font-size:15px}.xsmall{font-size:12px}
.bold{font-weight:800}
.muted{color:var(--muted)}
.text-orange{color:var(--orange) !important}
.strike{text-decoration:line-through;color:var(--red)}
.narrow-p{max-width:640px;margin-left:auto;margin-right:auto}

/* topbar */
.topbar{background:#e05e0f;color:#fff;text-align:center;font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:.06em;padding:10px 16px}

/* HERO */
.hero{background:#ffffff;color:var(--light-fg);padding-top:24px;padding-bottom:32px}
.hero h1, .hero h2, .hero h3 {color:var(--light-fg)}
.hero .h1 {font-size: clamp(22px, 3.8vw, 36px)}
.hero .lead, .hero .muted {color:var(--light-muted)}
.h1{font-size:clamp(24px,4.5vw,48px);padding-top:5px}
.h2{font-size:clamp(22px,3.4vw,36px)}
.lead{margin-top:20px;font-size:17px}
.underline-orange{text-decoration:underline;text-decoration-color:var(--orange);text-decoration-thickness:4px;text-underline-offset:6px}
.underline-blue{text-decoration:underline;text-decoration-color:var(--blue);text-decoration-thickness:4px;text-underline-offset:6px}
.text-blue{color:var(--blue)}
.hero-img-wrap{position:relative;margin-top:40px}
.hero-glow{position:absolute;inset:0;background:rgba(0,102,255,0.06);filter:blur(60px);border-radius:9999px}
.hero-img{position:relative;margin:0 auto;max-width:640px;width:100%}
.cta-wrap{margin-top:40px;text-align:center}

/* checklist */
.checklist{list-style:none;max-width:560px;margin:40px auto 0;text-align:left;display:flex;flex-direction:column;gap:10px;font-size:15px}
.checklist.tight{margin-top:40px}
.checklist li{display:flex;gap:12px;align-items:flex-start}
.check{flex:0 0 auto;width:18px;height:18px;margin-top:3px;border-radius:4px;background:transparent;position:relative}
.check::before{content:"";position:absolute;left:1px;top:3px;width:14px;height:8px;border-left:3px solid var(--orange);border-bottom:3px solid var(--orange);transform:rotate(-45deg)}

/* CTA */
.cta{display:inline-flex;align-items:center;justify-content:center;background:var(--orange);color:#fff;font-weight:800;text-transform:uppercase;letter-spacing:.04em;border-radius:14px;padding:16px 26px;box-shadow:0 14px 30px -10px rgba(240,138,62,.6);transition:transform .15s}
.cta:hover{transform:scale(1.02)}
.cta-lg{padding:20px 32px;font-size:16px}
.cta.full{display:flex;width:100%}

/* video */
.video-wrap{margin:32px auto 0;max-width:340px;width:100%}

/* grid */
.grid{display:grid;gap:20px}
.g-2{grid-template-columns:1fr}
@media(min-width:640px){.g-2{grid-template-columns:repeat(2,1fr)}}
.g-3{grid-template-columns:1fr}
@media(min-width:640px){.g-3{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.g-3{grid-template-columns:repeat(3,1fr)}}

/* cards */
.card{background:var(--card);border:1px solid var(--border);border-radius:18px;padding:24px;height:100%}
.card h3{font-size:18px;margin-bottom:10px}
.card.light{background:#fff;border-color:var(--light-border)}
.card.light p{color:var(--light-muted)}

/* eyebrow */
.eyebrow{color:var(--orange);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.12em}

/* bonus */
.bonus{background:var(--card);border:1px solid var(--border);border-radius:18px;overflow:hidden;display:flex;flex-direction:column;height:100%}
.bonus-img{background:rgba(240,138,62,.15);aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;padding:16px}
.bonus-img img{max-height:100%;max-width:100%;object-fit:contain;filter:drop-shadow(0 14px 24px rgba(0,0,0,.4))}
.bonus-body{padding:22px;display:flex;flex-direction:column;gap:10px;flex:1}
.bonus-body h3{font-size:18px;line-height:1.3}
.bonus-body p{font-size:14px;color:var(--muted);flex:1}

/* plans */
.plans{display:grid;gap:32px;margin-top:28px;align-items:start}
@media(min-width:768px){.plans{grid-template-columns:1fr 1fr;gap:40px}}
.plan{background:var(--card);border:1px solid var(--border);border-radius:24px;padding:28px;box-shadow:0 20px 40px -20px rgba(0,0,0,.5);font-size:14.5px;position:relative}
.plan .checklist {font-size:14px}
.plan-featured{border:2px solid var(--orange);position:relative}
.plan-badge{position:absolute;top:-16px;left:50%;transform:translateX(-50%);background:var(--orange);color:#fff;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;padding:8px 16px;border-radius:9999px;white-space:nowrap}
.plan-img{margin:20px auto 0;max-height:220px;object-fit:contain}
.save-box{margin-top:24px;background:rgba(240,138,62,.15);border:1px solid var(--orange);border-radius:12px;padding:12px;text-align:center;font-weight:700;font-size:14px}
.price-value{font-size:44px;font-weight:800;color:var(--green) !important;margin-top:4px}

/* seal */
.seal{display:inline-flex;align-items:center;justify-content:center;width:96px;height:96px;border-radius:9999px;background:var(--orange);color:#fff;font-weight:800;font-size:24px}
.seal span{font-size:14px;margin-left:4px;font-weight:600}

/* steps */
.step-num{margin:0 auto;width:56px;height:56px;border-radius:9999px;background:var(--orange);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:20px}
.step h3{margin-top:18px;font-size:17px;text-transform:uppercase}
.step p{margin-top:8px;font-size:14px}

/* faq */
.faq{margin-top:40px}
.faq details{border-bottom:1px solid var(--border);padding:0}
.faq summary{cursor:pointer;list-style:none;padding:20px 0;display:flex;justify-content:space-between;align-items:center;gap:16px;font-weight:700}
.faq summary::-webkit-details-marker{display:none}
.faq .plus{color:var(--orange);font-size:24px;font-weight:300;transition:transform .2s}
.faq details[open] .plus{transform:rotate(45deg)}
.faq details p{padding:0 0 20px;color:var(--muted);font-size:14px;line-height:1.7}

/* footer */
.footer{background:var(--card);border-top:1px solid var(--border);padding:20px}
.footer p{margin-top:14px}
.footer-links a{margin:0 8px}
.footer-links a:hover{color:var(--orange)}

/* ==========================================================================
   ELEMENTOS ADICIONAIS: AVATARES, CARROSSEL E URGÊNCIA
   ========================================================================== */

/* Prova Social: Avatares sobrepostos */
.proof-box {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin: 20px 0 10px 0;
}
.avatars-group {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding-left: 8px;
}
.avatar-img {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 2.5px solid var(--bg);
  margin-left: -10px;
  object-fit: cover;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
  transition: transform 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275), z-index 0.2s;
  position: relative;
}
.avatar-img:hover {
  transform: scale(1.18) translateY(-3px);
  z-index: 10;
  border-color: var(--blue);
}
.proof-info {
  margin-top: 0;
  text-align: left;
}
.proof-sub {
  font-size: 11px;
  color: var(--muted);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.proof-title {
  font-size: clamp(16px, 2.5vw, 18px);
  font-weight: 900;
  color: #fff;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  margin-top: 2px;
  background: linear-gradient(135deg, #ffffff 40%, var(--orange) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* Bloco de Urgência Vermelho */
.urgency-box {
  background: linear-gradient(135deg, #d93838 0%, #a61c1c 100%);
  color: #fff;
  border-radius: 20px;
  padding: 40px 24px;
  margin: 48px auto;
  max-width: 760px;
  box-shadow: 0 20px 40px rgba(217, 56, 56, 0.25);
  text-align: center;
  border: 1px solid rgba(255, 255, 255, 0.15);
  position: relative;
  overflow: hidden;
}
.urgency-box::before {
  content: '';
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.08) 0%, transparent 60%);
  pointer-events: none;
}
.urgency-box h2 {
  color: #fff !important;
  font-size: clamp(20px, 4vw, 26px);
  font-weight: 900;
  line-height: 1.25;
  margin-bottom: 16px;
  text-transform: uppercase;
  letter-spacing: -0.01em;
}
.urgency-box p {
  color: rgba(255, 255, 255, 0.9) !important;
  font-size: 15px;
  line-height: 1.6;
  max-width: 600px;
  margin: 0 auto 28px auto;
}
.urgency-box .cta {
  background: #fff;
  color: #a61c1c;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
}
.urgency-box .cta:hover {
  background: #fdfdfd;
  color: #8c1414;
  transform: scale(1.03);
}

/* Carrossel de Exercícios */
.carousel-container {
  position: relative;
  max-width: 1120px;
  margin: 36px auto 0 auto;
  overflow: hidden;
}
.carousel-track-wrapper {
  overflow: hidden;
  width: 100%;
  padding: 12px 0;
}
.carousel-track {
  display: flex;
  gap: 20px;
  transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  will-change: transform;
}
.carousel-card {
  flex: 0 0 100%; /* Mobile */
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 20px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.3);
  transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}
@media(min-width: 640px) {
  .carousel-card {
    flex: 0 0 calc(50% - 10px); /* Tablet */
  }
}
@media(min-width: 1024px) {
  .carousel-card {
    flex: 0 0 calc(33.333% - 13.33px); /* Desktop */
  }
}
.carousel-card:hover {
  transform: translateY(-6px);
  border-color: var(--orange);
  box-shadow: 0 16px 35px -8px rgba(240, 138, 62, 0.25);
}
.carousel-card-visual {
  height: 180px;
  background: linear-gradient(135deg, #252840 0%, #1a1c2e 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  border-bottom: 1px solid var(--border);
  position: relative;
  overflow: hidden;
}
.carousel-card-visual::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at center, rgba(240, 138, 62, 0.15) 0%, transparent 75%);
}
.carousel-card-icon {
  font-size: 48px;
  z-index: 1;
  filter: drop-shadow(0 4px 10px rgba(0,0,0,0.3));
  transition: transform 0.3s;
}
.carousel-card:hover .carousel-card-icon {
  transform: scale(1.15) rotate(8deg);
}
.carousel-card-body {
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 1;
}
.carousel-card-tag {
  align-self: flex-start;
  background: rgba(240, 138, 62, 0.15);
  color: var(--orange);
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 999px;
  letter-spacing: 0.06em;
}
.carousel-card h3 {
  font-size: 18px;
  font-weight: 800;
  color: #fff;
  line-height: 1.35;
}
.carousel-card p {
  font-size: 13.5px;
  color: var(--muted);
  line-height: 1.55;
  margin: 0;
}
.carousel-controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  margin-top: 24px;
}
.carousel-btn {
  background: var(--card-2);
  border: 1px solid var(--border);
  color: #fff;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s, border-color 0.2s, transform 0.15s;
  font-size: 20px;
}
.carousel-btn:hover {
  background: var(--orange);
  border-color: var(--orange);
  transform: scale(1.08);
}
.carousel-btn:active {
  transform: scale(0.95);
}
.carousel-nav {
  display: flex;
  gap: 8px;
}
.carousel-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--border);
  border: none;
  cursor: pointer;
  transition: background 0.2s, width 0.2s;
  padding: 0;
}
.carousel-dot.active {
  background: var(--orange);
  width: 20px;
  border-radius: 999px;
}

/* BLUE CTA */
.cta.cta-blue {
  background: var(--blue);
  box-shadow: 0 14px 30px -10px rgba(0, 102, 255, 0.4);
}
.cta.cta-blue:hover {
  background: var(--blue-strong);
}

/* HERO SOCIAL PROOF ADJUSTMENTS */
.hero .proof-title {
  background: linear-gradient(135deg, var(--light-fg) 40%, var(--blue) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.hero .proof-sub {
  color: var(--light-muted);
}
.hero .avatar-img {
  border-color: #ffffff;
}
.hero .avatar-img:hover {
  border-color: var(--blue);
}

/* SECTION LIGHT INNER CARDS & ELEMENTS */
.section-light .bonus {
  background: #ffffff;
  border-color: var(--light-border);
  box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.06);
}
.section-light .bonus-img {
  background: rgba(240, 138, 62, 0.06);
  border-bottom: 1px solid var(--light-border);
}
.section-light .bonus-body h3 {
  color: var(--light-fg);
}
.section-light .bonus-body p {
  color: var(--light-muted);
}

/* CAROUSEL LIGHT CARD STYLING */
.carousel-card.light {
  background: #ffffff;
  border-color: var(--light-border);
  box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.05);
}
.carousel-card.light h3 {
  color: var(--light-fg);
}
.carousel-card.light p {
  color: var(--light-muted);
}
.carousel-card.light .carousel-card-visual {
  background: linear-gradient(135deg, #f9fafb 0%, #f3f4f6 100%);
  border-bottom: 1px solid var(--light-border);
}
.carousel-card.light .carousel-card-visual::before {
  background: radial-gradient(circle at center, rgba(240, 138, 62, 0.08) 0%, transparent 75%);
}
.carousel-card.light:hover {
  border-color: var(--orange);
  box-shadow: 0 16px 35px -8px rgba(240, 138, 62, 0.15);
}

.section-light .carousel-btn {
  background: #f3f4f6;
  border-color: var(--light-border);
  color: var(--light-fg);
}
.section-light .carousel-btn:hover {
  background: var(--orange);
  border-color: var(--orange);
  color: #fff;
}
.section-light .carousel-dot {
  background: var(--light-border);
}
.section-light .carousel-dot.active {
  background: var(--orange);
}

/* PLAN CARDS FOR LIGHT SECTION */
.section-light .plan {
  background: #ffffff;
  border-color: var(--light-border);
  color: var(--light-fg);
  box-shadow: 0 20px 40px -20px rgba(0, 0, 0, 0.1);
}
.section-light .plan-featured {
  border-color: var(--orange);
}
.section-light .plan h3, .section-light .plan p {
  color: var(--light-fg);
}
.section-light .plan .checklist li {
  color: var(--light-fg);
}
.section-light .plan .muted {
  color: var(--light-muted);
}
.section-light .save-box {
  background: rgba(240, 138, 62, 0.08);
  border-color: var(--orange);
  color: var(--orange-strong);
}
.plan-basic-save {
  border-color: var(--border);
  background: rgba(255,255,255,0.05);
  color: var(--muted);
}
.section-light .plan-basic-save {
  border-color: var(--light-border);
  background: #f9fafb;
  color: var(--light-muted);
}
.payment-icons {
  color: var(--muted);
}
.section-light .payment-icons {
  color: var(--light-muted);
}

.text-red {
  color: var(--red) !important;
}
.text-green {
  color: var(--green) !important;
}
.plan .cta {
  font-size: 14px;
  padding: 16px 20px;
}

/* SECTION TEXT SIZE REDUCTION OVERRIDES */
.section-preparo-fisico {
  background: var(--light-bg) !important;
  color: var(--light-fg) !important;
  border-top: 1px solid var(--light-border);
  border-bottom: 1px solid var(--light-border);
  padding: 48px 0;
}
.section-preparo-fisico h2 {
  font-size: clamp(20px, 3vw, 28px);
  color: #000000 !important;
}
.section-preparo-fisico p {
  font-size: 14px;
  line-height: 1.55;
  color: var(--light-muted) !important;
}
.section-preparo-fisico h3 {
  font-size: 16px;
  color: var(--light-fg) !important;
}

.section-ideal-para-quem h2 {
  font-size: clamp(20px, 3.2vw, 30px);
}
.section-ideal-para-quem h3 {
  font-size: 16px;
  line-height: 1.3;
}
.section-ideal-para-quem p {
  font-size: 13.5px;
  line-height: 1.5;
}

/* Modal Overlay Background */
.modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(10, 11, 20, 0.85);
  backdrop-filter: blur(8px);
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
  padding: 16px;
}
.modal-overlay.active {
  opacity: 1;
  pointer-events: auto;
}

/* Modal Content Container */
.modal-container {
  background: #1f2236;
  border: 2px solid var(--orange);
  border-radius: 24px;
  width: 100%;
  max-width: 500px;
  position: relative;
  transform: scale(0.9);
  transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5), 0 0 40px rgba(240, 138, 62, 0.2);
  padding: 32px 24px;
  text-align: center;
  color: #ffffff;
  overflow: hidden;
}
.modal-overlay.active .modal-container {
  transform: scale(1);
}

/* Close button */
.modal-close {
  position: absolute;
  top: 14px;
  right: 18px;
  background: none;
  border: none;
  color: var(--muted);
  font-size: 28px;
  cursor: pointer;
  line-height: 1;
  transition: color 0.2s;
  font-weight: 300;
}
.modal-close:hover {
  color: #fff;
}

/* Modal header tag */
.modal-tag {
  background: var(--red);
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  padding: 6px 14px;
  border-radius: 999px;
  display: inline-block;
  letter-spacing: 0.08em;
  margin-bottom: 16px;
}

.modal-container h2 {
  font-size: 28px;
  font-weight: 900;
  color: var(--orange);
  margin-bottom: 8px;
}
.modal-container h3 {
  font-size: 18px;
  font-weight: 700;
  color: #ffffff;
  line-height: 1.3;
  margin-bottom: 16px;
}
.modal-text {
  font-size: 14px;
  line-height: 1.5;
  color: var(--muted);
  margin-bottom: 20px;
}
.modal-text strong {
  color: #fff;
}

/* Mockup display */
.modal-mockup-wrap {
  margin: 16px auto;
  max-width: 240px;
  position: relative;
}
.modal-mockup-img {
  width: 100%;
  height: auto;
  object-fit: contain;
  filter: drop-shadow(0 10px 15px rgba(0,0,0,0.4));
}

/* Modal CTAs */
.modal-btn-accent {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  background: var(--green);
  color: #fff;
  font-weight: 800;
  font-size: 15px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  border-radius: 12px;
  padding: 16px 20px;
  border: none;
  cursor: pointer;
  box-shadow: 0 10px 20px -5px rgba(16, 185, 129, 0.4);
  transition: transform 0.2s, background-color 0.2s;
  margin-bottom: 12px;
  animation: modal-pulse 2s infinite;
}
.modal-btn-accent:hover {
  background: #059669;
  transform: scale(1.02);
}
.modal-btn-secondary {
  display: block;
  width: 100%;
  background: transparent;
  color: var(--muted);
  font-weight: 600;
  font-size: 13px;
  text-decoration: underline;
  padding: 8px 0;
  border: none;
  cursor: pointer;
  transition: color 0.2s;
}
.modal-btn-secondary:hover {
  color: #fff;
}

@keyframes modal-pulse {
  0% {
    box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.6);
  }
  70% {
    box-shadow: 0 0 0 12px rgba(16, 185, 129, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(16, 185, 129, 0);
  }
}


