/* =============================
   TOKENS
============================= */
:root{
  /* Azul extraído diretamente do logotipo (#1D3F8B) */
  --navy: #1d3f8b;
  --navy-dark: #142b5f;
  --navy-darker: #0c1a3a;
  --navy-soft: #eef1f8;
  --gold: #f0a814;
  --gold-light: #ffcb52;
  --cta: #ff5a1f;
  --cta-dark: #e04713;
  --white: #ffffff;
  --off-white: #faf8f4;
  --ink: #1c2331;
  --gray: #5a6473;
  --border: #e3e6ed;
  --radius: 14px;
  --shadow: 0 10px 30px rgba(11, 30, 64, 0.10);
  --font-head: 'Poppins', sans-serif;
  --font-body: 'Poppins', sans-serif;
}

*{ box-sizing: border-box; }
html{ scroll-behavior: smooth; }
body{
  margin: 0;
  font-family: var(--font-body);
  color: var(--ink);
  background: var(--white);
  line-height: 1.6;
  font-size: 17px;
}
img{ max-width: 100%; display: block; }
a{ text-decoration: none; color: inherit; }
ul{ margin: 0; padding: 0; list-style: none; }
h1,h2,h3,h4{ font-family: var(--font-head); font-weight: 800; line-height: 1.2; margin: 0 0 20px; color: var(--navy-dark); }
h1{ font-size: clamp(2rem, 4.2vw, 2.9rem); }
h2{ font-size: clamp(1.6rem, 3.2vw, 2.3rem); }
h3{ font-size: clamp(1.2rem, 2.2vw, 1.5rem); margin-top: 32px; }
h4{ font-size: 1.1rem; margin-bottom: 10px; }
p{ margin: 0 0 16px; }

.container{ max-width: 1160px; margin: 0 auto; padding: 0 24px; }
.container--narrow{ max-width: 820px; }
.text-center{ text-align: center; }

/* =============================
   SECTIONS
============================= */
.section{ padding: 76px 0; }
.section--light{ background: var(--white); }
.section--dark{ background: linear-gradient(180deg, var(--navy-dark), var(--navy-darker)); color: #dfe6f5; }
.section--dark h2, .section--dark h3, .section--dark h4{ color: #fff; }
.section--accent{ background: var(--navy-soft); }
.section--accent-soft{ background: var(--off-white); }
.section--closing{ background: linear-gradient(180deg, var(--navy), var(--navy-dark)); color: #dfe6f5; }
.section--closing h2, .section--closing h3{ color: #fff; }

/* =============================
   TEXT BLOCKS
============================= */
.text-block{ max-width: 760px; }
.text-block--center{ margin-left:auto; margin-right:auto; text-align:left; }
.text-block--light p, .text-block--light li{ color: #cfd8ec; }
.lead{ font-weight: 700; font-size: 1.15rem; color: var(--navy-dark); }
.section--dark .lead{ color: #fff; }
.highlight-quote{
  font-family: var(--font-head);
  font-weight: 700;
  font-size: 1.4rem;
  color: var(--navy);
  border-left: 4px solid var(--gold);
  padding: 6px 20px;
  margin: 24px 0;
}
.analogy-card{
  background: var(--navy-soft);
  border-radius: var(--radius);
  padding: 30px 34px;
  margin: 28px 0;
  text-align: center;
}
.analogy-card p{ margin: 0 0 10px; }
.analogy-card p:last-child{ margin-bottom: 0; }
.analogy-card__pair{
  font-family: var(--font-head);
  font-size: 1.3rem;
  color: var(--navy);
  margin-bottom: 14px !important;
}
.eyebrow{
  text-transform: uppercase;
  letter-spacing: .08em;
  font-weight: 700;
  color: var(--gold);
  font-size: .9rem;
  margin-bottom: 10px;
}

.plain-list{ margin: 16px 0; }
.plain-list li{ padding: 6px 0 6px 24px; position: relative; }
.plain-list li::before{ content: "—"; position:absolute; left:0; color: var(--gold); font-weight:700; }
.plain-list--quotes li{ font-style: italic; color: var(--gray); }

.check-list li{ padding: 8px 0 8px 34px; position: relative; }
.check-list li::before{
  content: "";
  position: absolute; left: 0; top: 9px;
  background: var(--navy);
  width: 20px; height: 20px;
  border-radius: 50%;
}
.check-list li::after{
  content: "";
  position: absolute; left: 6px; top: 13px;
  width: 9px; height: 5px;
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(-45deg);
}
.check-list--light li::before{ background: var(--gold); }
.check-list--light li::after{ border-color: var(--navy-darker); }
.check-list--grid{ display:grid; grid-template-columns: repeat(2, 1fr); gap: 4px 24px; }
.check-list--wide{ grid-template-columns: repeat(2, 1fr); }
.check-list--center{ text-align:left; max-width: 560px; margin: 0 auto; }

/* Contraste: onde o check-list padrão (bolinha azul) cai sobre um fundo
   também azul/escuro, usa a mesma combinação clara do check-list--light */
.hero .check-list li::before,
.module-card--highlight .check-list li::before,
.section--closing .check-list li::before{
  background: var(--gold);
}
.hero .check-list li::after,
.module-card--highlight .check-list li::after,
.section--closing .check-list li::after{
  border-color: var(--navy-darker);
}

/* =============================
   BUTTONS
============================= */
.btn{
  display: inline-block;
  font-family: var(--font-head);
  font-weight: 700;
  text-align: center;
  border-radius: 999px;
  padding: 16px 34px;
  font-size: 1rem;
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
  border: 2px solid transparent;
  cursor: pointer;
}
.btn--cta{
  background: linear-gradient(180deg, var(--cta), var(--cta-dark));
  color: #fff;
  box-shadow: 0 10px 24px rgba(255, 90, 31, .35);
}
.btn--cta:hover{ transform: translateY(-2px); box-shadow: 0 14px 30px rgba(255, 90, 31, .45); }
.btn--outline{
  background: transparent;
  border-color: var(--navy);
  color: var(--navy);
}
.section--dark .btn--outline{ border-color: var(--gold); color: var(--gold); }
.btn--outline:hover{ background: var(--navy); color: #fff; }
.btn--large{ padding: 20px 44px; font-size: 1.05rem; width: 100%; max-width: 560px; }
.btn--small{ padding: 10px 20px; font-size: .85rem; }

.cta-block{ margin: 40px 0; }
.cta-block--center{ text-align: center; }
.cta-block--center .btn{ display: inline-block; }
.cta-block__micro{ margin: 12px 0 0; font-weight: 600; color: var(--navy); }
.section--dark .cta-block__micro,
.section--closing .cta-block__micro,
.hero .cta-block__micro{ color: #fff; }
.cta-block__micro--small{ font-weight: 400; color: var(--gray); font-size: .9rem; }
.section--dark .cta-block__micro--small,
.section--closing .cta-block__micro--small,
.hero .cta-block__micro--small{ color: #cfd8ec; }

.micro-badges{
  display:flex; flex-wrap:wrap; gap: 14px 26px; justify-content:center;
  margin-top: 18px; font-size: .88rem; color: var(--gray);
}
.micro-badges span{ display: inline-flex; align-items: center; gap: 8px; }
.micro-badges .icon{ color: var(--navy); flex-shrink: 0; }
.micro-badges--center{ justify-content: center; }

/* =============================
   SITE HEADER (faixa branca de largura total para o logo,
   preservando as cores originais sobre fundo escuro)
============================= */
.site-header{
  background: #fff;
  padding: 14px 24px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.site-header__logo{ height: 110px; width: auto; display:block; }

@media (max-width: 600px){
  .site-header{ padding: 6px 16px; }
  .site-header__logo{ height: 54px; }
}

/* =============================
   ICONS
============================= */
.icon{
  width: 26px;
  height: 26px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
  flex-shrink: 0;
}
.icon--sm{ width: 18px; height: 18px; }
.icon--lg{ width: 34px; height: 34px; }

/* =============================
   HERO
============================= */
.hero{
  background: radial-gradient(1200px 600px at 80% -10%, #26499b 0%, var(--navy-dark) 55%, var(--navy-darker) 100%);
  color: #fff;
  padding-bottom: 60px;
}
.hero__grid{
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 48px;
  align-items: start;
  padding-top: 40px;
}
.hero h1{ color: #fff; }
.hero .eyebrow{ color: var(--gold-light); }
.hero__text p{ color: #d7deee; font-size: 1.08rem; }
.hero__benefits{
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: var(--radius);
  padding: 24px 26px;
  margin-top: 28px;
}
.hero__benefits-title{ font-weight: 700; color: #fff; }
.hero__benefits .check-list strong{ color: var(--gold-light); }

/* Painel de benefícios claro (mesmo padrão do hero__benefits, para seções com fundo branco) */
.benefits-panel{
  background: var(--navy-soft);
  border-radius: var(--radius);
  padding: 24px 26px;
  margin: 28px 0;
}
.benefits-panel__title{ font-weight: 700; color: var(--navy-dark); margin-bottom: 4px; }
.hero__media{ position: sticky; top: 90px; }

/* =============================
   IMAGE PLACEHOLDERS
============================= */
.img-placeholder{
  border: 2px dashed #b9c2d6;
  background:
    repeating-linear-gradient(45deg, #f4f6fb, #f4f6fb 10px, #eef1f8 10px, #eef1f8 20px);
  border-radius: var(--radius);
  min-height: 220px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 24px;
  color: #6b7690;
  font-size: .88rem;
  font-weight: 600;
  line-height: 1.5;
  margin: 24px 0;
}
.img-placeholder::before{
  content: "";
  width: 34px; height: 34px;
  margin-bottom: 10px;
  background-color: #9aa5bd;
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='4' width='18' height='16' rx='2'/><circle cx='8.5' cy='9.5' r='1.5'/><path d='M21 15l-5-5-4 4-3-3-6 6'/></svg>") center / contain no-repeat;
  mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='4' width='18' height='16' rx='2'/><circle cx='8.5' cy='9.5' r='1.5'/><path d='M21 15l-5-5-4 4-3-3-6 6'/></svg>") center / contain no-repeat;
}
.img-placeholder::after{
  content: "ESPAÇO PARA IMAGEM\A" attr(data-label);
  white-space: pre-line;
}
.img-placeholder--video::before{
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'><rect x='2' y='6' width='14' height='12' rx='2'/><path d='M16 10l6-3.5v11L16 14z'/></svg>") center / contain no-repeat;
  mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'><rect x='2' y='6' width='14' height='12' rx='2'/><path d='M16 10l6-3.5v11L16 14z'/></svg>") center / contain no-repeat;
}
.img-placeholder--video::after{
  content: "ESPAÇO PARA VÍDEO\A" attr(data-label);
  white-space: pre-line;
}
.img-placeholder--tall{ min-height: 420px; }
.img-placeholder--wide{ min-height: 260px; }
.img-placeholder--square{ min-height: 160px; margin: 0 0 16px; }
.section--dark .img-placeholder,
.section--closing .img-placeholder{
  border-color: rgba(255,255,255,.35);
  background: repeating-linear-gradient(45deg, rgba(255,255,255,.06), rgba(255,255,255,.06) 10px, rgba(255,255,255,.1) 10px, rgba(255,255,255,.1) 20px);
  color: #cfd8ec;
}
.section--dark .img-placeholder::before,
.section--closing .img-placeholder::before{
  background-color: #b7c1d9;
}
.img-placeholder-note{
  font-size: .78rem; color: var(--gray); text-align:center; margin-top: 12px;
}

/* =============================
   WORKOUT CARDS (Como funciona)
============================= */
.workout-grid{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
  margin: 32px 0 48px;
}
.workout-grid--compact{ grid-template-columns: repeat(3, 1fr); }
.workout-grid--compact .workout-card{ text-align: center; }
.workout-grid--compact .module-card__tag{ margin-bottom: 8px; }
.workout-card{
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 18px;
  box-shadow: var(--shadow);
  transition: transform .15s ease;
}
.workout-card:hover{ transform: translateY(-4px); }
.workout-card--wide{ grid-column: span 1; }
.workout-card__num{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px; height: 40px;
  padding: 0 10px;
  border-radius: 999px;
  background: var(--navy);
  color: #fff;
  font-family: var(--font-head);
  font-weight: 800;
  font-size: .95rem;
  white-space: nowrap;
  margin-bottom: 10px;
}

.extra-grid{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
  margin: 24px 0 48px;
}
.extra-card{
  background: var(--navy-soft);
  border-radius: var(--radius);
  padding: 22px;
}
.extra-card h4{ color: var(--navy); }
.extra-card p{ color: var(--gray); font-size: .95rem; margin: 0; }

.feature-banner{
  background: linear-gradient(135deg, var(--navy), var(--navy-dark));
  color: #fff;
  border-radius: var(--radius);
  padding: 40px;
  text-align: center;
}
.feature-banner h3{ color: #fff; margin-top:0; }
.feature-banner .check-list--grid{ max-width: 640px; margin: 20px auto; text-align:left; }
.feature-banner .check-list li::before{ background: var(--gold); }
.feature-banner .check-list li::after{ border-color: var(--navy-darker); }
.feature-banner p{ color: #d7deee; }

/* =============================
   TRANSFORMATION
============================= */
.transformation__grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: center;
  margin-bottom: 40px;
}

/* =============================
   PROFILE / "PARA QUEM" CARDS
============================= */
.profile-grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
  margin: 32px 0 40px;
}
.profile-card{
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 26px;
  box-shadow: var(--shadow);
}
.profile-card__icon{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px; height: 46px;
  border-radius: 12px;
  background: var(--navy-soft);
  color: var(--navy);
  margin-bottom: 12px;
}
.profile-card p{ color: var(--gray); font-size: .95rem; margin: 0; }

.not-for-box{
  background: #fff6ec;
  border: 1px solid #ffdfb3;
  border-radius: var(--radius);
  padding: 30px;
  margin: 20px 0 40px;
}
.not-for-box h3{ margin-top:0; }

/* =============================
   QUICKTOOL CARDS (O atalho de 5 minutos)
============================= */
.quicktool-grid{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  margin: 36px 0;
}
.quicktool-card{
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: var(--radius);
  padding: 30px;
  text-align: center;
}
.quicktool-card h3{ margin-top: 6px; }
.quicktool-card p{ color: #cfd8ec; font-size: .95rem; margin: 0; }
.quicktool-card__tag{
  display:inline-block; text-transform: uppercase; letter-spacing:.06em;
  font-size:.72rem; font-weight:700; color: var(--navy-darker);
  background: var(--gold); padding: 4px 12px; border-radius: 999px;
}
.quicktool-card__icon{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px; height: 52px;
  border-radius: 50%;
  background: rgba(255,255,255,.08);
  color: var(--gold-light);
  margin-bottom: 6px;
}

/* =============================
   BONUS CARDS (3 bônus de graça)
============================= */
.bonus-grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
  margin: 36px 0;
}
.bonus-card{
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: var(--radius);
  padding: 28px;
  text-align: center;
}
.bonus-card__num{
  display:inline-block; text-transform: uppercase; letter-spacing:.06em;
  font-size:.72rem; font-weight:700; color: var(--navy-darker);
  background: var(--gold); padding: 4px 12px; border-radius: 999px; margin-bottom: 12px;
}
.bonus-card h3{ color: #fff; font-size: 1.1rem; margin-bottom: 10px; }
.bonus-card__price{ margin-bottom: 12px !important; font-family: var(--font-head); }
.bonus-card__was{ color: #8b96b8; text-decoration: line-through; font-size: .95rem; margin-right: 8px; }
.bonus-card__now{ color: var(--gold-light); font-weight: 800; font-size: 1.15rem; }
.bonus-card p:last-child{ color: #cfd8ec; font-size: .92rem; margin: 0; }

/* =============================
   MODULES (O que você recebe)
============================= */
.module-grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
  margin: 36px 0;
}
.module-card{
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: var(--radius);
  padding: 26px;
}
.module-card h4{ color: #fff; }
.module-card p{ color: #cfd8ec; font-size: .95rem; }
.module-card--highlight{
  grid-column: span 3;
  background: linear-gradient(135deg, rgba(240,168,20,.14), rgba(255,255,255,.04));
  border-color: var(--gold);
}
.module-card--highlight ul{ margin-top: 10px; }
.module-card__tag{
  display:inline-block; text-transform: uppercase; letter-spacing:.06em;
  font-size:.72rem; font-weight:700; color: var(--navy-darker);
  background: var(--gold); padding: 4px 12px; border-radius: 999px; margin-bottom: 10px;
}
.module-card__icon{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px; height: 44px;
  border-radius: 12px;
  background: rgba(255,255,255,.08);
  color: var(--gold-light);
  margin-bottom: 10px;
}

.bonus-panel{
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: 40px;
  align-items: center;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: var(--radius);
  padding: 32px;
  margin: 40px 0;
}
.bonus-panel .img-placeholder{ margin: 0; }

/* =============================
   VALUE STACK (Tudo o que você vai receber hoje)
============================= */
.value-stack{
  max-width: 560px;
  margin: 32px auto;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: var(--radius);
  padding: 6px 28px;
}
.value-stack__row{
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 16px 0;
  border-bottom: 1px dashed rgba(255,255,255,.16);
}
.value-stack__row:last-child{ border-bottom: none; }
.value-stack__item{ color: #fff; font-weight: 600; }
.value-stack__value{
  color: var(--gold-light);
  font-weight: 800;
  font-family: var(--font-head);
  white-space: nowrap;
}

.price-panel{
  text-align: center;
  background: linear-gradient(135deg, #ffffff, #f4f6fb);
  color: var(--ink);
  border-radius: 20px;
  padding: 48px 32px;
  margin-top: 30px;
  box-shadow: 0 20px 50px rgba(0,0,0,.35);
}
.price-panel__label{ font-weight: 600; color: var(--gray); margin-bottom: 4px; }
.price-panel__old{ text-decoration: line-through; color: #b0b6c4; font-weight: 700; }
.price-panel__value{
  font-family: var(--font-head);
  font-weight: 900;
  font-size: clamp(3rem, 8vw, 4.5rem);
  color: var(--navy);
  margin: 0;
  line-height: 1;
}
.price-panel__terms{ color: var(--gray); margin-bottom: 26px; font-size: .92rem; }
.price-panel .btn{ margin-top: 4px; }

.payment-badges{
  display:flex; flex-wrap:wrap; align-items:center; gap: 12px; justify-content:center; margin-top: 22px;
}
.payment-badges--footer{ justify-content:flex-start; }
.payment-badge{
  border: 1px solid var(--border);
  background: #fff;
  color: var(--gray);
  font-size: .78rem;
  font-weight: 700;
  padding: 8px 16px;
  border-radius: 8px;
  letter-spacing: .02em;
}
.hotmart-seal{ height: 34px; width: auto; display:block; }

/* =============================
   GUARANTEE
============================= */
.guarantee-panel{
  display:flex;
  align-items:center;
  gap: 36px;
  background: var(--navy-soft);
  border-radius: var(--radius);
  padding: 40px;
  margin: 30px 0 0;
}
.guarantee-seal-img{
  flex: 0 0 150px;
  width: 150px; height: 150px;
  object-fit: contain;
}
.guarantee-panel__content h2{ margin-bottom: 12px; }
/* Como o painel tem fundo claro próprio, força texto escuro
   mesmo quando usado dentro de uma seção de fundo azul-marinho */
.guarantee-panel__content h2,
.guarantee-panel__content h3{ color: var(--navy-dark); margin-bottom: 12px; }
.guarantee-panel__content p{ color: var(--ink); }

/* =============================
   ABOUT (Milena)
============================= */
.about-grid{
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: 44px;
  align-items: start;
  margin-bottom: 20px;
}
.mission-box{
  background: var(--navy);
  color: #fff;
  border-radius: var(--radius);
  padding: 34px 40px;
  margin: 30px 0;
}
.mission-box h3{ color: var(--gold-light); margin-top:0; }
.mission-box p{ color: #e4e9f5; }

/* =============================
   COMPARE TABLE
============================= */
.compare-table{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin: 30px 0 40px;
}
.compare-table__col{ border-radius: var(--radius); padding: 28px; }
.compare-table__col--other{ background: #fafafa; border: 1px solid var(--border); }
.compare-table__col--us{ background: var(--navy); color: #fff; }
.compare-table__head{ font-family: var(--font-head); font-weight: 800; font-size: 1.1rem; margin-bottom: 14px; }
.compare-table__col--other .compare-table__head{ color: var(--gray); }
.compare-table__col--us .compare-table__head{ color: var(--gold-light); }
.compare-table__col li{ padding: 10px 0 10px 30px; position:relative; border-top: 1px solid rgba(0,0,0,.06); font-size: .95rem; }
.compare-table__col--us li{ border-top: 1px solid rgba(255,255,255,.14); }
.compare-table__col--other li::before{
  content:"";
  position:absolute; left:0; top:15px;
  width:14px; height:14px;
}
.compare-table__col--other li::before{
  background:#c65252;
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round'><path d='M5 5l14 14M19 5L5 19'/></svg>") center / contain no-repeat;
  mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round'><path d='M5 5l14 14M19 5L5 19'/></svg>") center / contain no-repeat;
}
.compare-table__col--us li::before{
  content:"";
  position:absolute; left:0; top:15px;
  width:15px; height:15px;
  background: var(--gold-light);
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='M4 12l5 5L20 6'/></svg>") center / contain no-repeat;
  mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='M4 12l5 5L20 6'/></svg>") center / contain no-repeat;
}
.compare-table__col li:first-child{ border-top:none; }

/* =============================
   ACCORDION (FAQ e Objeções)
============================= */
.accordion__item{
  border: 1px solid var(--border);
  border-radius: 10px;
  margin-bottom: 12px;
  overflow: hidden;
  background: #fff;
}
.accordion__trigger{
  width: 100%;
  text-align: left;
  background: none;
  border: none;
  padding: 18px 22px;
  font-family: var(--font-head);
  font-weight: 600;
  font-size: 1rem;
  color: var(--navy-dark);
  display:flex; justify-content:space-between; align-items:center; gap: 16px;
  cursor: pointer;
}
.accordion__icon{
  position: relative;
  width: 20px; height: 20px;
  flex-shrink: 0;
  border-radius: 50%;
  background: var(--navy-soft);
  transition: transform .2s ease, background .2s ease;
}
.accordion__icon::before,
.accordion__icon::after{
  content: "";
  position: absolute;
  background: var(--navy);
  border-radius: 2px;
  transition: transform .2s ease;
}
.accordion__icon::before{ left: 5px; right: 5px; top: 9px; height: 2px; }
.accordion__icon::after{ top: 5px; bottom: 5px; left: 9px; width: 2px; }
.accordion__item.is-open .accordion__icon{ background: var(--gold); }
.accordion__item.is-open .accordion__icon::after{ transform: rotate(90deg); opacity: 0; }
.accordion__item.is-open .accordion__icon::before{ background: var(--navy-darker); }
.accordion__panel{
  max-height: 0;
  overflow: hidden;
  transition: max-height .25s ease;
  padding: 0 22px;
}
.accordion__panel p{ color: var(--gray); padding-bottom: 18px; margin:0; }
.accordion__item.is-open .accordion__panel{ max-height: 400px; }

/* Variante escura (usada na seção de Objeções, sobre fundo azul-marinho) */
.accordion--dark .accordion__item{ background: transparent; border-color: rgba(255,255,255,.16); }
.accordion--dark .accordion__trigger{ color: var(--gold-light); font-size: 1.05rem; }
.accordion--dark .accordion__panel p{ color: #cfd8ec; }
.accordion--dark .accordion__icon{ background: rgba(255,255,255,.1); }
.accordion--dark .accordion__icon::before,
.accordion--dark .accordion__icon::after{ background: var(--gold-light); }
.accordion--dark .accordion__item.is-open .accordion__icon{ background: var(--gold); }
.accordion--dark .accordion__item.is-open .accordion__icon::before{ background: var(--navy-darker); }
.accordion--dark .accordion__item.is-open .accordion__panel{ max-height: 500px; }

/* =============================
   CLOSING SECTION
============================= */
.final-offer{
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.16);
  border-radius: var(--radius);
  padding: 44px 32px;
  margin: 40px 0;
}
.final-offer h3{ color:#fff; margin-top:0; }
.final-offer__price{ font-size: 1.6rem; font-weight: 800; color: var(--gold-light); margin: 18px 0 6px; }
.final-offer .btn{ margin-top: 18px; }
.final-quote{
  font-family: var(--font-head);
  font-weight: 700;
  font-size: clamp(1.2rem, 2.6vw, 1.6rem);
  color: #fff;
  padding: 20px 0;
  border-top: 1px solid rgba(255,255,255,.18);
  border-bottom: 1px solid rgba(255,255,255,.18);
  margin: 40px 0;
}
.disclaimer{ font-size: .78rem; color: #9aa6c2; max-width: 680px; margin: 0 auto; }

/* =============================
   FOOTER
============================= */
.footer{
  background: var(--navy-darker);
  color: #b7c1d9;
  padding-bottom: 30px;
  font-size: .92rem;
}
.footer .container{ padding-top: 48px; }
.footer h4{ color: #fff; font-size: 1rem; margin-bottom: 14px; }
.footer__grid{
  display: grid;
  grid-template-columns: 1.3fr 1fr 1fr 1fr;
  gap: 36px;
  margin-bottom: 40px;
}
.footer__links li{ padding: 5px 0; }
.footer__links a{ color: #b7c1d9; }
.footer__links a:hover{ color: var(--gold-light); }
.footer p a{ color: #fff; text-decoration: underline; text-underline-offset: 2px; }
.footer p a:hover{ color: var(--gold-light); }
.footer__disclaimer{
  border-top: 1px solid rgba(255,255,255,.1);
  padding-top: 24px;
  font-size: .78rem;
  color: #7c88a8;
}
.footer__bottom{
  text-align: center;
  margin-top: 24px;
  font-size: .8rem;
  color: #7c88a8;
}

/* =============================
   RESPONSIVE
============================= */
@media (max-width: 980px){
  .hero__grid{ grid-template-columns: 1fr; }
  .hero__media{ position: static; order: -1; }
  .cta-block--center-mobile{ text-align: center; }
  .workout-grid{ grid-template-columns: repeat(2, 1fr); }
  .workout-grid--compact{ grid-template-columns: repeat(2, 1fr); }
  .extra-grid{ grid-template-columns: repeat(2, 1fr); }
  .profile-grid{ grid-template-columns: repeat(2, 1fr); }
  .module-grid{ grid-template-columns: repeat(2, 1fr); }
  .module-card--highlight{ grid-column: span 2; }
  .bonus-grid{ grid-template-columns: repeat(2, 1fr); }
  .bonus-panel{ grid-template-columns: 1fr; }
  .about-grid{ grid-template-columns: 1fr; }
  .transformation__grid{ grid-template-columns: 1fr; }
  .compare-table{ grid-template-columns: 1fr; }
  .footer__grid{ grid-template-columns: 1fr 1fr; }
}

@media (max-width: 600px){
  .section{ padding: 52px 0; }
  .workout-grid, .extra-grid, .profile-grid, .module-grid, .quicktool-grid, .workout-grid--compact, .bonus-grid{ grid-template-columns: 1fr; }
  .module-card--highlight{ grid-column: span 1; }
  .check-list--grid{ grid-template-columns: 1fr; }
  .guarantee-panel{ flex-direction: column; text-align:center; }
  .footer__grid{ grid-template-columns: 1fr; }
  .btn--large{ width: 100%; }
  body{ font-size: 16px; }
  .hero__grid{ padding-top: 16px; }
  .hero__media .img-placeholder--tall{ min-height: 280px; }
}
