.elementor-4749 .elementor-element.elementor-element-d91c8e1{--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;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-4749 .elementor-element.elementor-element-aa4beeb{--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;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-4749 .elementor-element.elementor-element-1181be9{--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;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-4749 .elementor-element.elementor-element-d6b5d99{--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;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-4749 .elementor-element.elementor-element-a633a6a{--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;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-4749 .elementor-element.elementor-element-6bc95bb{--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;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-4749 .elementor-element.elementor-element-e61ea9e{--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;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-4749 .elementor-element.elementor-element-f919418 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-4749 .elementor-element.elementor-element-617bf42{--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;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-4749 .elementor-element.elementor-element-de387a6{--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;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-4749 .elementor-element.elementor-element-6d1fe4a{--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;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-4749 .elementor-element.elementor-element-39a4104{--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;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-4749 .elementor-element.elementor-element-148866e{--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;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-4749 .elementor-element.elementor-element-333fdd6{--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;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-4749 .elementor-element.elementor-element-5e75533{--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;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-4749 .elementor-element.elementor-element-52e9b41{--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;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-4749 .elementor-element.elementor-element-db37027{--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;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-4749 .elementor-element.elementor-element-6c60a5b{--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;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-4749 .elementor-element.elementor-element-44f6627{--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;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-4749 .elementor-element.elementor-element-5dd33fe{--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;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-4749 .elementor-element.elementor-element-065f315{--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;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}/* Start custom CSS for html, class: .elementor-element-8766328 *//* ----------------------------------------------
   HERO CONSTELAR BLACK FRIDAY — FINAL PREMIUM
------------------------------------------------ */

.hero-constelar {
  position: relative;
  padding: 100px 20px 80px;
  overflow: hidden;

  background:
    radial-gradient(circle at 60% 10%, rgba(255, 217, 90, 0.25) 0%, transparent 55%),
    radial-gradient(circle at 20% 80%, rgba(30, 144, 255, 0.32) 0%, transparent 60%),
    linear-gradient(135deg, #00060f 0%, #020817 45%, #01040c 100%);
}

/* Linha vertical dourada */
.hero-light-line {
  position: absolute;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
  width: 3px;
  height: 100%;
  background: linear-gradient(to bottom, transparent, #ffd986, transparent);
  opacity: 0.45;
  box-shadow: 0 0 25px #ffd986;
  z-index: 1;
}

/* Orb dourado seguindo o mouse */
.hero-orb {
  position: absolute;
  width: 280px;
  height: 280px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 217, 90, 0.35), transparent 70%);
  filter: blur(40px);
  pointer-events: none;
  z-index: 0;
  opacity: 0.75;
  transition: transform 0.1s linear;
}

/* Partículas do fundo */
#heroParticles {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}

/* Layout */
.hero-constelar-inner {
  position: relative;
  z-index: 2;
  max-width: 1180px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(0, 1.2fr);
  gap: 40px;
  align-items: center;
}

/* Badge Black Friday */
.hero-bf-pill {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 8px 20px;
  border-radius: 999px;
  background: linear-gradient(90deg, #ffcc1d, #f97316, #7c2d12);
  color: #020617;
  font-weight: 600;
  letter-spacing: .07em;
  text-transform: uppercase;
  box-shadow: 0 0 20px rgba(255, 217, 90, .7);
}

/* Título */
.hero-main-title {
  font-family: "Playfair Display", serif;
  font-size: clamp(2.4rem, 3.2vw, 3.4rem);
  line-height: 1.1;
  color: #f1f5f9;
  margin-bottom: 15px;
}

.hero-main-title span {
  color: #ffd95a;
}

/* Subtítulo */
.hero-subtitle {
  font-size: 1.08rem;
  max-width: 520px;
  color: #cbd5e1;
  margin-bottom: 20px;
  line-height: 1.55;
}

/* Bullets */
.hero-bullets li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  color: #e2e8f0;
  margin-bottom: 8px;
}

/* CTA */
.btn-hero-main {
  padding: 16px 36px;
  background: radial-gradient(circle, #fff6c2 0%, #ffd95a 45%, #a16207 100%);
  border-radius: 999px;
  font-weight: 700;
  text-decoration: none;
  color: #111;
  box-shadow: 0 0 25px rgba(255, 217, 90, 0.65);
  transition: .2s ease;
}

.btn-hero-main:hover {
  transform: translateY(-3px) scale(1.03);
  box-shadow: 0 0 40px rgba(255, 217, 90, .85);
}

/* CARD */
.hero-card {
  background: rgba(10, 15, 30, 0.8);
  border-radius: 22px;
  padding: 24px;
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: 0 20px 60px rgba(0,0,0,.5);
  backdrop-filter: blur(12px);
  position: relative;
}

/* LUZ INTERNA */
.hero-card::before {
  content: "";
  position: absolute;
  inset: -35%;
  background: radial-gradient(circle, rgba(255, 217, 90, 0.2), transparent 65%);
  opacity: .6;
}

/* MEC */
.hero-card-mec-pill {
  background: rgba(16, 185, 129, .1);
  border: 1px solid rgba(52, 211, 153, .4);
  padding: 7px 14px;
  border-radius: 999px;
  color: #bbf7d0;
  font-size: .82rem;
}
/* =======================================
   FIX — CORREÇÃO GLOBAL DE FONTES
   (Força o texto claro nas sessões escuras)
========================================= */

.hero-constelar,
.para-quem-xavier,
.recebe-xavier,
.bloco-metodo,
.bloco-bf,
.cta-final-xavier {
  color: #f8fafc !important;
}

/* Títulos */
.hero-constelar h1,
.hero-constelar h2,
.para-quem-xavier h2,
.recebe-xavier h2,
.bloco-metodo h2,
.cta-final-xavier h2 {
  color: #fefefe !important;
}

/* Subtítulos e textos suaves */
.hero-constelar p,
.para-quem-xavier p,
.recebe-xavier p,
.bloco-metodo p,
.cta-final-xavier p {
  color: #e5e7eb !important;
}

/* Lista do Hero */
.hero-bullets li span {
  color: #e5e7eb !important;
}

/* Ajuste dos cards da sessão PARA QUEM É */
.pq-card h3,
.pq-card p {
  color: #f8fafc !important;
}

/* Ajuste dos cards O QUE VOCÊ RECEBE */
.recebe-card h3,
.recebe-card p {
  color: #f8fafc !important;
}

/* Ícones dourados não devem mudar */
.pq-icon svg,
.rec-icon svg {
  fill: #ffd986 !important;
}
/* ============================================
   HERO CONSTELAR — CORREÇÃO RESPONSIVA MOBILE
=============================================== */

/* TABLET */
@media (max-width: 1024px) {
  .hero-constelar-inner {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .hero-left {
    order: 1;
  }

  .hero-right {
    order: 2;
    display: flex;
    justify-content: center;
  }

  .hero-card {
    max-width: 420px;
    margin: 0 auto;
  }

  /* Orb mais discreto */
  .hero-orb {
    width: 180px;
    height: 180px;
    filter: blur(30px);
  }
}

/* MOBILE */
@media (max-width: 640px) {
  .hero-constelar {
    padding: 70px 18px 60px;
  }

  /* Título ajustado */
  .hero-main-title {
    font-size: 1.9rem;
  }

  .hero-main-title span {
    display: block;
    margin-top: 6px;
  }

  /* Subtítulo */
  .hero-subtitle {
    font-size: 0.98rem;
    max-width: 320px;
    margin: 0 auto 20px;
  }

  /* Bullets */
  .hero-bullets {
    padding-left: 0;
    max-width: 340px;
    margin: 0 auto 25px;
  }

  .hero-bullets li {
    font-size: 0.95rem;
  }

  /* CTA */
  .btn-hero-main {
    padding: 14px 26px;
    font-size: 0.95rem;
  }

  .hero-cta-note {
    font-size: 0.82rem;
    margin-top: 8px;
  }

  /* CARD */
  .hero-right {
    width: 100%;
    display: flex;
    justify-content: center;
  }

  .hero-card {
    width: 100%;
    max-width: 360px;
    margin-top: 40px;
  }

  .hero-card-title {
    font-size: 1.05rem;
  }

  .hero-card-price-main {
    font-size: 1.45rem;
  }

  /* Orb desligado no mobile para evitar scroll lateral */
  .hero-orb {
    display: none;
  }

  /* Correção do scroll lateral causado pelo canvas */
  #heroParticles {
    width: 100% !important;
    left: 0 !important;
    overflow: hidden !important;
  }
}

/* EXTRA — Remover barra de rolagem horizontal */
body {
  overflow-x: hidden !important;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-418f026 *//* ===========================================
   BLOCO 2 – PARA QUEM É (versão TENET)
=========================================== */

.b2-section {
  position: relative;
  padding: 110px 20px;
  background: radial-gradient(circle at top, #0b1a26 0%, #020817 55%, #01040a 100%);
  overflow: hidden;
}

/* halos de luz no fundo */
.b2-section::before,
.b2-section::after {
  content: "";
  position: absolute;
  inset: -20%;
  pointer-events: none;
  z-index: 0;
}

.b2-section::before {
  background:
    radial-gradient(circle at 15% 10%, rgba(255, 215, 120, 0.15), transparent 60%),
    radial-gradient(circle at 80% 90%, rgba(56, 189, 248, 0.14), transparent 65%);
  opacity: 0.9;
}

.b2-section::after {
  background:
    radial-gradient(circle at 50% 0%, rgba(148, 163, 255, 0.10), transparent 70%),
    radial-gradient(circle at -10% 50%, rgba(15, 23, 42, 0.55), transparent 80%);
  mix-blend-mode: screen;
  opacity: 0.8;
}

.b2-inner {
  max-width: 1180px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}

/* HEADER */

.b2-header {
  text-align: center;
  margin-bottom: 68px;
}

.b2-heading {
  font-family: "El Messiri", "Playfair Display", serif;
  font-size: clamp(2.3rem, 3vw, 2.9rem);
  color: #f9fafb;
  letter-spacing: 0.5px;
  margin-bottom: 14px;
}

.b2-heading span {
  color: #facc15;
  text-shadow: 0 0 18px rgba(250, 204, 21, 0.7);
}

.b2-subtitle {
  max-width: 720px;
  margin: 0 auto;
  font-size: 1.12rem;
  color: #cbd5f5;
  line-height: 1.7;
}

/* GRID */

.b2-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 30px;
}

@media (max-width: 1024px) {
  .b2-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 720px) {
  .b2-grid {
    grid-template-columns: 1fr;
  }

  .b2-section {
    padding: 80px 18px;
  }
}

/* CARD – vidro elétrico + borda conic */

.b2-card {
  position: relative;
  border-radius: 22px;
  overflow: hidden;
  background: rgba(15, 23, 42, 0.92);
  backdrop-filter: blur(18px) saturate(135%);
  border: 1px solid rgba(148, 163, 184, 0.4);
  box-shadow:
    0 26px 60px rgba(0, 0, 0, 0.7),
    0 0 40px rgba(15, 23, 42, 0.8);
  transform: translateY(0);
  transition:
    transform .4s ease,
    box-shadow .4s ease,
    border-color .4s ease;
}

/* borda conic cinematográfica */
.b2-card::before {
  content: "";
  position: absolute;
  inset: -1px;
  border-radius: inherit;
  background:
    conic-gradient(
      from 210deg,
      rgba(250, 204, 21, 0.0) 0deg,
      rgba(250, 204, 21, 0.5) 90deg,
      rgba(56, 189, 248, 0.65) 160deg,
      rgba(148, 163, 255, 0.0) 220deg,
      rgba(250, 204, 21, 0.55) 290deg,
      rgba(250, 204, 21, 0.0) 360deg
    );
  opacity: 0;
  transform: scale(1.02);
  transition: opacity .5s ease;
  pointer-events: none;
}

/* glow interno seguindo o mouse */
.b2-card::after {
  content: "";
  position: absolute;
  top: var(--my, 0%);
  left: var(--mx, 50%);
  width: 260px;
  height: 260px;
  transform: translate(-50%, -40%);
  background: radial-gradient(circle, rgba(255, 220, 160, 0.26), transparent 70%);
  filter: blur(22px);
  opacity: 0;
  pointer-events: none;
  transition: opacity .25s ease-out;
  mix-blend-mode: screen;
}

.b2-card:hover {
  transform: translateY(-12px);
  box-shadow:
    0 32px 70px rgba(0, 0, 0, 0.85),
    0 0 50px rgba(15, 23, 42, 0.9);
  border-color: rgba(251, 191, 36, 0.75);
}

.b2-card:hover::before {
  opacity: 0.9;
}

.b2-card:hover::after {
  opacity: 1;
}

.b2-card-inner {
  position: relative;
  padding: 32px 30px 30px;
  z-index: 1;
}

/* ÍCONES – moldura TENET */

.b2-icon-wrap {
  position: relative;
  width: 68px;
  height: 68px;
  margin-bottom: 20px;
}

.b2-icon-aura {
  position: absolute;
  inset: -10px;
  border-radius: 22px;
  background:
    radial-gradient(circle at 20% 0%, rgba(250, 204, 21, 0.6), transparent 65%),
    radial-gradient(circle at 80% 100%, rgba(56, 189, 248, 0.4), transparent 70%);
  filter: blur(12px);
  opacity: 0.9;
  pointer-events: none;
}

.b2-icon {
  position: relative;
  width: 100%;
  height: 100%;
  border-radius: 18px;
  background: radial-gradient(circle at 0 0, #0f172a 0%, #020617 70%);
  border: 1px solid rgba(251, 191, 36, 0.9);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow:
    0 0 18px rgba(250, 204, 21, 0.7),
    0 14px 35px rgba(0, 0, 0, 0.85);
  overflow: hidden;
}

.b2-icon img {
  width: 60%;
  height: 60%;
  object-fit: contain;
  filter: drop-shadow(0 0 8px rgba(250, 204, 21, 0.8));
  transition: transform .35s ease, filter .35s ease;
}

.b2-card:hover .b2-icon img {
  transform: scale(1.08);
  filter:
    drop-shadow(0 0 12px rgba(250, 204, 21, 0.95))
    drop-shadow(0 0 20px rgba(56, 189, 248, 0.7));
}

/* TEXTOS */

.b2-title {
  font-size: 1.25rem;
  font-weight: 600;
  color: #f9fafb;
  margin-bottom: 12px;
}

.b2-desc {
  font-size: 1.02rem;
  line-height: 1.65;
  color: #cfd9de;
}

/* animação de entrada suave */

.b2-card {
  opacity: 0;
  transform: translateY(22px);
  animation: b2FadeIn .9s ease forwards;
}

.b2-card:nth-child(2) { animation-delay: .15s; }
.b2-card:nth-child(3) { animation-delay: .3s; }
.b2-card:nth-child(4) { animation-delay: .45s; }
.b2-card:nth-child(5) { animation-delay: .6s; }
.b2-card:nth-child(6) { animation-delay: .75s; }

@keyframes b2FadeIn {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-905adda *//* BLOCO MODULOS – VARIAÇÃO DARK ESTILO INSTITUTO XAVIER */

.bloco-modulos-dark {
  position: relative;
  padding: 120px 0;
  background: radial-gradient(circle at top, #12263a 0%, #050814 55%, #02040a 100%);
  overflow: hidden;
}

/* Linha vertical iluminada no centro (desktop) */
.bloco-modulos-dark::before {
  content: "";
  position: absolute;
  top: 80px;
  bottom: 80px;
  left: 50%;
  width: 2px;
  transform: translateX(-50%);
  background: linear-gradient(to bottom,
    rgba(255, 232, 150, 0),
    rgba(255, 232, 150, 0.8),
    rgba(255, 232, 150, 0)
  );
  box-shadow: 0 0 22px rgba(255, 232, 150, 0.6);
  opacity: 0.8;
  pointer-events: none;
}

.titulo-bloco {
  font-size: 42px;
  text-align: center;
  color: #f5f7ff;
  margin-bottom: 12px;
  font-weight: 800;
}

.subtitulo-bloco {
  text-align: center;
  font-size: 18px;
  max-width: 720px;
  margin: 0 auto 60px;
  color: #c4d0de;
}

/* GRID */

.grid-modulos {
  display: flex;
  flex-wrap: wrap;
  gap: 32px;
  justify-content: center;
  position: relative;
  z-index: 2;
}

/* CARDS */

.card-modulo {
  background: radial-gradient(circle at top left, #16263b 0%, #050b17 70%);
  padding: 32px 32px 30px;
  width: 410px;
  border-radius: 22px;
  border: 1px solid rgba(255, 223, 140, 0.35);
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.65);
  color: #e7f0ff;
  position: relative;

  /* animação base */
  opacity: 0;
  transform: translateY(22px);
  animation: fadeUpModulo 0.8s ease forwards;
}

/* Stagger das animações */
.card-modulo:nth-child(1) { animation-delay: 0.10s; }
.card-modulo:nth-child(2) { animation-delay: 0.18s; }
.card-modulo:nth-child(3) { animation-delay: 0.26s; }
.card-modulo:nth-child(4) { animation-delay: 0.34s; }
.card-modulo:nth-child(5) { animation-delay: 0.42s; }
.card-modulo:nth-child(6) { animation-delay: 0.50s; }
.card-modulo:nth-child(7) { animation-delay: 0.60s; }

.card-modulo::after {
  content: "";
  position: absolute;
  inset: -1px;
  border-radius: inherit;
  pointer-events: none;
  background: radial-gradient(circle at top left,
    rgba(255, 232, 150, 0.35),
    transparent 55%);
  opacity: 0;
  transition: opacity 0.3s ease;
}

.card-modulo:hover {
  transform: translateY(10px) scale(1.01);
  box-shadow: 0 24px 55px rgba(0, 0, 0, 0.85);
  border-color: #ffe98f;
}

.card-modulo:hover::after {
  opacity: 1;
}

/* topo: tag + ícone SVG */

.topo-modulo {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 16px;
}

.tag-modulo {
  display: inline-block;
  background: rgba(4, 12, 24, 0.9);
  color: #ffe98f;
  font-size: 12px;
  padding: 6px 16px;
  border-radius: 999px;
  letter-spacing: 1px;
  text-transform: uppercase;
  border: 1px solid rgba(255, 232, 150, 0.5);
}

.icon-modulo svg {
  width: 22px;
  height: 22px;
  fill: #ffdd7a;
  filter: drop-shadow(0 0 6px rgba(255, 223, 122, 0.7));
}

/* TITULO + CARGA */

.titulo-modulo {
  font-size: 21px;
  color: #fdfdfd;
  margin-bottom: 6px;
  font-weight: 700;
}

.carga-horaria {
  font-size: 13px;
  color: #b6c5d7;
  margin-bottom: 18px;
  text-transform: uppercase;
  letter-spacing: 1px;
}

/* LISTA */

.lista-modulo li {
  font-size: 15px;
  line-height: 1.7;
  margin-bottom: 8px;
  padding-left: 20px;
  position: relative;
  color: #d6e1f0;
}

.lista-modulo li::before {
  content: "";
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: radial-gradient(circle, #ffe98f 0%, #ffcc33 60%);
  position: absolute;
  left: 0;
  top: 9px;
  box-shadow: 0 0 10px rgba(255, 223, 122, 0.8);
}

/* Centraliza o último card quando ímpar */
.modulo-central {
  margin-top: 8px;
}

/* ANIMAÇÃO KEYFRAME */
@keyframes fadeUpModulo {
  0% {
    opacity: 0;
    transform: translateY(26px);
  }
  60% {
    opacity: 1;
    transform: translateY(4px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

/* RESPONSIVO */

@media (max-width: 992px) {
  .bloco-modulos-dark::before {
    display: none; /* tira a linha no mobile */
  }
}

@media (max-width: 768px) {
  .bloco-modulos-dark {
    padding: 80px 0;
  }

  .card-modulo {
    width: 100%;
  }

  .modulo-central {
    margin-top: 0;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-23cc486 *//* ==========================================================
   BLOCO MÉTODO CONSTELAR – FINAL SEM ÓRBITAS
========================================================== */

.bloco-metodo {
  position: relative;
  padding: 100px 20px;
  background: #0f1b25;
  background-image: radial-gradient(circle at top, rgba(120,120,150,0.18), transparent 70%);
  color: #f0f0f0;
  overflow: hidden;
  z-index: 1;
}

.metodo-container {
  max-width: 1200px;
  margin: 0 auto;
}

/* ----------------------------------------------------------
   TÍTULO
---------------------------------------------------------- */

.metodo-title-area {
  text-align: center;
  position: relative;
  margin-bottom: 70px;
  z-index: 10;
}

.metodo-titulo {
  font-family: 'El Messiri', sans-serif;
  font-size: 3.0rem;
  color: #dfe6ea;
  letter-spacing: 1px;
}

.metodo-sub {
  color: #b8c4ce;
  margin-top: 5px;
  font-size: 1.3rem;
}

/* Halo suave atrás do título */
.constellation-glow::after {
  content: "";
  position: absolute;
  top: -70px;
  left: 50%;
  transform: translateX(-50%);
  width: 260px;
  height: 260px;
  background-image:
    radial-gradient(circle at 30% 30%, rgba(255,255,255,0.25), transparent 55%),
    radial-gradient(circle at 70% 40%, rgba(200,220,255,0.22), transparent 60%),
    radial-gradient(circle at 50% 70%, rgba(180,200,255,0.18), transparent 60%);
  opacity: 0.22;
  filter: blur(2px);
  animation: rotateHalo 40s linear infinite;
  pointer-events: none;
}

@keyframes rotateHalo {
  from { transform: translateX(-50%) rotate(0deg); }
  to   { transform: translateX(-50%) rotate(360deg); }
}

/* ----------------------------------------------------------
   LOGO + PARALLAX
---------------------------------------------------------- */

.metodo-logo-wrapper,
.parallax-logo,
.metodo-imagem {
  position: relative;
  z-index: 20 !important;
}

.metodo-logo-wrapper {
  display: flex;
  justify-content: center;
  margin: 25px 0 10px;
}

.metodo-imagem {
  width: 220px;
  filter: drop-shadow(0 0 8px rgba(230,230,230,.55))
          drop-shadow(0 0 16px rgba(200,200,200,.35));
  transition: transform .35s ease, filter .35s ease;
}

.metodo-imagem:hover {
  transform: scale(1.05);
  filter: drop-shadow(0 0 14px rgba(255,255,255,.8))
          drop-shadow(0 0 28px rgba(200,200,200,.55));
}

/* ----------------------------------------------------------
   FAIXA DE LUZ (SHIMMER)
---------------------------------------------------------- */

.shimmer-global {
  position: absolute;
  top: 210px;
  left: 0;
  width: 100%;
  height: 200px;
  pointer-events: none;
  z-index: 3;
}

.shimmer-global::after {
  content: "";
  position: absolute;
  top: 0;
  left: -180%;
  width: 260%;
  height: 100%;
  background: linear-gradient(
    120deg,
    transparent 0%,
    rgba(255,255,255,0.25) 45%,
    transparent 100%
  );
  filter: blur(18px);
  animation: shimmerMove 6s infinite linear;
}

@keyframes shimmerMove {
  0% { left: -180%; }
  50% { left: 180%; }
  100% { left: 180%; }
}

/* ----------------------------------------------------------
   PARTÍCULAS
---------------------------------------------------------- */

.particles {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 2;
  background-image:
    radial-gradient(2px 2px at 40% 20%, rgba(255,255,255,0.28), transparent),
    radial-gradient(2px 2px at 70% 60%, rgba(255,255,255,0.22), transparent),
    radial-gradient(3px 3px at 20% 80%, rgba(255,255,255,0.18), transparent),
    radial-gradient(1px 1px at 85% 30%, rgba(255,255,255,0.35), transparent);
  animation: floatParticles 16s infinite linear;
}

@keyframes floatParticles {
  from { background-position: 0 0; }
  to   { background-position: 0 600px; }
}

/* ----------------------------------------------------------
   GRID + CARDS
---------------------------------------------------------- */

.metodo-grid {
  margin-top: 60px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 28px;
}

.metodo-card {
  padding: 28px;
  background: rgba(255,255,255,0.06);
  border-radius: 18px;
  text-align: center;
  position: relative;
  backdrop-filter: blur(6px);
  isolation: isolate;
  transition: .35s ease;
}

.metodo-card:hover {
  transform: translateY(-6px);
}

/* BRILHO PRATEADO AO PASSAR O MOUSE */
.hover-bright:hover {
  box-shadow:
    0 0 18px rgba(255,255,255,.25),
    0 0 32px rgba(180,180,200,.3),
    0 0 60px rgba(160,160,200,.25);
}

/* Ícones */
.icon-box {
  width: 60px;
  height: 60px;
  border-radius: 12px;
  margin: 0 auto 14px;
  display: flex;
  justify-content: center;
  align-items: center;
  background: rgba(180,180,200,0.12);
  border: 1px solid rgba(200,200,200,0.25);
}

.pulse-glow img {
  animation: pulseLight 4s infinite ease-in-out;
}

@keyframes pulseLight {
  0%,100% { filter: drop-shadow(0 0 4px rgba(240,240,255,0.25)); }
  50%     { filter: drop-shadow(0 0 10px rgba(255,255,255,0.55)); }
}

/* ----------------------------------------------------------
   ANIMAÇÕES DE ENTRADA (FADE)
---------------------------------------------------------- */

.fade-in,
.fade-up,
.metodo-card {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity .6s ease, transform .6s ease;
}

.fade-in.in-view,
.fade-up.in-view,
.metodo-card.in-view {
  opacity: 1;
  transform: translateY(0);
}

/* ----------------------------------------------------------
   RESPONSIVO
---------------------------------------------------------- */

@media (max-width: 768px) {
  .metodo-titulo {
    font-size: 2.4rem;
  }
  .shimmer-global {
    top: 230px;
    height: 180px;
  }
}
/* ==========================================================
   EFEITO HOVER – BRILHO PRATEADO + NEON
========================================================== */

.metodo-card.hover-bright {
  position: relative;
  overflow: hidden;
}

/* BRILHO DA BORDA (PRATA) */
.metodo-card.hover-bright::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.0);
  transition: border .3s ease, box-shadow .3s ease;
  pointer-events: none;
  z-index: 3;
}

/* NEON SUAVE (FUNDO) */
.metodo-card.hover-bright::after {
  content: "";
  position: absolute;
  inset: -20px;
  background: radial-gradient(
    circle,
    rgba(255,255,255,0.18),
    rgba(140,140,160,0.06),
    transparent 70%
  );
  opacity: 0;
  filter: blur(18px);
  transition: opacity .35s ease;
  pointer-events: none;
  z-index: 1;
}

/* HOVER – BRILHO TOTAL */
.metodo-card.hover-bright:hover::before {
  border: 1px solid rgba(255,255,255,0.55);
  box-shadow:
    0 0 8px rgba(255,255,255,0.6),
    0 0 16px rgba(255,255,255,0.35),
    0 0 28px rgba(200,200,255,0.25);
}

.metodo-card.hover-bright:hover::after {
  opacity: 1;
}

/* Ajuste do conteúdo */
.metodo-card .card-inner {
  position: relative;
  z-index: 5;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-4351261 *//* ================================
   BLOCO BLACK FRIDAY PREMIUM
================================ */

.blackfriday-section {
  background: linear-gradient(180deg, #020615, #07101f 60%, #02040f);
  padding: 120px 20px;
  text-align: center;
  position: relative;
}

.bf-container {
  max-width: 900px;
  margin: 0 auto;
}

.bf-title {
  font-family: 'El Messiri', serif;
  font-size: 2.6rem;
  color: #f7f7f7;
  margin-bottom: 10px;
}

.bf-subtitle {
  font-size: 1.2rem;
  color: #bbc3ce;
  margin-bottom: 60px;
  line-height: 1.6;
}

/* ================================
   CAIXA CENTRAL
================================ */

.bf-card {
  position: relative;
  background: rgba(10, 15, 25, 0.65);
  border-radius: 20px;
  padding: 50px 40px;
  border: 1px solid rgba(255, 215, 120, 0.25);
  box-shadow: 0 0 25px rgba(255, 215, 120, 0.12);
  overflow: hidden;
}

/* Glow dourado atrás da caixa */
.bf-card .bf-glow {
  position: absolute;
  top: -40%;
  left: 50%;
  transform: translateX(-50%);
  width: 480px;
  height: 480px;
  background: radial-gradient(circle, rgba(255,215,120,0.35), rgba(0,0,0,0));
  filter: blur(35px);
  z-index: -1;
}

.valor-antigo {
  color: #9aa3ad;
  text-decoration: line-through;
  font-size: 1rem;
  margin-bottom: 4px;
}

.valor-atual {
  color: #ffe98f;
  font-size: 2.5rem;
  margin: 6px 0;
  text-shadow: 0 0 12px rgba(255,215,120,0.45);
}

.parcelado {
  color: #cfd9e3;
  margin-bottom: 25px;
}

/* ================================
   BOTÃO ANIMADO
================================ */

.btn-bf-pulse {
  background: linear-gradient(90deg, #ffe451, #b4ff34);
  padding: 16px 40px;
  color: #0a0f17;
  border-radius: 40px;
  font-weight: 700;
  display: inline-block;
  margin-top: 10px;
  text-decoration: none;
  font-size: 1.1rem;
  transition: .3s ease;
  animation: pulseShadow 2.3s infinite ease-in-out;
}

.btn-bf-pulse:hover {
  transform: scale(1.05);
}

@keyframes pulseShadow {
  0%,100% {
    box-shadow: 0 0 18px rgba(255, 238, 150, .3);
  }
  50% {
    box-shadow: 0 0 35px rgba(255, 238, 150, .55);
  }
}

/* ================================
   INFO DO CUPOM
================================ */

.bf-infos {
  margin-top: 22px;
  font-size: .9rem;
  color: #eaeaea;
  display: flex;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
}

/* ================================
   SELO MEC
================================ */

.selo-mec {
  width: 115px;
  margin: 25px auto 0;
  filter: drop-shadow(0 0 8px rgba(255,215,120,0.35));
}

/* ================================
   ANIMAÇÕES ENTRADA
================================ */

.fade-in {
  opacity: 0;
  transition: .9s ease;
}
.fade-in.show {
  opacity: 1;
}

.slide-up {
  opacity: 0;
  transform: translateY(40px);
  transition: .9s ease;
}
.slide-up.show {
  opacity: 1;
  transform: translateY(0);
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-f919418 */.bonus-icon {
  margin-bottom: 18px;
  display: flex;
  justify-content: center;
}

.bonus-img {
  width: 62px;
  height: 62px;
  filter: drop-shadow(0 0 8px rgba(255,215,120,0.55));
  transition: transform .35s ease, filter .35s ease;
}

.bonus-card:hover .bonus-img {
  transform: scale(1.08);
  filter: drop-shadow(0 0 14px rgba(255,215,120,0.85));
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-e61ea9e *//* ================================
   BÔNUS – ESTÉTICA PREMIUM ILUMINADA
================================ */

.bonus-section {
  background: linear-gradient(180deg, #07101f, #0b1527);
  padding: 120px 20px;
  position: relative;
  text-align: center;
}

.bonus-title {
  font-family: 'El Messiri', serif;
  font-size: 2.6rem;
  color: #f4f4f4;
  margin-bottom: 10px;
}

.bonus-subtitle {
  color: #c8d0db;
  font-size: 1.15rem;
  max-width: 750px;
  margin: 0 auto 60px;
  line-height: 1.6;
}

/* ================================
   GRID DOS BÔNUS
================================ */

.bonus-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 35px;
  padding-top: 20px;
}

.bonus-card {
  background: rgba(12, 20, 32, 0.55);
  border: 1px solid rgba(255, 215, 120, 0.18);
  padding: 35px 30px;
  border-radius: 18px;
  box-shadow: 0 0 25px rgba(255, 215, 120, 0.08);
  backdrop-filter: blur(12px);
  transition: .3s ease;
  position: relative;
  overflow: hidden;
}

.bonus-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 0 35px rgba(255, 215, 120, 0.28);
}

/* Glow suave ao passar o mouse */
.bonus-card::before {
  content: "";
  position: absolute;
  width: 160px;
  height: 160px;
  top: -60px;
  right: -60px;
  background: radial-gradient(circle, rgba(255,215,120,0.25), transparent);
  filter: blur(25px);
  opacity: 0;
  transition: .3s ease;
}

.bonus-card:hover::before {
  opacity: 1;
}

.bonus-icon {
  margin-bottom: 18px;
}

.bonus-card p {
  color: #e8edf3;
  font-size: 1.05rem;
  line-height: 1.55;
}

/* ================================
   ANIMAÇÕES
================================ */

.fade-in {
  opacity: 0;
  transition: .9s ease;
}

.fade-in.show {
  opacity: 1;
}

.slide-up {
  opacity: 0;
  transform: translateY(40px);
  transition: .9s ease;
}

.slide-up.show {
  opacity: 1;
  transform: translateY(0);
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-3e3a048 *//* ==========================================
   BLOCO 6 — QUEM CONDUZ ESSA JORNADA
   Skin híbrida 2025 (Instituto Xavier)
========================================== */

.mentor-section {
  background: radial-gradient(circle at top, #111827 0%, #020617 50%, #020314 100%);
  padding: 120px 20px;
  position: relative;
  overflow: hidden;
}

/* leve textura de luz ao fundo */
.mentor-section::before {
  content: "";
  position: absolute;
  inset: -40%;
  background:
    radial-gradient(circle at 10% 20%, rgba(148, 163, 255, 0.12), transparent 60%),
    radial-gradient(circle at 80% 10%, rgba(253, 224, 171, 0.14), transparent 55%);
  opacity: 0.9;
  pointer-events: none;
}

.mentor-container {
  max-width: 1100px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}

/* TÍTULO + SUBTÍTULO */

.mentor-title {
  font-family: 'El Messiri', serif;
  font-size: 2.6rem;
  color: #f9fafb;
  text-align: center;
  margin-bottom: 12px;
  position: relative;
}

.mentor-title::after {
  content: "";
  display: block;
  width: 80px;
  height: 2px;
  margin: 14px auto 0;
  background: linear-gradient(90deg, #facc15, #a855f7);
  box-shadow: 0 0 18px rgba(250, 204, 21, 0.6);
}

.mentor-subtitle {
  text-align: center;
  font-size: 1.1rem;
  color: #cbd5f5;
  max-width: 780px;
  margin: 0 auto 60px;
  line-height: 1.65;
}

/* GRID PRINCIPAL */

.mentor-grid {
  display: grid;
  grid-template-columns: minmax(0, 340px) minmax(0, 1fr);
  gap: 48px;
  align-items: center;
}

/* FOTO + AURA + TAG */

.mentor-photo-wrapper {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
}

.mentor-photo-aura {
  position: absolute;
  width: 260px;
  height: 260px;
  border-radius: 999px;
  background: radial-gradient(circle,
    rgba(250, 204, 21, 0.35),
    rgba(56, 189, 248, 0.08),
    transparent 70%);
  filter: blur(6px);
  opacity: 0.95;
  pointer-events: none;
}

.mentor-photo-frame {
  position: relative;
  width: 230px;
  height: 230px;
  border-radius: 999px;
  padding: 4px;
  background: conic-gradient(
    from 210deg,
    rgba(250, 204, 21, 0.95),
    rgba(129, 140, 248, 0.8),
    rgba(56, 189, 248, 0.7),
    rgba(250, 204, 21, 0.95)
  );
  box-shadow:
    0 0 26px rgba(250, 204, 21, 0.55),
    0 20px 45px rgba(0, 0, 0, 0.85);
  overflow: hidden;
}

.mentor-photo-frame img {
  width: 100%;
  height: 100%;
  border-radius: inherit;
  object-fit: cover;
  filter: saturate(1.05) contrast(1.03);
}

.mentor-tag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 14px;
  border-radius: 999px;
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 1.4px;
  color: #fefce8;
  background: rgba(15, 23, 42, 0.85);
  border: 1px solid rgba(250, 204, 21, 0.6);
  box-shadow: 0 0 18px rgba(250, 204, 21, 0.4);
}

/* CARD DE TEXTO (GLASSMORPHISM) */

.mentor-text {
  background: rgba(15, 23, 42, 0.78);
  border-radius: 20px;
  padding: 30px 32px;
  border: 1px solid rgba(148, 163, 255, 0.22);
  box-shadow:
    0 22px 50px rgba(0, 0, 0, 0.75),
    0 0 40px rgba(30, 64, 175, 0.35);
  backdrop-filter: blur(16px);
  text-align: left;
}

.mentor-name {
  font-family: 'El Messiri', serif;
  font-size: 2rem;
  color: #fde68a;
  margin-bottom: 4px;
}

.mentor-role {
  font-size: 0.95rem;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: #9ca3ff;
  margin-bottom: 18px;
}

.mentor-bio,
.mentor-closing {
  font-size: 1rem;
  color: #e5e7eb;
  line-height: 1.7;
  margin-bottom: 18px;
}

.mentor-list {
  list-style: none;
  padding: 0;
  margin: 0 0 16px;
}

.mentor-list li {
  position: relative;
  padding-left: 18px;
  margin-bottom: 8px;
  font-size: 0.97rem;
  color: #cbd5f5;
}

.mentor-list li::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: radial-gradient(circle, #fde68a, #fbbf24);
  position: absolute;
  left: 0;
  top: 7px;
  box-shadow: 0 0 10px rgba(252, 211, 77, 0.8);
}

/* ANIMAÇÕES – reaproveitando fade-in / slide-up da LP */

.fade-in {
  opacity: 0;
  transition: .9s ease;
}
.fade-in.show {
  opacity: 1;
}

.slide-up {
  opacity: 0;
  transform: translateY(40px);
  transition: .9s ease;
}
.slide-up.show {
  opacity: 1;
  transform: translateY(0);
}

/* RESPONSIVO */

@media (max-width: 960px) {
  .mentor-grid {
    grid-template-columns: 1fr;
    gap: 36px;
  }

  .mentor-text {
    max-width: 640px;
    margin: 0 auto;
  }
}

@media (max-width: 640px) {
  .mentor-section {
    padding: 80px 16px;
  }

  .mentor-title {
    font-size: 2.1rem;
  }

  .mentor-photo-frame {
    width: 210px;
    height: 210px;
  }

  .mentor-text {
    padding: 22px 18px;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-7b12412 *//* ==========================================================
   CRISTIANE – GRID INVERTIDO (FOTO À DIREITA)
========================================================== */

.mentor-grid-reverse {
  grid-template-columns: minmax(0, 1fr) minmax(0, 340px);
}

@media (max-width: 960px) {
  .mentor-grid-reverse {
    grid-template-columns: 1fr;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-fd0cc4a *//* ==========================================
   BLOCO CTA FINAL — SKIN HÍBRIDA 2025
========================================== */

.cta-final-section {
  padding: 120px 20px;
  background: radial-gradient(circle at center,
    #0a0f1a 0%,
    #05070d 60%,
    #020308 100%);
  position: relative;
  text-align: center;
}

.cta-final-section::before {
  content: "";
  position: absolute;
  inset: -30%;
  background:
    radial-gradient(circle at 20% 20%, rgba(250, 204, 21, 0.16), transparent 60%),
    radial-gradient(circle at 80% 80%, rgba(148, 163, 255, 0.18), transparent 65%);
  opacity: 0.7;
  pointer-events: none;
}

.cta-container {
  max-width: 820px;
  margin: 0 auto;
  position: relative;
  z-index: 3;
}

/* ==========================================
   FAIXA DOURADA
========================================== */

.cta-ribbon {
  background: linear-gradient(90deg, #fde047, #facc15, #fbbf24);
  padding: 10px 0;
  border-radius: 999px;
  margin-bottom: 40px;
  color: #1a1a1a;
  font-weight: 700;
  font-size: 0.95rem;
  letter-spacing: 1px;
  text-transform: uppercase;
  box-shadow: 0 0 26px rgba(250, 204, 21, 0.45);
}

/* ==========================================
   CAIXA CENTRAL
========================================== */

.cta-box {
  background: rgba(15, 23, 42, 0.78);
  border: 1px solid rgba(188, 216, 255, 0.28);
  padding: 50px 40px;
  border-radius: 28px;
  backdrop-filter: blur(14px);
  box-shadow:
    0 0 40px rgba(0, 0, 0, 0.7),
    0 0 90px rgba(30, 58, 138, 0.4);
}

.cta-box h2 {
  font-family: 'El Messiri', serif;
  font-size: 2.4rem;
  color: #fef9c3;
  text-shadow: 0 0 14px rgba(250, 204, 21, 0.55);
  margin-bottom: 16px;
}

.cta-sub {
  font-size: 1.1rem;
  color: #dbeafe;
  max-width: 620px;
  margin: 0 auto 22px;
  line-height: 1.6;
}

/* SELO MEC */

.cta-mec-badge {
  display: inline-block;
  padding: 10px 20px;
  margin-bottom: 28px;
  border-radius: 12px;
  font-size: 0.85rem;
  color: #fefce8;
  background: rgba(250, 204, 21, 0.15);
  border: 1px solid rgba(250, 204, 21, 0.45);
  box-shadow: 0 0 22px rgba(250, 204, 21, 0.3);
}

/* BOTÃO */

.cta-button {
  display: inline-block;
  padding: 16px 40px;
  margin-bottom: 22px;
  background: linear-gradient(90deg, #facc15, #fbbf24);
  color: #1c1c1c;
  font-weight: 700;
  border-radius: 999px;
  text-decoration: none;
  font-size: 1.25rem;
  transition: 0.3s ease;
  box-shadow: 0 0 20px rgba(250, 204, 21, 0.45);
}

.cta-button:hover {
  transform: scale(1.06);
  box-shadow: 0 0 32px rgba(250, 204, 21, 0.65);
}

/* Efeito Pulse */
.pulse {
  animation: pulseGlow 2.2s infinite ease-in-out;
}

@keyframes pulseGlow {
  0%, 100% {
    box-shadow: 0 0 22px rgba(250, 204, 21, 0.45);
  }
  50% {
    box-shadow: 0 0 38px rgba(250, 204, 21, 0.70);
  }
}

/* Aviso final */

.cta-warning {
  color: #fcd34d;
  font-size: 0.95rem;
  margin-top: 10px;
  opacity: 0.9;
}

/* ==========================================
   RESPONSIVO
========================================== */

@media (max-width: 640px) {

  .cta-box {
    padding: 32px 24px;
  }

  .cta-box h2 {
    font-size: 2rem;
  }

  .cta-button {
    width: 100%;
    padding: 16px 0;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-c0f95ab *//* ==========================================================
   BLOCO — DEPOIMENTOS (Instituto Xavier – Estética Premium)
========================================================== */

.depoimentos-xavier {
  position: relative;
  padding: 120px 20px;
  background: #0c1d28; /* Azul profundo */
  background-image: radial-gradient(circle at top, rgba(255,215,120,0.12), transparent 60%);
  overflow: hidden;
}

/* Linha vertical iluminada */
.linha-iluminada {
  position: absolute;
  top: 0;
  left: 50%;
  width: 3px;
  height: 100%;
  transform: translateX(-50%);
  background: linear-gradient(to bottom, transparent, #ffd986, transparent);
  opacity: 0.45;
  box-shadow: 0 0 22px #ffdd8a;
}

/* Cabeçalho */
.depoimentos-header {
  text-align: center;
  margin-bottom: 70px;
}

.depoimentos-header h2 {
  font-family: "El Messiri", serif;
  font-size: 3rem;
  color: #ffdd8a;
  text-shadow: 0 0 18px rgba(255,215,120,0.4);
}

.depoimentos-header p {
  font-size: 1.4rem;
  color: #cfd9de;
  opacity: 0.9;
}

/* GRID */
.depoimentos-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
  z-index: 2;
  position: relative;
}

@media (max-width: 980px) {
  .depoimentos-grid {
    grid-template-columns: 1fr;
  }
}

/* CARD */
.depoimento-card {
  padding: 40px;
  border-radius: 18px;
  background: rgba(255,255,255,0.05);
  backdrop-filter: blur(14px);
  border: 1px solid rgba(255,215,120,0.20);
  box-shadow: 0 4px 25px rgba(0,0,0,0.35);
  transition: transform .4s ease, box-shadow .4s ease;
}

.depoimento-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 0 30px rgba(255,215,120,0.45);
}

/* Ícones dourados */
.icon-wrap {
  font-size: 2.3rem;
  color: #ffd986;
  margin-bottom: 18px;
  text-shadow: 0 0 15px rgba(255,215,120,0.7);
}

/* Texto */
.depoimento-card .texto {
  color: #f4f4f0;
  font-size: 1.25rem;
  line-height: 1.55;
  margin-bottom: 20px;
}

.depoimento-card .autor {
  color: #ffd986;
  font-size: 1.2rem;
  text-align: right;
  font-weight: 600;
}

/* Animação Fade + Slide */
.fade-slide {
  opacity: 0;
  transform: translateY(30px);
  animation: fadeSlideIn 1s ease forwards;
}

.fade-slide.delay-1 { animation-delay: .3s; }
.fade-slide.delay-2 { animation-delay: .6s; }

@keyframes fadeSlideIn {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-c2c1995 *//* ==========================================================
   BLOCO — PARA QUEM É (Instituto Xavier) — versão vidro dourado
========================================================== */

.para-quem-xavier {
  position: relative;
  padding: 120px 20px;
  background: linear-gradient(180deg, #0c1d28 0%, #0a1822 100%);
  background-image: radial-gradient(circle at top, rgba(255,215,120,0.12), transparent 70%);
  overflow: hidden;
}

/* Fio de luz central */
.para-quem-xavier .linha-iluminada {
  position: absolute;
  top: -20%;
  left: 50%;
  width: 3px;
  height: 140%;
  transform: translateX(-50%);
  background: linear-gradient(to bottom, transparent, #ffd986, transparent);
  opacity: 0.65;
  filter: blur(1px);
  box-shadow: 0 0 25px #ffd986;
  animation: pulseLinha 6s ease-in-out infinite;
}

@keyframes pulseLinha {
  0%,100% { opacity: .55; box-shadow: 0 0 20px #ffd986; }
  50%     { opacity: .9;  box-shadow: 0 0 38px #ffe9a4; }
}

/* Header */
.pq-header {
  text-align: center;
  margin-bottom: 80px;
}

.pq-header h2 {
  font-family: "El Messiri", sans-serif;
  font-size: 3rem;
  color: #ffd986;
  text-shadow: 0 0 14px rgba(255,215,120,0.6);
  letter-spacing: 0.5px;
}

.pq-header p {
  font-size: 1.35rem;
  color: #cfd9de;
  max-width: 650px;
  margin: 0 auto;
}

/* GRID */
.pq-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px;
  z-index: 2;
  position: relative;
}

@media (max-width: 1080px) {
  .pq-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 650px) {
  .pq-grid { grid-template-columns: 1fr; }
}

/* Card vidro dourado */
.pq-card {
  position: relative;
  padding: 40px;
  background: rgba(255,255,255,0.06);
  backdrop-filter: blur(18px) saturate(130%);
  border-radius: 20px;
  border: 1px solid rgba(255,215,120,0.28);
  box-shadow: 0 8px 35px rgba(0,0,0,0.45);
  transition: transform .35s ease, box-shadow .35s ease, border-color .35s;
  overflow: hidden;
}

.pq-card:hover {
  transform: translateY(-12px);
  border-color: rgba(255,215,120,0.75);
  box-shadow:
    0 0 24px rgba(255,215,120,0.65),
    0 18px 48px rgba(0,0,0,0.75);
}

/* Glow interativo seguindo o mouse */
.pq-card::after {
  content: "";
  position: absolute;
  top: var(--my, 50%);
  left: var(--mx, 50%);
  width: 220px;
  height: 220px;
  transform: translate(-50%, -50%);
  background: radial-gradient(circle, rgba(255,220,160,0.26), transparent 60%);
  filter: blur(22px);
  pointer-events: none;
  transition: opacity .25s ease-out;
  opacity: 0;
}

.pq-card:hover::after {
  opacity: 1;
}

/* Ícones – vidro dourado suave */
.pq-icon {
  position: relative;
  margin-bottom: 20px;
  display: inline-flex;
}

.pq-icon-aura {
  position: absolute;
  top: -14px;
  left: -14px;
  width: 78px;
  height: 78px;
  border-radius: 50%;
  background: radial-gradient(circle,
    rgba(255,215,120,0.4),
    rgba(255,215,120,0.08),
    transparent 70%);
  filter: blur(8px);
  z-index: -1;
}

.pq-icon svg {
  width: 52px;
  height: 52px;
  display: block;
  stroke: #ffd986;
  fill: none;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
  filter: drop-shadow(0 0 10px rgba(255,215,120,0.6));
  transition: transform .3s ease, filter .3s ease, stroke .3s ease;
}

.pq-card:hover .pq-icon svg {
  transform: scale(1.08);
  stroke: #ffe9a4;
  filter:
    drop-shadow(0 0 14px rgba(255,230,170,0.9));
}

/* Textos */
.pq-card h3 {
  color: #ffd986;
  margin-bottom: 14px;
  font-size: 1.55rem;
  text-shadow: 0 0 12px rgba(255,215,120,0.45);
}

.pq-card p {
  color: #f4f4f0;
  font-size: 1.18rem;
  line-height: 1.6;
}

/* Animações de entrada */
.fade-pq {
  opacity: 0;
  transform: translateY(24px);
  animation: fadePQ .9s ease forwards;
}

.fade-pq.delay-1 { animation-delay: .25s; }
.fade-pq.delay-2 { animation-delay: .5s; }
.fade-pq.delay-3 { animation-delay: .75s; }

@keyframes fadePQ {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-36c0202 *//* ==========================================================
   BLOCO — O QUE VOCÊ RECEBE (Versão Vidro Elétrico Premium)
========================================================== */

.recebe-xavier {
  position: relative;
  padding: 120px 20px;
  background: #0c1d28;
  background-image: radial-gradient(circle at top, rgba(180,200,255,0.12), transparent 60%);
  overflow: hidden;
}

/* Linha central iluminada */
.recebe-xavier .linha-iluminada {
  position: absolute;
  left: 50%;
  top: 0;
  width: 3px;
  height: 100%;
  transform: translateX(-50%);
  background: linear-gradient(to bottom, transparent, #d9e4ff, transparent);
  opacity: .45;
  box-shadow: 0 0 22px #d9e4ff;
}

/* Cabeçalho */
.recebe-header {
  text-align: center;
  margin-bottom: 70px;
}

.recebe-header h2 {
  font-family: "El Messiri", serif;
  font-size: 3rem;
  color: #e1e9ff;
  text-shadow: 0 0 18px rgba(200,215,255,0.4);
}

.recebe-header p {
  font-size: 1.4rem;
  color: #cfd9de;
}

/* GRID */
.recebe-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 35px;
}

@media (max-width: 1000px) {
  .recebe-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 700px) {
  .recebe-grid { grid-template-columns: 1fr; }
}

/* ----------------------------------------------------------
   CARD — VIDRO ELÉTRICO + BORDA ANIMADA SEM VAZAMENTO
---------------------------------------------------------- */

.recebe-card {
  position: relative;
  padding: 40px;
  background: rgba(255, 255, 255, 0.07);
  backdrop-filter: blur(14px);
  border-radius: 18px;
  border: 1px solid rgba(200,220,255,0.25);
  box-shadow: 0 4px 28px rgba(0,0,0,0.45);
  transition: all .35s ease;
  cursor: pointer;
  overflow: hidden; /* anti-vazamento */
  isolation: isolate;
}

/* Borda animada prateada sem vazamento */
.recebe-card::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;

  /* faixa elétrica prateada */
  background: conic-gradient(
    from 0deg,
    transparent 0deg,
    rgba(210,225,255,0.55) 80deg,
    transparent 140deg
  );

  /* recorte para impedir vazamento */
  -webkit-mask: radial-gradient(circle at center,
    transparent calc(100% - 3px),
    #fff calc(100% - 2px)
  );
  mask: radial-gradient(circle at center,
    transparent calc(100% - 3px),
    #fff calc(100% - 2px)
  );

  animation: spinElectric 6s linear infinite;
  opacity: .90;
  pointer-events: none;
}

@keyframes spinElectric {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}

/* Glow elétrico ao passar o mouse */
.recebe-card:hover {
  box-shadow:
    0 0 28px rgba(210,220,255,0.35),
    0 0 90px rgba(200,220,255,0.12);
  border-color: rgba(220,230,255,0.65);
}

/* ----------------------------------------------------------
   BRILHO INTERATIVO (segue o mouse)
---------------------------------------------------------- */

.recebe-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at var(--x) var(--y),
    rgba(210,225,255,0.28), transparent 60%);
  opacity: 0;
  transition: opacity .35s ease;
}

.recebe-card:hover::before {
  opacity: 1;
}

/* Ícone */
.rec-icon {
  margin-bottom: 18px;
  filter: drop-shadow(0 0 14px rgba(210,220,255,0.45));
}

.rec-icon img {
  width: 70px;
  height: 70px;
  object-fit: contain;
  filter: drop-shadow(0 0 10px rgba(210,225,255,0.45));
  transition: transform .3s ease, filter .3s ease;
}

.recebe-card:hover .rec-icon img {
  transform: scale(1.12);
  filter: drop-shadow(0 0 16px rgba(220,230,255,0.85));
}

/* Título */
.recebe-card h3 {
  font-size: 1.55rem;
  color: #e3eaff;
  margin-bottom: 18px;
  text-shadow: 0 0 12px rgba(210,220,255,0.4);
}

/* Texto */
.recebe-card p {
  color: #f4f4f0;
  font-size: 1.25rem;
  line-height: 1.55;
}

/* Animação de entrada */
.fade-rec {
  opacity: 0;
  transform: translateY(28px);
  animation: fadeRec .9s ease forwards;
}

.fade-rec.delay-1 { animation-delay: .2s; }
.fade-rec.delay-2 { animation-delay: .4s; }
.fade-rec.delay-3 { animation-delay: .6s; }
.fade-rec.delay-4 { animation-delay: .8s; }
.fade-rec.delay-5 { animation-delay: 1s; }

@keyframes fadeRec {
  to { opacity: 1; transform: translateY(0); }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-0aea89c *//* ==========================================================
   BLOCO — GARANTIA 7 DIAS
========================================================== */

.garantia-xavier {
  padding: 120px 20px;
  background: #0c1d28;
  background-image: radial-gradient(circle at top, rgba(255,215,120,0.12), transparent 60%);
  position: relative;
}

.garantia-container {
  max-width: 1100px;
  margin: 0 auto;
}

.garantia-box {
  display: flex;
  align-items: center;
  gap: 40px;
  padding: 60px;
  background: rgba(255,255,255,0.07);
  border: 1px solid rgba(255,215,120,0.35);
  border-radius: 18px;
  backdrop-filter: blur(16px);
  box-shadow: 0 0 34px rgba(255,215,120,0.3);
  position: relative;
}

@media (max-width: 900px) {
  .garantia-box {
    flex-direction: column;
    text-align: center;
    padding: 50px 30px;
  }
}

/* Selo */
.garantia-selo img {
  width: 180px;
  filter: drop-shadow(0 0 18px rgba(255,215,120,0.8));
  animation: pulseSelo 3s ease-in-out infinite;
}

@keyframes pulseSelo {
  0% { transform: scale(1); }
  50% { transform: scale(1.04); }
  100% { transform: scale(1); }
}

/* Texto */
.garantia-texto h2 {
  font-family: "El Messiri", serif;
  font-size: 2.8rem;
  color: #ffd986;
  margin-bottom: 18px;
  text-shadow: 0 0 18px rgba(255,215,120,0.4);
}

.garantia-texto p {
  font-size: 1.35rem;
  color: #e7e7e7;
  line-height: 1.6;
}

.garantia-sub {
  margin-top: 25px;
  font-size: 1.3rem;
  color: #ffd986;
  font-weight: 600;
  text-shadow: 0 0 12px rgba(255,215,120,0.4);
}

/* Animação de entrada */
.fade-gar {
  opacity: 0;
  transform: translateY(28px);
  animation: fadeGar .9s ease forwards;
}

@keyframes fadeGar {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-0fb4558 *//* ==========================================================
   CTA FINAL — BLOCO DE CONVERSÃO • INSTITUTO XAVIER
========================================================== */

.cta-final {
  padding: 120px 20px;
  background: #0c141c;
  background-image: radial-gradient(
      circle at top center,
      rgba(255, 215, 120, 0.08),
      transparent 70%
  );
  text-align: center;
  color: #e9eef2;
  position: relative;
}

.cta-container {
  max-width: 800px;
  margin: auto;
  padding: 40px 30px;
  border-radius: 22px;

  background: rgba(255, 255, 255, 0.05);
  backdrop-filter: blur(14px);
  border: 1px solid rgba(255,255,255,0.08);

  box-shadow: 0 0 22px rgba(255, 216, 120, 0.10),
              inset 0 0 28px rgba(255,255,255,0.04);
}

/* Badge */
.cta-badge {
  display: inline-block;
  padding: 10px 24px;
  border-radius: 999px;
  color: #ffe8a6;
  font-weight: 700;
  border: 1px solid rgba(255, 232, 180, 0.35);
  background: rgba(255,255,255,0.06);
  margin-bottom: 25px;
  letter-spacing: 1px;
}

/* Título */
.cta-title {
  font-family: 'El Messiri', sans-serif;
  font-size: 2.4rem;
  margin-bottom: 18px;
  color: #fafafa;
  text-shadow: 0 0 14px rgba(255,255,255,0.15);
}

/* Descrição */
.cta-desc {
  font-size: 1.2rem;
  color: #cdd7de;
  max-width: 650px;
  margin: 0 auto 32px;
  line-height: 1.6;
}

/* Botão */
.cta-button {
  display: inline-block;
  padding: 16px 40px;
  background: linear-gradient(90deg, #ffe38a, #ffcb3c);
  color: #1c1c1c;
  border-radius: 32px;
  font-weight: 800;
  font-size: 1.2rem;
  text-decoration: none;
  box-shadow: 0 0 22px rgba(255, 225, 140, .45);
  transition: .35s ease;
}

.cta-button:hover {
  transform: scale(1.05);
  box-shadow: 0 0 32px rgba(255, 225, 140, .75);
}

/* Animação pulsante */
.pulse {
  animation: pulseBtn 2.6s infinite ease-in-out;
}

@keyframes pulseBtn {
  0%,100% { box-shadow: 0 0 22px rgba(255,225,140,.45); }
  50%     { box-shadow: 0 0 38px rgba(255,225,140,.75); }
}

/* Selo */
.cta-garantia {
  width: 120px;
  margin: 30px auto 0;
  opacity: .9;
  filter: drop-shadow(0 0 6px rgba(255,255,255,0.15));
}

/* Animação fade-up */
.fade-up {
  animation: fadeUp 1s ease both;
}

@keyframes fadeUp {
  from { opacity: 0; transform: translateY(28px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Responsivo */
@media (max-width: 600px) {
  .cta-title {
    font-size: 1.9rem;
  }
  .cta-button {
    font-size: 1.05rem;
    padding: 14px 30px;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-7ee95e9 *//* ==========================================================
   BLOCO 9 — FAQ PREMIUM • INSTITUTO XAVIER
========================================================== */

.faq-bloco {
  padding: 120px 20px;
  background: #0a1219;
  background-image: linear-gradient(
    to bottom,
    rgba(255,255,255,0.05),
    transparent 60%
  );
  color: #f4f4f4;
}

.faq-container {
  max-width: 850px;
  margin: auto;
  text-align: center;
}

/* ◆ Título */
.faq-titulo {
  font-family: 'El Messiri', sans-serif;
  font-size: 2.6rem;
  margin-bottom: 10px;
  text-shadow: 0 0 18px rgba(160,160,200,0.25);
}

.faq-sub {
  font-size: 1.2rem;
  color: #d0d6db;
  margin-bottom: 40px;
}

/* ◆ Lista */
.faq-lista {
  margin-top: 20px;
}

/* ◆ Item */
.faq-item {
  margin-bottom: 18px;
  border-bottom: 1px solid rgba(255,255,255,0.12);
  padding-bottom: 12px;
}

/* ◆ Pergunta */
.faq-pergunta {
  width: 100%;
  background: none;
  border: none;
  text-align: left;
  padding: 14px 0;
  font-size: 1.25rem;
  color: #f4f4f4;
  font-weight: 600;
  cursor: pointer;

  display: flex;
  justify-content: space-between;
  align-items: center;

  transition: color .3s ease;
}

.faq-pergunta:hover {
  color: #ffe38a;
}

/* Ícone */
.faq-icone {
  font-size: 1.6rem;
  color: #ffe38a;
  transition: transform .3s ease;
}

/* ◆ Resposta */
.faq-resposta {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  line-height: 1.6;
  color: #e5e8eb;

  transition: 
    max-height .5s ease,
    opacity .3s ease;
}

.faq-item.ativo .faq-resposta {
  max-height: 500px;
  opacity: 1;
}

.faq-item.ativo .faq-icone {
  transform: rotate(45deg);
}

/* Fade */
.fade-up {
  animation: fade-up 1s ease both;
}
@keyframes fade-up {
  from { opacity: 0; transform: translateY(25px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Responsivo */
@media (max-width: 600px) {
  .faq-pergunta { font-size: 1.1rem; }
  .faq-titulo   { font-size: 2.2rem; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-74bc864 *//* =====================================================
   SESSÃO — GRUPO VIP BLACK FRIDAY
===================================================== */

.sessao-vip {
  padding: 100px 20px;
  background: linear-gradient(
    180deg,
    #020617,
    #030b18,
    #020617
  );
  position: relative;
  overflow: hidden;
  text-align: center;
}

/* Orb dourado ao fundo */
.sessao-vip::before {
  content: "";
  position: absolute;
  top: -80px;
  left: 50%;
  transform: translateX(-50%);
  width: 420px;
  height: 420px;
  background: radial-gradient(circle,
    rgba(255,217,90,0.25),
    transparent 65%);
  filter: blur(40px);
  pointer-events: none;
}

.vip-inner {
  max-width: 780px;
  margin: 0 auto;
  position: relative;
  z-index: 2;
}

.vip-titulo {
  font-family: "Playfair Display", serif;
  font-size: clamp(2rem, 3vw, 2.8rem);
  color: #f1f5f9;
  margin-bottom: 18px;
}

.vip-sub {
  color: #cbd5e1;
  font-size: 1.15rem;
  line-height: 1.7;
  margin-bottom: 35px;
}

/* BOTÃO VIP */
.vip-botao {
  display: inline-block;
  padding: 16px 38px;
  background: linear-gradient(90deg, #ffe38a, #d6ad3a, #ffe38a);
  color: #000;
  font-weight: 700;
  font-size: 1.1rem;
  border-radius: 999px;
  text-decoration: none;
  box-shadow: 0 0 25px rgba(255,217,90,0.55);
  transition: .2s ease-in-out;
}

.vip-botao:hover {
  transform: translateY(-3px) scale(1.03);
  box-shadow: 0 0 45px rgba(255,217,90,0.85);
}

/* Nota inferior */
.vip-note {
  margin-top: 20px;
  color: #94a3b8;
  font-size: .98rem;
}

/* Animação do botão (já usada no rodapé e compatível) */
.pulse-gold {
  animation: pulse-gold 2.1s infinite ease-in-out;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-4ae6b30 *//* ==========================================================
   RODAPÉ BLACK FRIDAY — INSTITUTO XAVIER (VERSÃO PREMIUM)
========================================================== */

.rodape-xavier {
  background: linear-gradient(180deg, #04070c 0%, #02040a 60%, #000000 100%);
  padding: 0;
  color: #e7e7e7;
  position: relative;
  overflow: hidden;
}

/* --- FAIXA BLACK FRIDAY --- */
.rodape-faixa {
  background: linear-gradient(90deg, #ffe38a, #f1c857, #d2aa3f, #ffe38a);
  padding: 12px 0;
  text-align: center;
  font-weight: 800;
  letter-spacing: 1.2px;
  color: #000;
  text-transform: uppercase;
  font-size: 1rem;
  box-shadow: 0 0 25px rgba(255,227,138,0.5);
}

.glow-line {
  animation: glowMove 6s linear infinite;
}

@keyframes glowMove {
  from { filter: brightness(1); }
  to   { filter: brightness(1.25); }
}

/* --- CONTAINER --- */
.rodape-container {
  max-width: 1250px;
  margin: auto;
  padding: 70px 20px 90px;
  display: flex;
  justify-content: space-between;
  gap: 80px;
  flex-wrap: wrap;
}

/* --- COLUNAS --- */
.rodape-col {
  flex: 1;
  min-width: 300px;
}

/* --- TÍTULO --- */
.rodape-titulo {
  font-family: "Playfair Display", serif;
  font-size: 2.4rem;
  color: #fefefe;
  margin-bottom: 15px;
}

/* --- SUBTÍTULO --- */
.rodape-sub {
  font-size: 1.15rem;
  line-height: 1.7;
  color: #d7d7d7;
  margin-bottom: 32px;
}

/* --- CTA --- */
.rodape-cta {
  display: inline-block;
  background: linear-gradient(90deg, #ffe38a, #d9b245);
  padding: 16px 38px;
  color: #000;
  font-weight: 800;
  border-radius: 10px;
  text-decoration: none;
  font-size: 1.1rem;
  box-shadow: 0 0 22px rgba(255,227,138,0.45);
}

.btn-glow:hover {
  transform: translateY(-3px);
  box-shadow: 0 0 35px rgba(255,227,138,0.9);
}

.btn-glow {
  transition: all .2s ease-out;
}

/* --- SELO --- */
.selo-garantia {
  width: 130px;
  margin-top: 30px;
  filter: drop-shadow(0 0 15px rgba(255,255,255,0.25));
}

/* --- LOGO --- */
.logo-wrapper {
  width: 180px;
  height: 180px;
  border-radius: 50%;
  margin: 0 auto;
  position: relative;
  overflow: visible;
}

.logo-glow {
  position: absolute;
  inset: -20px;
  background: radial-gradient(circle, rgba(255,217,90,0.18), transparent 70%);
  filter: blur(18px);
  border-radius: 50%;
  z-index: 0;
}

.logo-img {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  object-fit: cover;
  border: 1px solid rgba(255,255,255,0.25);
  box-shadow: 0 10px 30px rgba(0,0,0,0.4);
  position: relative;
  z-index: 2;
}

/* --- TEXTOS INFERIORES --- */
.assinatura,
.direitos {
  text-align: center;
  color: #bfbfbf;
  margin-top: 16px;
  font-size: .92rem;
}

/* --- ANIMAÇÃO DE ENTRADA --- */
.fade-up {
  animation: fade-up 1.1s ease both;
}
@keyframes fade-up {
  from { opacity: 0; transform: translateY(38px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* --- RESPONSIVO --- */
@media (max-width: 840px) {
  .rodape-container {
    flex-direction: column;
    text-align: center;
    gap: 50px;
  }
  .rodape-col {
    margin-bottom: 20px;
  }
}
/* =====================================================================
   RODAPÉ PREMIUM — LINHA DE LUZ + ASSINATURA DOURADA
===================================================================== */

.rodape-xavier {
  background: #060b11;
  padding: 0;
  color: #e7e7e7;
  position: relative;
  background-image: linear-gradient(
    to bottom,
    rgba(255,255,255,0.04),
    transparent
  );
}

/* Faixa Black Friday */
.rodape-faixa {
  background: linear-gradient(90deg, #ffe38a, #d2aa3f, #ffe38a);
  color: #000;
  text-align: center;
  padding: 10px 0;
  font-weight: 700;
  letter-spacing: 1px;
  font-size: 1rem;
  text-shadow: 0 0 4px rgba(255,255,255,0.5);
}

/* Container */
.rodape-container {
  max-width: 1200px;
  margin: auto;
  padding: 60px 20px 90px;
  display: grid;
  grid-template-columns: 1fr 30px 1fr;
  align-items: center;
  gap: 40px;
  position: relative;
}

/* LINHA DE LUZ DIVISÓRIA */
.rodape-divider {
  width: 3px;
  height: 320px;
  margin: 0 auto;
  background: linear-gradient(
    to bottom,
    transparent,
    #ffd986,
    #ffd986,
    transparent
  );
  border-radius: 50px;
  box-shadow: 0 0 22px #ffd986, 0 0 60px rgba(255,217,90,0.5);
  animation: glowPulse 3s ease-in-out infinite;
}

@keyframes glowPulse {
  0%, 100% { opacity: .8; box-shadow: 0 0 18px #ffd986; }
  50% { opacity: 1; box-shadow: 0 0 45px #ffd986; }
}

/* COLUNAS */
.rodape-col {
  text-align: center;
}

/* Título */
.rodape-titulo {
  font-family: 'El Messiri', sans-serif;
  font-size: 2rem;
  margin-bottom: 12px;
}

/* Subtexto */
.rodape-sub {
  font-size: 1.1rem;
  line-height: 1.6;
  color: #d1d1d1;
  margin-bottom: 28px;
}

/* CTA */
.rodape-cta {
  display: inline-block;
  background: linear-gradient(90deg, #ffe38a, #d2aa3f);
  padding: 14px 30px;
  color: #000;
  font-weight: 700;
  border-radius: 8px;
  text-decoration: none;
  box-shadow: 0 0 18px rgba(255,227,138,0.4);
  transition: transform .2s ease;
}

.rodape-cta:hover {
  transform: scale(1.05);
}

.pulse-gold {
  animation: pulse-gold 2s infinite ease-in-out;
}
@keyframes pulse-gold {
  0%,100% { box-shadow: 0 0 14px rgba(255,227,138,0.3); }
  50%     { box-shadow: 0 0 25px rgba(255,227,138,0.6); }
}

/* SEL0 */
.selo-garantia {
  width: 120px;
  margin-top: 25px;
  filter: drop-shadow(0 0 10px rgba(255,255,255,0.2));
}

/* FOTO */
.logo-wrapper {
  width: 200px;
  height: 200px;
  border-radius: 50%;
  overflow: hidden;
  margin: 0 auto 10px auto;
  border: 2px solid rgba(255,255,255,0.2);
  box-shadow: 0 0 25px rgba(255,217,90,0.35);
}

.logo-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ASSINATURA PREMIUM */
.assinatura-xavier {
  width: 180px;
  margin: 10px auto 0;
  display: block;
  filter: drop-shadow(0 0 12px rgba(255,217,90,0.35));
}

/* Textos inferiores */
.assinatura,
.direitos {
  color: #bfbfbf;
  margin-top: 6px;
  font-size: .9rem;
}

/* Fade */
.fade-up {
  animation: fade-up 1s ease both;
}
@keyframes fade-up {
  from { opacity: 0; transform: translateY(25px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* MOBILE */
@media (max-width: 840px) {
  .rodape-container {
    grid-template-columns: 1fr;
    text-align: center;
    gap: 50px;
  }

  .rodape-divider {
    display: none;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-5788c76 *//* ======================================
   FAIXA BLACK FRIDAY TOPO (ANIMADA)
====================================== */

.bf-strip {
  position: relative;
  z-index: 30;
  width: 100%;
  overflow: hidden;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.6);
}

.bf-strip-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  padding: 10px 16px;

  background: linear-gradient(
    120deg,
    #facc15,
    #f97316,
    #facc15,
    #fbbf24
  );
  background-size: 260% 100%;
  animation: bfStripMove 8s linear infinite;

  color: #111827;
  font-size: 0.9rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.bf-strip .bf-text {
  text-align: center;
  white-space: nowrap;
}

/* Emojis laterais */
.bf-strip .bf-emoji {
  font-size: 1rem;
}

/* Animação do degradê passando */
@keyframes bfStripMove {
  0% {
    background-position: 0% 50%;
  }
  100% {
    background-position: 260% 50%;
  }
}

/* Responsivo: ajusta texto no mobile */
@media (max-width: 640px) {
  .bf-strip-inner {
    font-size: 0.78rem;
    padding: 8px 10px;
    letter-spacing: 0.12em;
  }

  .bf-strip .bf-text {
    white-space: normal;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-f0000ba *//* ===========================
   TENET++ v2 — Sem fotos
   Estética Origens / Cinemática TENET
=========================== */

.tenet-popup {
  position: fixed;
  bottom: 35px;
  left: 35px;
  display: flex;
  align-items: center;
  gap: 18px;

  background: rgba(12, 24, 33, 0.82);
  border: 1px solid rgba(227,197,144,0.45);
  padding: 16px 22px;
  border-radius: 18px;
  width: 330px;

  backdrop-filter: blur(14px) saturate(180%);
  box-shadow: 
      0 0 28px rgba(227,197,144,0.18),
      inset 0 0 18px rgba(227,197,144,0.12);

  transform: translateY(45px) rotateX(50deg) scale(.82);
  opacity: 0;
  transition: all .9s cubic-bezier(.12,.62,.14,1.14);
  z-index: 999999;
}

/* BARRA DOURADA — assinaturas Xavier */
.tenet-bar {
  width: 6px;
  height: 58px;
  border-radius: 10px;
  background: linear-gradient(180deg,#FFD95A,#E3C590);
  box-shadow: 0 0 14px rgba(255,217,90,.55);
  animation: tenetBarFlow 3s infinite ease-in-out;
}

@keyframes tenetBarFlow {
  0%,100% { filter: brightness(1); height: 58px; }
  50% { filter: brightness(1.25); height: 70px; }
}

.tenet-popup.show {
  opacity: 1;
  transform: translateY(0) rotateX(0deg) scale(1);
}

.tenet-popup.hide-reverse {
  opacity: 0;
  transform: translateY(40px) rotateX(-60deg) scale(.75);
}

/* TEXTO */
.tenet-text strong {
  color: #FFD95A;
  font-size: 1.15rem;
  display: block;
}

.tenet-text span {
  color: #fff;
  opacity: .85;
  font-size: .95rem;
}

.tenet-msg {
  margin-top: 4px;
  font-size: .90rem;
  color: #E3C590;
}

/* ===========================
   VIEWERS
=========================== */

.tenet-viewers {
  position: fixed;
  bottom: 115px;
  left: 35px;

  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(227,197,144,0.38);
  padding: 12px 18px;
  border-radius: 14px;

  color: #FFD95A;
  font-size: .95rem;
  font-weight: 600;

  backdrop-filter: blur(10px);
  box-shadow: 0 0 25px rgba(227,197,144,.18);

  opacity: 0;
  transform: translateY(20px);
  transition: all .8s ease;
  z-index: 999999;
}

.tenet-viewers.show {
  opacity: 1;
  transform: translateY(0);
}/* End custom CSS */