.elementor-3829 .elementor-element.elementor-element-78be15c{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-3829 .elementor-element.elementor-element-668576e{width:100%;max-width:100%;}.elementor-3829 .elementor-element.elementor-element-668576e > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-3829 .elementor-element.elementor-element-405eb91{--display:flex;}/* Start custom CSS for html, class: .elementor-element-668576e *//* =========================
   HERO – AJUSTE FINAL DE CORES
   ========================= */

#sec-hero {
  background: #FFC222;
  padding: 100px 20px 120px;
  text-align: center;
  position: relative;
  overflow: hidden;
}

/* remove overlays / gradientes antigos */
#sec-hero::before,
#sec-hero::after {
  content: none !important;
}

/* container */
#sec-hero .container {
  max-width: 1100px;
  margin: 0 auto;
}

/* título principal */
.hero-title {
  font-size: clamp(2.2rem, 4vw, 3.5rem);
  font-weight: 800;
  color: #ffffff !important;
  line-height: 1.2;
  margin-bottom: 20px;
}

/* palavra destacada (japonês) */
.hero-title .text-gradient {
  color: #FF6A00 !important; /* LARANJA FORTE */
  background: none !important;
  -webkit-text-fill-color: #FF6A00 !important;
}

/* subtítulo — BRANCO FORÇADO */
.hero-subtitle {
  color: #ffffff !important;
  font-size: 1.1rem;
  max-width: 820px;
  margin: 0 auto 40px;
  line-height: 1.6;
  opacity: 1 !important;
}

/* vídeo */
.video-container {
  width: 100%;
  max-width: 900px;
  margin: 0 auto 50px;
  aspect-ratio: 16 / 9;
  border-radius: 18px;
  overflow: hidden;
  background: #ffffff;
  box-shadow: 0 25px 60px rgba(0, 0, 0, 0.25);
}

.video-container iframe {
  width: 100%;
  height: 100%;
  border: 0;
}

/* botão principal */
#sec-hero .btn-primary {
  background: #FFC222;
  color: #000000 !important;
  font-weight: 700;
  font-size: 1.05rem;
  padding: 18px 40px;
  border-radius: 14px;
  border: 2px solid #000000;
  text-decoration: none;
  display: inline-block;
  transition: all 0.25s ease;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
}

/* hover botão */
#sec-hero .btn-primary:hover {
  background: #e6ad00;
  transform: translateY(-2px);
  box-shadow: 0 14px 36px rgba(0, 0, 0, 0.35);
}

/* =========================
   RESPONSIVO
   ========================= */
@media (max-width: 768px) {
  #sec-hero {
    padding: 80px 16px 100px;
  }

  .hero-title {
    font-size: 2rem;
  }

  .hero-subtitle {
    font-size: 1rem;
  }
}
/* =====================================================
   PALETA BASE
===================================================== */
:root {
  --color-yellow: #FFC222;
  --color-yellow-dark: #e6ad00;
  --color-black: #0f0f0f;
  --color-dark: #151515;
  --color-white: #ffffff;
  --color-gray: #cfcfcf;
}

/* =====================================================
   SEÇÃO: MITOS – #sec-mitos
===================================================== */

#sec-mitos {
  background: radial-gradient(
    circle at top,
    #1b1b1b 0%,
    #0f0f0f 60%,
    #0b0b0b 100%
  );
  color: var(--color-white);
}

/* Título da seção */
#sec-mitos h2 {
  color: var(--color-white);
}

/* Cards */
#sec-mitos .myth-card {
  background: linear-gradient(
    180deg,
    #1a1a1a 0%,
    #121212 100%
  );
  border-radius: 14px;
  padding: 24px;
  border: 1px solid rgba(255, 255, 255, 0.06);
  transition: transform .3s ease, box-shadow .3s ease;
}

#sec-mitos .myth-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 30px rgba(0,0,0,.5);
}

/* Ícones */
#sec-mitos .myth-icon {
  font-size: 1.6rem;
  margin-bottom: 10px;
  color: var(--color-yellow);
}

/* 🔥 TÍTULOS QUE ERAM VERMELHOS → AMARELO */
#sec-mitos .myth-title {
  color: var(--color-yellow);
  font-weight: 700;
  margin-bottom: 8px;
}

/* Texto do card */
#sec-mitos .myth-text {
  color: var(--color-gray);
  font-size: .95rem;
  line-height: 1.5;
}

/* =====================================================
   AJUSTE GLOBAL – REMOVER VERMELHO RESIDUAL
===================================================== */

/* Qualquer vermelho herdado dentro da seção */
#sec-mitos .text-red,
#sec-mitos .danger,
#sec-mitos [style*="red"] {
  color: var(--color-yellow) !important;
}
/* ================================
   SEÇÃO: MÉTODO (sec-metodo)
   Vermelho → Amarelo
================================ */

/* Número dos passos */
#sec-metodo .step-number {
  background-color: #FFC222;
  color: #000000; /* preto para contraste */
}

/* Borda lateral dos cards */
#sec-metodo .step-card {
  border-left: 4px solid #FFC222;
}

/* Caso exista borda ou detalhe vermelho adicional */
#sec-metodo .step-card::before {
  background-color: #FFC222;
}

/* Títulos internos (se algum estiver vermelho) */
#sec-metodo .step-title {
  color: #ffffff; /* mantém branco */
}

/* Destaques numéricos ou spans internos */
#sec-metodo span,
#sec-metodo strong {
  color: inherit;
}
/* ================================
   BLOCO: 300% Aumento no Aprendizado
================================ */

/* Fundo do bloco */
#sec-metodo .method-highlight {
  background-color: #000000; /* preto */
  border: 2px solid #FFC222; /* opcional, mantém destaque elegante */
}

/* Número 300% */
#sec-metodo .method-highlight-number {
  color: #FFC222; /* amarelo */
}

/* Título */
#sec-metodo .method-highlight h3 {
  color: #ffffff; /* branco */
}

/* Texto */
#sec-metodo .method-highlight p {
  color: #ffffff; /* branco */
}
/* ==============================
   VARIÁVEIS DE CORES PADRÃO
============================== */
:root {
  --yellow-main: #FFC222;
  --yellow-strong: #FFB800;
  --black-main: #0f0f0f;
  --black-card: #161616;
  --white-main: #ffffff;
}

/* ==============================
   SESSÃO: BENEFÍCIOS
   #sec-beneficios
============================== */

#sec-beneficios {
  background: var(--black-main);
  padding: 80px 0;
}

#sec-beneficios h2 {
  color: var(--white-main);
}

/* GRID */
#sec-beneficios .benefits-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 24px;
}

/* CARD PADRÃO */
#sec-beneficios .benefit-card {
  background: var(--black-card);
  border: 1px solid rgba(255,255,255,0.2);
  border-radius: 14px;
  padding: 22px;
  text-align: center;
  transition: all 0.3s ease;
  cursor: pointer;
}

/* IMAGEM */
#sec-beneficios .benefit-card img {
  border-radius: 12px;
  margin-bottom: 16px;
}

/* TÍTULO */
#sec-beneficios .benefit-title {
  color: var(--white-main);
  margin-bottom: 10px;
}

/* TEXTO */
#sec-beneficios .benefit-description {
  color: #d1d1d1;
  font-size: 0.95rem;
  line-height: 1.6;
}

/* ==============================
   HOVER → AMARELO
============================== */

#sec-beneficios .benefit-card:hover {
  border-color: var(--yellow-main);
  box-shadow: 0 0 0 1px var(--yellow-main),
              0 10px 30px rgba(255, 194, 34, 0.25);
  transform: translateY(-4px);
}

/* TÍTULO NO HOVER */
#sec-beneficios .benefit-card:hover .benefit-title {
  color: var(--yellow-main);
}

/* TEXTO NO HOVER */
#sec-beneficios .benefit-card:hover .benefit-description {
  color: var(--white-main);
}
/* ===============================
   SESSÃO: ALUNOS + KENJI SENSEI
   Vermelho → Amarelo
   =============================== */

/* Título: "11 Mil Alunos" */
#sec-alunos h2 span,
#sec-alunos .text-gradient {
  color: #FFC222 !important;
  background: none !important;
  -webkit-text-fill-color: #FFC222 !important;
}

/* Bordas e detalhes dos cards de depoimentos */
#sec-alunos .testimonial-card:hover,
#sec-alunos .testimonial-card:focus {
  border-color: #FFC222 !important;
}

/* Borda das imagens dos alunos (se houver) */
#sec-alunos .testimonial-image img {
  border-color: #FFC222 !important;
}

/* ===============================
   SESSÃO: FALA GALERA – KENJI
   =============================== */

/* Nome "Kenji Sensei" */
#sec-professor h2 span,
#sec-professor .text-gradient {
  color: #FFC222 !important;
  background: none !important;
  -webkit-text-fill-color: #FFC222 !important;
}

/* Subtítulo em vermelho */
#sec-professor h3,
#sec-professor .instructor-bio h3 {
  color: #FFC222 !important;
}

/* Destaques em texto forte */
#sec-professor strong {
  color: #FFC222 !important;
}

/* Borda da imagem do Kenji */
#sec-professor .image-wrapper {
  border-color: #FFC222 !important;
}
/* ===============================
   SESSÃO: +150 AULAS COM ANIMES
   Vermelho → Amarelo
   =============================== */

/* Título principal */
#sec-modulos h2 {
  color: #FFC222 !important;
}

/* Número da fase (01, 02, 03...) */
#sec-modulos .module-number {
  background-color: #FFC222 !important;
  color: #000 !important;
}

/* Título da fase */
#sec-modulos .module-content h4 {
  color: #FFC222 !important;
}

/* Quantidade de aulas (30 Aulas) */
#sec-modulos .module-class-count {
  color: #FFC222 !important;
}

/* Borda lateral dos cards */
#sec-modulos .module-card {
  border-left: 4px solid #FFC222 !important;
}

/* Hover do card (se existir) */
#sec-modulos .module-card:hover {
  border-left-color: #FFC222 !important;
}
/* ===============================
   FIX FINAL – TÍTULO "+150 AULAS"
   =============================== */

#sec-modulos h2,
#sec-modulos .section-title,
#sec-modulos .modules-title,
#sec-modulos h2 span {
  color: #FFC222 !important;
}

/* Caso esteja vindo de um .text-gradient ou cor inline */
#sec-modulos h2 {
  background: none !important;
  -webkit-text-fill-color: #FFC222 !important;
}
/* ===============================
   SESSÃO: TUDO ISSO COM OS MAIORES ANIMES
   =============================== */

#sec-bonus {
  background: #0f0f0f;
  color: #ffffff;
}

/* Card principal */
#sec-bonus .bonus-card {
  background: linear-gradient(180deg, #151515, #0f0f0f);
  border: 2px solid #FFC222; /* amarelo */
  border-radius: 20px;
  padding: 40px 32px;
  text-align: center;
  box-shadow: 0 0 0 transparent;
}

/* Badge superior */
#sec-bonus .bonus-badge {
  display: inline-block;
  background: #FFC222;
  color: #000000;
  font-weight: 700;
  padding: 10px 22px;
  border-radius: 999px;
  font-size: 0.85rem;
  margin-bottom: 20px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* Imagem */
#sec-bonus .bonus-logo {
  max-width: 100%;
  border-radius: 14px;
  margin: 24px 0;
}

/* Texto padrão */
#sec-bonus .bonus-description {
  color: #e5e5e5;
  font-size: 1rem;
  line-height: 1.6;
}

/* Texto final (antes vermelho → amarelo) */
#sec-bonus .bonus-description-final {
  margin-top: 18px;
  font-weight: 700;
  color: #FFC222; /* AMARELO */
  font-size: 1.05rem;
}

/* Título da sessão (se houver destaque interno) */
#sec-bonus h2 span,
#sec-bonus strong {
  color: #FFC222;
}
/* ===============================
   SESSÃO: PREÇO (sec-preco)
   Vermelho → Amarelo
   =============================== */

#sec-preco {
  background: #0f0f0f;
  color: #ffffff;
}

/* Card do preço (borda vermelha -> amarela) */
#sec-preco .pricing-card {
  background: linear-gradient(180deg, #161616, #0f0f0f);
  border: 2px solid #FFC222 !important;
  border-radius: 22px;
  padding: 46px 34px;
  text-align: center;
  box-shadow: 0 25px 70px rgba(0,0,0,0.45);
}

/* Preço antigo (riscado) */
#sec-preco .pricing-value-old {
  color: #bdbdbd !important;
  text-decoration: line-through;
  opacity: 0.85;
}

/* "12x" (mantém branco) */
#sec-preco .pricing-installments {
  color: #ffffff !important;
  font-weight: 800;
}

/* Preço principal (R$10,03) vermelho -> amarelo */
#sec-preco .pricing-amount,
#sec-preco .pricing-amount *,
#sec-preco .pricing-main-offer {
  color: #FFC222 !important;
  -webkit-text-fill-color: #FFC222 !important;
  font-weight: 900;
}

/* Centavos (separado) */
#sec-preco .pricing-cents {
  color: #FFC222 !important;
  -webkit-text-fill-color: #FFC222 !important;
}

/* Texto "ou R$ 97,00 à vista" */
#sec-preco .pricing-cash {
  color: #e9e9e9 !important;
}

/* Botão (vermelho -> amarelo) */
#sec-preco .btn-primary {
  background: #FFC222 !important;
  color: #000000 !important;
  border: 2px solid #000000 !important;
  border-radius: 14px;
  padding: 18px 40px;
  font-weight: 900;
  text-transform: uppercase;
  box-shadow: 0 10px 30px rgba(255, 194, 34, 0.18);
  transition: all .25s ease;
  display: inline-block;
  text-decoration: none;
}

/* Hover do botão */
#sec-preco .btn-primary:hover {
  background: #e6ad00 !important;
  transform: translateY(-2px);
  box-shadow: 0 14px 38px rgba(255, 194, 34, 0.25);
}

/* Texto pequeno abaixo do botão */
#sec-preco .pricing-info {
  color: #cfcfcf !important;
}

/* Se existir algum detalhe vermelho residual nessa seção */
#sec-preco [style*="color: red"],
#sec-preco [style*="color:red"],
#sec-preco .text-gradient {
  color: #FFC222 !important;
  background: none !important;
  -webkit-text-fill-color: #FFC222 !important;
}
/* ===============================
   SESSÃO: GARANTIA (sec-garantia)
   Verde → Amarelo
   =============================== */

#sec-garantia {
  background: #0f0f0f;
  color: #ffffff;
}

/* Box principal */
#sec-garantia .guarantee-box {
  background: linear-gradient(180deg, #161616, #0f0f0f);
  border: 2px solid #FFC222;
  border-radius: 22px;
  padding: 48px 36px;
  text-align: center;
  box-shadow: 0 25px 70px rgba(0,0,0,0.45);
}

/* Ícone do escudo */
#sec-garantia .guarantee-badge {
  background: #FFC222;
  color: #000000;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 22px auto;
  box-shadow: 0 12px 30px rgba(255,194,34,0.25);
}

/* Título (verde → amarelo) */
#sec-garantia .guarantee-title {
  color: #FFC222 !important;
  font-weight: 900;
  margin-bottom: 14px;
}

/* Texto descritivo */
#sec-garantia .guarantee-description {
  color: #e5e5e5;
  font-size: 1rem;
}

/* Selos de confiança */
#sec-garantia .trust-badges {
  display: flex;
  gap: 22px;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 26px;
}

/* Cada selo */
#sec-garantia .trust-badge {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #ffffff;
  font-weight: 600;
}

/* Ícones dos selos (verde → amarelo) */
#sec-garantia .trust-icon {
  color: #FFC222 !important;
}

/* Força qualquer resquício de verde a virar amarelo */
#sec-garantia [style*="color: green"],
#sec-garantia [style*="color:#16"],
#sec-garantia [style*="color:var(--color-success)"] {
  color: #FFC222 !important;
}
/* ===============================
   SESSÃO: FAQ (sec-faq)
   Vermelho → Amarelo
   =============================== */

#sec-faq {
  background: #0f0f0f;
  color: #ffffff;
}

/* Container geral */
#sec-faq .faq-container {
  max-width: 900px;
  margin: 0 auto;
}

/* Item do FAQ */
#sec-faq .faq-item {
  border: 1.5px solid rgba(255,255,255,0.65);
  border-radius: 14px;
  margin-bottom: 16px;
  overflow: hidden;
  background: #121212;
}

/* Botão da pergunta */
#sec-faq .faq-question {
  width: 100%;
  background: transparent;
  color: #ffffff;
  font-weight: 700;
  font-size: 1rem;
  padding: 20px 22px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
  border: none;
}

/* Ícone + (vermelho -> amarelo) */
#sec-faq .faq-icon {
  color: #FFC222 !important;
  font-size: 1.4rem;
  font-weight: 900;
  transition: transform 0.25s ease;
}

/* FAQ ativo */
#sec-faq .faq-item.active .faq-icon {
  transform: rotate(45deg);
}

/* Resposta */
#sec-faq .faq-answer {
  background: #0f0f0f;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.35s ease;
}

#sec-faq .faq-item.active .faq-answer {
  max-height: 500px;
}

/* Conteúdo da resposta */
#sec-faq .faq-answer-content {
  padding: 18px 22px 22px;
  color: #e5e5e5;
  line-height: 1.6;
  font-size: 0.95rem;
}

/* Hover */
#sec-faq .faq-question:hover .faq-icon {
  color: #FFD84D !important;
}

/* Garante que nenhum vermelho sobreviva */
#sec-faq [style*="color:red"],
#sec-faq [style*="color: red"],
#sec-faq .text-gradient {
  color: #FFC222 !important;
  background: none !important;
  -webkit-text-fill-color: #FFC222 !important;
}
/* ===============================
   ÚLTIMA SESSÃO: CTA FINAL
   Vermelho → Amarelo
   =============================== */

#sec-cta-final {
  background: #0f0f0f;
  color: #ffffff;
}

/* Caixa principal (borda vermelha → amarela) */
#sec-cta-final .final-cta {
  border: 2px solid #FFC222 !important;
  border-radius: 22px;
  background: linear-gradient(135deg, #0f0f0f 0%, #171717 55%, #0f0f0f 100%) !important;
  box-shadow: 0 25px 70px rgba(0,0,0,0.45);
  text-align: center;
}

/* Título e subtítulo */
#sec-cta-final .final-cta-title {
  color: #ffffff !important;
}

#sec-cta-final .final-cta-subtitle {
  color: #e5e5e5 !important;
}

/* Botão (vermelho → amarelo) */
#sec-cta-final .btn-primary {
  background: #FFC222 !important;
  color: #000000 !important;
  border: 2px solid #000000 !important;
  border-radius: 14px;
  padding: 18px 40px;
  font-weight: 900;
  text-transform: uppercase;
  box-shadow: 0 10px 30px rgba(255,194,34,0.18);
  transition: all .25s ease;
  text-decoration: none;
  display: inline-block;
}

/* Hover do botão */
#sec-cta-final .btn-primary:hover {
  background: #e6ad00 !important;
  transform: translateY(-2px);
  box-shadow: 0 14px 38px rgba(255,194,34,0.25);
}

/* Linha de info (7 dias...) */
#sec-cta-final .final-cta-info {
  color: #cfcfcf !important;
}

/* Se sobrar algum vermelho escondido */
#sec-cta-final [style*="color:red"],
#sec-cta-final [style*="color: red"] {
  color: #FFC222 !important;
}
/* =========================
   HERO – PRIMEIRA SESSÃO
   ========================= */

#sec-hero,
.hero {
  background: #FFC222; /* amarelo principal */
}

/* TÍTULO PRINCIPAL */
.hero-title {
  color: #000000 !important; /* preto */
}

/* Palavra destacada "japonês" */
.hero-title .text-gradient {
  color: #000000 !important; /* preto */
  background: none !important;
  -webkit-text-fill-color: #000000 !important;
}

/* SUBTÍTULO */
.hero-subtitle {
  color: #000000 !important; /* preto */
}

/* TEXTO GERAL DENTRO DO HERO */
#sec-hero p,
#sec-hero span {
  color: #000000 !important;
}

/* BOTÃO PRINCIPAL */
#sec-hero .btn,
#sec-hero .btn-primary {
  background: #FFC222 !important; /* amarelo */
  color: #000000 !important;      /* texto preto */
  border: 2px solid #000000 !important;
  box-shadow: none !important;
}

/* BOTÃO HOVER */
#sec-hero .btn:hover,
#sec-hero .btn-primary:hover {
  background: #ffb300 !important; /* amarelo um pouco mais escuro */
  color: #000000 !important;
}

/* REMOVE EFEITOS AZULADOS / GLOW */
#sec-hero::before,
#sec-hero::after {
  display: none !important;
}
/* ================================
   AJUSTE DE CONTRASTE – MITOS
   ================================ */

.myths-section .myth-card p {
  color: #ffffff !important; /* branco puro */
}
.elementor-3829 .elementor-element.elementor-element-668576e .myth-card p,
.elementor-3829 .elementor-element.elementor-element-668576e .myths-section .myth-card p,
.elementor-3829 .elementor-element.elementor-element-668576e .card p {
  color: #ffffff !important;
}/* End custom CSS */
/* Start custom CSS *//* ========= KSA Landing (Versão Modificada "Cores Azuis Restauradas V2") ========= */

/* Vars + base no WRAPPER */
body.elementor-page-3829 {
  /* ===== PALETA DE CORES AZUL/AMARELO ===== */
  /* Cores Primárias (Azul) - PARA OS BOTÕES */
  --color-primary: #00BFFF; /* Azul Elétrico / Azul Céu */
  --color-primary-light: #33CCFF; /* Azul mais claro */
  --color-primary-dark: #0099CC; /* Azul mais escuro */
  
  /* Cores Secundárias (Amarelo) - PARA DESTAQUES */
  --color-secondary: #FFD700; /* Amarelo Vibrante / Ouro */
  --color-accent: #FFD700; /* Amarelo para destaque */
  --color-success: #FFD700; /* Amarelo para "sucesso" */
  
  /* Cores Base (Modo Escuro) */
  --color-dark: #0f0f10;
  --color-dark-elevated: #1a1a1b;
  --color-gray: #2d2d2f;
  --color-gray-light: #4a4a4c;
  --color-text: #f5f5f5;
  --color-text-muted: #b0b0b2;
  --color-white: #ffffff;
  /* ======================================= */

  --spacing-xs: 0.5rem;
  --spacing-sm: 1rem;
  --spacing-md: 1.5rem;
  --spacing-lg: 2.5rem;
  --spacing-xl: 4rem;
  --spacing-2xl: 6rem;
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-xl: 16px;
  --shadow-sm: 0 2px 8px rgba(0,0,0,0.3);
  --shadow-md: 0 4px 16px rgba(0,0,0,0.4);
  --shadow-lg: 0 8px 32px rgba(0,0,0,0.5);
  --transition-fast: 150ms ease;
  --transition-base: 250ms ease;
  --transition-slow: 350ms ease;
  --color-otaku-yellow: #FFD700; 
  --color-otaku-yellow-light: #FFF066;
  --color-otaku-yellow-dark: #CCAA00;

  background: var(--color-dark);
  color: var(--color-text);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  margin: 0;
  padding: 0;
}

/* ... (Todo o restante do CSS, incluindo helpers, botões, secções e media queries, está incluído abaixo como antes) ... */
body.elementor-page-3829.elementor-section { padding: 0 !important; margin: 0 !important; }
body.elementor-page-3829.elementor-section > .elementor-container { padding: 0 !important; max-width: 100% !important; margin: 0 !important; }
html, body { margin: 0 !important; padding: 0 !important; overflow-x: hidden !important; }
body.elementor-page-3829 * { box-sizing: border-box; }
body.elementor-page-3829 h1, body.elementor-page-3829 h2, body.elementor-page-3829 h3, body.elementor-page-3829 h4, body.elementor-page-3829 h5, body.elementor-page-3829 h6 { font-weight: 700; line-height: 1.2; margin-top: 0; margin-bottom: var(--spacing-md); }
body.elementor-page-3829 h1 { font-size: clamp(2rem, 5vw, 3.5rem); letter-spacing: -0.02em; }
body.elementor-page-3829 h2 { font-size: clamp(1.75rem, 4vw, 2.75rem); letter-spacing: -0.01em; }
body.elementor-page-3829 h3 { font-size: clamp(1.5rem, 3vw, 2rem); }
body.elementor-page-3829 h4 { font-size: clamp(1.25rem, 2.5vw, 1.5rem); }
body.elementor-page-3829 p { margin-top: 0; margin-bottom: var(--spacing-sm); }
body.elementor-page-3829 a { color: inherit; text-decoration: none; }
body.elementor-page-3829 .container { max-width: 1200px; margin: 0 auto; padding: 0 var(--spacing-md); }
body.elementor-page-3829 .container-narrow { max-width: 900px; margin: 0 auto; padding: 0 var(--spacing-md); }
body.elementor-page-3829 .section { padding: var(--spacing-2xl) 0; }
body.elementor-page-3829 .section-alt { background: var(--color-dark-elevated); }
body.elementor-page-3829 .text-center { text-align: center; }
body.elementor-page-3829 .text-gradient {
  background: linear-gradient(135deg, var(--color-primary-light), var(--color-primary-dark));
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
}
body.elementor-page-3829 .mb-sm { margin-bottom: var(--spacing-sm); }
body.elementor-page-3829 .mb-md { margin-bottom: var(--spacing-md); }
body.elementor-page-3829 .mb-lg { margin-bottom: var(--spacing-lg); }
body.elementor-page-3829 .mb-xl { margin-bottom: var(--spacing-xl); }
body.elementor-page-3829 .btn { display: inline-block; padding: 1rem 2.5rem; font-size: 1.125rem; font-weight: 600; border: none; border-radius: var(--radius-lg); cursor: pointer; text-transform: uppercase; letter-spacing: 0.5px; transition: transform var(--transition-base), box-shadow var(--transition-base), background-color var(--transition-base); }
body.elementor-page-3829 .btn:hover { transform: translateY(-2px); box-shadow: var(--shadow-lg); }
body.elementor-page-3829 .btn-primary { background: var(--color-primary); color: var(--color-white); }
body.elementor-page-3829 .btn-primary:hover { background: var(--color-primary-light); }
body.elementor-page-3829 .btn-large { padding: 1.25rem 3rem; font-size: 1.25rem; }
body.elementor-page-3829 .hero { padding: var(--spacing-2xl) 0; text-align: center; position: relative; overflow: hidden; }
body.elementor-page-3829 .hero::before { content: ""; position: absolute; inset: 0; background: radial-gradient(ellipse at top, rgba(0, 191, 255, 0.15), transparent 60%); pointer-events: none; }
body.elementor-page-3829 .hero-title { max-width: 1200px; margin-left: auto; margin-right: auto; }
body.elementor-page-3829 .hero-subtitle { font-size: clamp(1.125rem, 2vw, 1.5rem); color: var(--color-text-muted); margin: 0 auto var(--spacing-xl); max-width: 800px; }
body.elementor-page-3829 .video-container { max-width: 900px; margin: 0 auto var(--spacing-xl); border-radius: var(--radius-xl); overflow: hidden; background: var(--color-dark-elevated); aspect-ratio: 16/9; position: relative; box-shadow: 0 0 90px rgba(0, 191, 255, 0.35) !important; }
body.elementor-page-3829 .video-container iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0; }
body.elementor-page-3829 .hero .btn-primary.btn-large { box-shadow: 0 0 45px rgba(0, 191, 255, 0.4) !important; }
body.elementor-page-3829 .hero .btn-primary.btn-large:hover { transform: translateY(-3px); box-shadow: 0 0 75px rgba(51, 204, 255, 0.5) !important; }
body.elementor-page-3829 .myths-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: var(--spacing-lg); margin-top: var(--spacing-xl); }
body.elementor-page-3829 .myth-card { background: var(--color-dark-elevated); padding: var(--spacing-lg); border-radius: var(--radius-lg); border: 1px solid var(--color-gray); transition: transform var(--transition-base), border-color var(--transition-base); }
body.elementor-page-3829 .myth-card:hover { transform: translateY(-4px); border-color: var(--color-primary); } 
body.elementor-page-3829 .myth-icon { font-size: 1.5rem; margin-bottom: var(--spacing-md); }
body.elementor-page-3829 .myth-title { color: var(--color-primary-light); font-size: 1.25rem; margin-bottom: var(--spacing-sm); } 
body.elementor-page-3829 .myth-text { color: var(--color-text-muted); }
body.elementor-page-3829 .method-steps { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: var(--spacing-lg); margin-top: var(--spacing-xl); }
body.elementor-page-3829 .step-card { background: var(--color-dark-elevated); padding: var(--spacing-lg); border-radius: var(--radius-lg); border-left: 4px solid var(--color-primary); position: relative; }
body.elementor-page-3829 .step-number { position: absolute; top: -15px; left: var(--spacing-md); background: var(--color-primary); color: #fff; width: 40px; height: 40px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 700; }
body.elementor-page-3829 .step-title { font-size: 1.25rem; margin: var(--spacing-md) 0 var(--spacing-sm); }
body.elementor-page-3829 .step-description { color: var(--color-text-muted); }
body.elementor-page-3829 .method-highlight { background: rgba(255, 215, 0, 0.1); border: 2px solid var(--color-success); padding: var(--spacing-lg); border-radius: var(--radius-lg); text-align: center; margin-top: var(--spacing-xl); }
body.elementor-page-3829 .method-highlight-number { font-size: 3rem; font-weight: 700; color: var(--color-success); }
body.elementor-page-3829 .method-highlight p { color: var(--color-text-muted); }
body.elementor-page-3829 .benefits-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: var(--spacing-lg); margin-top: var(--spacing-xl); }
body.elementor-page-3829 .benefit-card { background: var(--color-dark-elevated); padding: var(--spacing-lg); border-radius: var(--radius-lg); border: 1px solid var(--color-gray); transition: transform var(--transition-base), box-shadow var(--transition-base), border-color var(--transition-base); display: flex; flex-direction: column; text-align: center; overflow: hidden; }
body.elementor-page-3829 .benefit-icon { margin: 0 auto var(--spacing-md); width: 200px; height: 200px; display: flex; align-items: center; justify-content: center; background-color: var(--color-gray); border-radius: var(--radius-md); overflow: hidden; }
body.elementor-page-3829 .benefit-icon img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
body.elementor-page-3829 .benefit-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); border-color: var(--color-primary); }
body.elementor-page-3829 .benefit-title { font-size: 1.25rem; margin-bottom: var(--spacing-sm); }
@keyframes scroll { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }
body.elementor-page-3829 .social-proof { text-align: center; }
body.elementor-page-3829 .testimonials-slider { max-width: 100%; overflow: hidden; position: relative; -webkit-mask-image: linear-gradient(to right, transparent, black 5%, black 95%, transparent); mask-image: linear-gradient(to right, transparent, black 5%, black 95%, transparent); }
body.elementor-page-3829 .testimonials-slider:hover .testimonials-track { animation-play-state: paused; }
body.elementor-page-3829 .testimonials-track { display: flex; gap: var(--spacing-md); animation: scroll 68s linear infinite; }
body.elementor-page-3829 .testimonial-card { flex-shrink: 0; width: 280px; background: var(--color-dark-elevated); padding: var(--spacing-md); border-radius: var(--radius-lg); border: 1px solid var(--color-gray); display: flex; flex-direction: column; align-items: center; text-align: center; }
body.elementor-page-3829 .testimonial-image { width: 80px; height: 80px; border-radius: 50%; overflow: hidden; margin-bottom: var(--spacing-md); flex-shrink: 0; border: 2px solid var(--color-primary); }
body.elementor-page-3829 .testimonial-name { font-weight: 700; font-size: 1rem; margin-bottom: var(--spacing-sm); }
body.elementor-page-3829 .testimonial-text { color: var(--color-text-muted); font-size: 0.875rem; line-height: 1.5; }
body.elementor-page-3829 .instructor { display: grid; grid-template-columns: 1fr 1.8fr; gap: var(--spacing-xl); align-items: center; }
body.elementor-page-3829 .instructor-image { width: 100%; border-radius: var(--radius-xl); overflow: hidden; }
body.elementor-page-3829 .instructor-image .image-wrapper { position: relative; width: 100%; padding-top: 125%; overflow: hidden; border-radius: var(--radius-lg); }
body.elementor-page-3829 .instructor-image img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; image-rendering: high-quality; }
body.elementor-page-3829 .instructor-bio h3 { color: var(--color-primary-light); } 
body.elementor-page-3829 .instructor-bio p { color: var(--color-text-muted); }
body.elementor-page-3829 #sec-modulos h2 { 
  font-size: 5rem; 
  font-weight: 700; 
  margin-bottom: var(--spacing-sm); 
  background: linear-gradient(135deg, var(--color-primary-light), var(--color-primary-dark)); 
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; 
}
body.elementor-page-3829 #sec-modulos .text-center.mb-xl { color: var(--color-text-muted); font-size: 1.125rem; }
body.elementor-page-3829 .modules-grid { display: grid; gap: var(--spacing-lg); margin-top: var(--spacing-xl); }
body.elementor-page-3829 .module-card { background: var(--color-dark-elevated); padding: var(--spacing-lg); border-radius: var(--radius-lg); border-left: 4px solid var(--color-primary); display: grid; grid-template-columns: auto 1fr; gap: var(--spacing-md); align-items: center; }
body.elementor-page-3829 .module-card h4 { color: var(--color-primary-light); } 
body.elementor-page-3829 .module-number { background: var(--color-primary); color: var(--color-white); width: 60px; height: 60px; border-radius: var(--radius-md); display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 1.5rem; }
body.elementor-page-3829 .module-class-count { color: var(--color-text-muted); font-size: 1rem; font-weight: 500; margin-left: 0.5rem; }
body.elementor-page-3829 .bonus-card { background: linear-gradient(135deg, rgba(0, 191, 255, 0.1), rgba(255, 215, 0, 0.1)); border: 2px solid var(--color-primary-light); padding: var(--spacing-xl); border-radius: var(--radius-xl); text-align: center; margin-top: var(--spacing-xl); max-width: 600px; margin-left: auto; margin-right: auto; }
body.elementor-page-3829 .bonus-badge { display: inline-block; background: var(--color-primary); color: var(--color-white); padding: var(--spacing-xs) var(--spacing-md); border-radius: 50px; font-weight: 700; text-transform: uppercase; font-size: 0.875rem; letter-spacing: 1px; margin-bottom: var(--spacing-md); }
body.elementor-page-3829 .bonus-logo { display: block; max-width: 450px; width: 100%; height: auto; margin: var(--spacing-lg) auto; }
body.elementor-page-3829 .bonus-description { font-size: 1.1rem; }
body.elementor-page-3829 .bonus-description-final { font-size: 1.25rem; font-weight: 600; color: var(--color-primary-light); margin-top: var(--spacing-lg); }
body.elementor-page-3829 .access-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: var(--spacing-md); margin-top: var(--spacing-xl); }
body.elementor-page-3829 .access-item { background: var(--color-dark-elevated); padding: var(--spacing-md); border-radius: var(--radius-md); border: 1px solid var(--color-gray); display: flex; align-items: center; gap: var(--spacing-md); }
body.elementor-page-3829 .access-icon { background-color: var(--color-white); color: var(--color-primary); font-weight: bold; width: 28px; height: 28px; border-radius: 4px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; font-size: 1.2rem; }

/* PREÇO */
body.elementor-page-3829 .pricing-card {
  background: var(--color-dark-elevated); 
  border: 2px solid var(--color-primary);
  border-radius: var(--radius-xl); padding: var(--spacing-xl) var(--spacing-lg);
  text-align: center; 
  box-shadow: 0 0 60px rgba(0, 191, 255, 0.3);
  max-width: 550px; margin-left: auto; margin-right: auto;
}
body.elementor-page-3829 .pricing-value-old { text-decoration: line-through; color: var(--color-text-muted); font-size: 1.125rem; margin-bottom: var(--spacing-sm); }
body.elementor-page-3829 .pricing-main-offer { display: flex; justify-content: center; align-items: baseline; gap: 0.5rem; margin: var(--spacing-md) 0 var(--spacing-xs); }
body.elementor-page-3829 .pricing-installments { font-size: 2.2rem; font-weight: 700; color: var(--color-text); }
body.elementor-page-3829 .pricing-amount {
  font-size: clamp(5rem, 12vw, 6.5rem); font-weight: 800; line-height: 1;
  background: linear-gradient(135deg, var(--color-primary-light), var(--color-primary-dark));
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
  display: inline-flex; align-items: baseline;
  /* filter: drop-shadow(0 0 15px var(--color-white)); */
}
body.elementor-page-3829 .pricing-cents { font-size: 2.5rem; font-weight: 700; margin-left: 0.1em; }
body.elementor-page-3829 .pricing-cash { font-size: 1.1rem; color: var(--color-text-muted); font-weight: 500; margin-top: var(--spacing-sm); margin-bottom: var(--spacing-xl); }
body.elementor-page-3829 .pricing-cta .btn-large { 
  width: auto; 
  max-width: none; 
  padding: 1.1rem 3rem; 
  font-size: 1.2rem; 
  border-radius: var(--radius-md); 
  margin: 0 auto; 
  display: inline-block; 
  white-space: nowrap; 
}
body.elementor-page-3829 .pricing-info { color: var(--color-text-muted); font-size: 0.9rem; margin-top: var(--spacing-lg); }
body.elementor-page-3829 .certificate-box { background: var(--color-dark-elevated); padding: var(--spacing-xl); border-radius: var(--radius-xl); border: 2px solid var(--color-accent); text-align: center; margin-top: var(--spacing-xl); }
body.elementor-page-3829 .guarantee-box { 
  background: rgba(255, 215, 0, 0.1); 
  border: 2px solid var(--color-success); 
  padding: var(--spacing-xl);
  border-radius: var(--radius-xl); 
  text-align: center; 
  margin-top: var(--spacing-xl); 
}
body.elementor-page-3829 .trust-badges { 
  display: flex; 
  justify-content: center; 
  gap: var(--spacing-lg); 
  margin-top: var(--spacing-lg); 
  flex-wrap: wrap; 
}
body.elementor-page-3829 .trust-badge { display: flex; align-items: center; gap: var(--spacing-xs); color: var(--color-text-muted); }
body.elementor-page-3829 .faq-container { max-width: 800px; margin: var(--spacing-xl) auto 0; }
body.elementor-page-3829 .faq-item { background: var(--color-dark-elevated); border: 1px solid var(--color-gray); border-radius: var(--radius-lg); margin-bottom: var(--spacing-md); overflow: hidden; }
body.elementor-page-3829 .faq-question { width: 100%; padding: var(--spacing-md) var(--spacing-lg); background: none; border: none; color: #fff; font-size: 1.125rem; font-weight: 700; text-align: left; cursor: pointer; display: flex; justify-content: space-between; align-items: center; transition: background-color var(--transition-base); }
body.elementor-page-3829 .faq-question:hover { background: var(--color-gray); }
body.elementor-page-3829 .faq-icon { font-size: 1.5rem; color: var(--color-primary); transition: transform var(--transition-base); } 
body.elementor-page-3829 .faq-item.active .faq-icon { transform: rotate(45deg); }
body.elementor-page-3829 .faq-answer { max-height: 0; overflow: hidden; transition: max-height var(--transition-slow); }
body.elementor-page-3829 .faq-answer-content { padding: 0 var(--spacing-lg) var(--spacing-lg); color: var(--color-text-muted); }
body.elementor-page-3829 .faq-item.active .faq-answer { max-height: 500px; }
/* Estilos Desktop para CTA FINAL */
body.elementor-page-3829 .final-cta { 
  background: linear-gradient(135deg, rgba(0, 191, 255, 0.15), rgba(255, 215, 0, 0.15)); 
  border: 2px solid var(--color-primary); 
  padding: var(--spacing-2xl); 
  border-radius: var(--radius-xl); 
  text-align: center; 
}
body.elementor-page-3829 .final-cta-title { font-size: 2.5rem; }
body.elementor-page-3829 .final-cta p { color: var(--color-text-muted); font-size: 0.9rem; margin-top: var(--spacing-md); }
body.elementor-page-3829 .final-cta .btn-large {
    width: auto; 
    padding: 1.25rem 3rem;
    white-space: nowrap;
    font-size: 1.05rem; 
}
body.elementor-page-3829 .final-cta-info {
  color: var(--color-text-muted);
  font-size: 0.9rem;
  margin-top: var(--spacing-md);
}

/* ================== RESPONSIVO ================== */
@media (max-width: 992px) {
  body.elementor-page-3829 .benefits-grid { grid-template-columns: repeat(auto-fit, minmax(calc(50% - var(--spacing-lg) / 2), 1fr)); }
}

@media (max-width: 768px) {
  body.elementor-page-3829 .section { padding: var(--spacing-xl) 0; }
  body.elementor-page-3829 h1 { font-size: clamp(1.75rem, 7vw, 2.25rem); }
  body.elementor-page-3829 h2 { font-size: clamp(1.5rem, 6vw, 2rem); line-height: 1.2; } 
  
  body.elementor-page-3829 #sec-modulos h2 { 
      font-size: 2.5rem; 
      line-height: 1.1; 
      margin-bottom: var(--spacing-xs); 
  }

  body.elementor-page-3829 .instructor { grid-template-columns: 1fr; text-align: center; }
  body.elementor-page-3829 .instructor-image { max-width: 250px; margin: 0 auto var(--spacing-lg); border-radius: var(--radius-lg); }
  body.elementor-page-3829 .instructor-image .image-wrapper { padding-top: 125%; border-radius: var(--radius-md); }
  body.elementor-page-3829 .instructor-image img { border-radius: var(--radius-md); }
  
  body.elementor-page-3829 .module-card { grid-template-columns: 1fr; text-align: center; }
  body.elementor-page-3829 .module-number { margin: 0 auto var(--spacing-md); }
  
  body.elementor-page-3829 .pricing-card { padding: var(--spacing-lg); max-width: 100%; }
  body.elementor-page-3829 .pricing-amount { font-size: clamp(4rem, 10vw, 5rem); }
  body.elementor-page-3829 .pricing-cents { font-size: 1.8rem; }
  body.elementor-page-3829 .pricing-cash { font-size: 1rem; }

  body.elementor-page-3829 .benefits-grid { grid-template-columns: 1fr; }
  body.elementor-page-3829 .bonus-logo { max-width: 100%; }

  body.elementor-page-3829 .bonus-card {
    padding: var(--spacing-lg); 
  }

  /* REVISADO: Botão de Preço para Mobile */
  body.elementor-page-3829 .pricing-cta .btn-large { 
    width: 100%; 
    max-width: 320px; 
    padding: 1rem 1rem; 
    font-size: 1.0rem; 
    line-height: 1.3; 
    margin-left: auto; 
    margin-right: auto;
    white-space: normal; 
  }

  /* REVISADO: Card de Garantia no mobile */
  body.elementor-page-3829 .guarantee-box {
    padding: var(--spacing-lg) var(--spacing-md); 
  }
  body.elementor-page-3829 .guarantee-box h2 { 
    font-size: 1.4rem; 
    line-height: 1.2;
  }
  body.elementor-page-3829 .guarantee-box p {
    font-size: 0.95rem; 
  }
  body.elementor-page-3829 .trust-badges {
    gap: var(--spacing-md); 
    margin-top: var(--spacing-md); 
    justify-content: center; 
  }
  body.elementor-page-3829 .trust-badge {
    font-size: 0.9rem; 
  }
  body.elementor-page-3829 .trust-badge .elementor-icon { 
      font-size: 1.1rem; 
  }
  
  /* ==== AJUSTE CTA FINAL MOBILE ==== */
  body.elementor-page-3829 .final-cta {
      padding: var(--spacing-lg) var(--spacing-md); 
  }
  body.elementor-page-3829 .final-cta-title {
      font-size: clamp(1.5rem, 6vw, 2rem); 
      line-height: 1.2;
  }
  body.elementor-page-3829 .final-cta-subtitle {
      font-size: 0.95rem; 
  }
  body.elementor-page-3829 .final-cta .btn-large {
      width: 100%; 
      max-width: 320px; 
      padding: 1rem 1rem; 
      font-size: 1.0rem; 
      white-space: normal; 
      line-height: 1.3; 
      margin-left: auto; 
      margin-right: auto;
  }
  /* ==== FIM AJUSTE CTA FINAL MOBILE ==== */
}

@media (max-width: 480px) {
  body.elementor-page-3829 .container, body.elementor-page-3829 .container-narrow { padding: 0 var(--spacing-sm); }
  body.elementor-page-3829 .btn { padding: 0.875rem 1.5rem; font-size: 1rem; }
  body.elementor-page-3829 .btn-large { padding: 1rem 1.5rem; font-size: 1.125rem; } 
  
  body.elementor-page-3829 #sec-modulos h2 { 
      font-size: 2rem; 
  }

  /* REVISADO: Botão de Preço para Telas Muito Pequenas */
  body.elementor-page-3829 .pricing-cta .btn-large {
    font-size: 0.95rem;
    padding: 0.8rem 0.8rem; 
    max-width: 280px; 
    white-space: normal; 
  }
  
  /* REVISADO: Card de Garantia para Telas Muito Pequenas */
  body.elementor-page-3829 .guarantee-box {
    padding: var(--spacing-md) var(--spacing-sm); 
  }
  body.elementor-page-3829 .guarantee-box h2 {
    font-size: 1.3rem;
  }
  body.elementor-page-3829 .guarantee-box p {
    font-size: 0.9rem;
  }
  body.elementor-page-3829 .trust-badges {
    gap: var(--spacing-sm); 
  }
  body.elementor-page-3829 .trust-badge {
    font-size: 0.85rem;
  }
  
  /* Ajuste Fino CTA Final para Telas Muito Pequenas */
  body.elementor-page-3829 .final-cta {
      padding: var(--spacing-lg) var(--spacing-sm); 
  }
   body.elementor-page-3829 .final-cta .btn-large {
     font-size: 0.95rem; 
     padding: 0.8rem 0.8rem; 
   }
}
/* A media query @media (min-width: 769px) foi removida daqui pois os estilos desktop já estão definidos acima *//* End custom CSS */