/* ============================================================
   LINA VALLÉRIA — Global Stylesheet
   Mobile-first | Sem frameworks externos
   ============================================================ */

/* ----------------------
   @font-face (Averique e Degular)
   Quando os arquivos estiverem em /assets/fonts/, descomentar:

@font-face {
  font-family: 'Averique';
  src: url('../fonts/Averique.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Degular';
  src: url('../fonts/Degular-Light.woff2') format('woff2');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Degular';
  src: url('../fonts/Degular-Medium.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Degular';
  src: url('../fonts/Degular-Semibold.woff2') format('woff2');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Degular';
  src: url('../fonts/Degular-Bold.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
   ---------------------- */

/* ----------------------
   ROOT VARIABLES
   ---------------------- */
:root {
  /* Cores institucionais */
  --color-primary:     #bb273f;
  --color-primary-mid: #cc445e;
  --color-wine:        #5b0220;
  --color-dark:        #390404;
  --color-darkest:     #1f0b00;
  --color-rose:        #a05761;
  --color-cream:       #eadad2;
  --color-white:       #ffffff;

  /* Tipografia */
  --font-title: 'Averique', 'Playfair Display', Georgia, serif;
  --font-body:  'Degular', 'DM Sans', 'Inter', sans-serif;

  /* Espaçamentos */
  --spacing-xs:  4px;
  --spacing-sm:  8px;
  --spacing-md:  16px;
  --spacing-lg:  32px;
  --spacing-xl:  64px;
  --spacing-xxl: 120px;

  /* Container */
  --container-max:     1280px;
  --container-padding: 24px;

  /* Transições */
  --ease: 0.3s ease;
}

/* ----------------------
   RESET
   ---------------------- */
*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html { scroll-behavior: smooth; overflow-x: hidden; }

body {
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.6;
  color: var(--color-dark);
  background: var(--color-white);
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

img { max-width: 100%; height: auto; display: block; }
a   { color: inherit; text-decoration: none; }
ul  { list-style: none; }

button {
  cursor: pointer;
  border: none;
  background: none;
  font-family: var(--font-body);
}

/* ----------------------
   CONTAINER
   ---------------------- */
.container {
  width: 100%;
  max-width: var(--container-max);
  margin: 0 auto;
  padding: 0 var(--container-padding);
}

/* ----------------------
   TIPOGRAFIA BASE
   ---------------------- */
h1, h2, h3, h4 {
  font-family: var(--font-title);
  font-weight: 400;
  line-height: 1.05;
}

/* ----------------------
   LABELS
   ---------------------- */
.label {
  display: inline-block;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--color-primary);
  margin-bottom: var(--spacing-md);
}
.label--cream { color: var(--color-cream); }
.label--rose  { color: var(--color-rose); }
.label--dark  { color: var(--color-dark); opacity: 0.5; }

/* ----------------------
   BOTÕES
   ---------------------- */
.btn {
  display: inline-block;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 15px 36px;
  border: 1.5px solid transparent;
  border-radius: 2px;
  transition: all var(--ease);
  cursor: pointer;
}

.btn--red {
  background: var(--color-primary);
  border-color: var(--color-primary);
  color: var(--color-cream);
}
.btn--red:hover {
  background: var(--color-darkest);
  border-color: var(--color-darkest);
}

.btn--cream {
  background: var(--color-cream);
  border-color: var(--color-cream);
  color: var(--color-primary);
}
.btn--cream:hover {
  background: var(--color-white);
  border-color: var(--color-white);
}

.btn--outline-cream {
  background: transparent;
  border-color: rgba(234,218,210,0.6);
  color: var(--color-cream);
}
.btn--outline-cream:hover {
  background: var(--color-cream);
  color: var(--color-primary);
}

.btn--outline-red {
  background: transparent;
  border-color: var(--color-primary);
  color: var(--color-primary);
}
.btn--outline-red:hover {
  background: var(--color-primary);
  color: var(--color-cream);
}

.btn--outline-dark {
  background: transparent;
  border-color: var(--color-dark);
  color: var(--color-dark);
}
.btn--outline-dark:hover {
  background: var(--color-dark);
  color: var(--color-cream);
}

/* ============================================================
   HEADER / NAV
   ============================================================ */
.header {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 200;
  padding: 22px 0;
  transition: background var(--ease), padding var(--ease), box-shadow var(--ease);
}

.header--scrolled {
  background: var(--color-cream);
  padding: 14px 0;
  box-shadow: 0 2px 24px rgba(0,0,0,0.07);
}

/* Para páginas sem hero vermelho: fundo primário fixo no topo */
.header--primary {
  background: var(--color-primary);
  padding: 14px 0;
}
/* Quando o usuário rola, o estado scrolled sobrepõe o primary */
.header--primary.header--scrolled {
  background: var(--color-cream);
  box-shadow: 0 2px 24px rgba(0,0,0,0.07);
}

.nav {
  display: flex;
  align-items: center;
  gap: var(--spacing-md);
}

/* Logo */
.nav__logo {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}

.nav__logo-img {
  height: 36px;
  width: auto;
  display: block;
}

/* Desktop: apenas logo creme visível */
.nav__logo-img.nav__logo-img--vermelho      { display: none; }
.nav__logo-img.nav__logo-img--icon-creme    { display: none; }
.nav__logo-img.nav__logo-img--icon-vermelho { display: none; }

/* Desktop scrolled: troca para logo vermelho */
.header--scrolled .nav__logo-img.nav__logo-img--creme    { display: none; }
.header--scrolled .nav__logo-img.nav__logo-img--vermelho { display: block; }

/* Mobile: substitui logo completo pelo ícone V + CTA curto */
@media (max-width: 767px) {
  .nav__logo-img.nav__logo-img--creme         { display: none; }
  .nav__logo-img.nav__logo-img--icon-creme    { display: block; }

  .header--scrolled .nav__logo-img.nav__logo-img--vermelho      { display: none; }
  .header--scrolled .nav__logo-img.nav__logo-img--icon-creme    { display: none; }
  .header--scrolled .nav__logo-img.nav__logo-img--icon-vermelho { display: block; }

  .nav__cta-short { display: inline; }
  .nav__cta-full  { display: none; }

  /* Padding das seções reduzido no mobile */
  .servicos  { padding: var(--spacing-lg) 0; }
  .depoimentos { padding: var(--spacing-lg) 0; }

  /* Todos os CTAs 100% no mobile, exceto nav */
  .btn:not(.nav__cta) {
    width: 100%;
    text-align: center;
  }

  /* Hero: centralizar conteúdo no mobile */
  .hero__content,
  .hero__eyebrow,
  .hero__title,
  .hero__subtitle {
    text-align: center;
  }
  .hero__actions {
    flex-direction: column;
    align-items: stretch;
  }
  .hero__actions .btn {
    flex: none;
    width: 100%;
  }

}

/* CTA nav — padrão desktop: texto longo */
.nav__cta-short { display: none; }
.nav__cta-full  { display: inline; }

/* Menu desktop */
.nav__menu {
  display: none;
  flex: 1;
  justify-content: center;
  gap: 36px;
  align-items: center;
}

.nav__link {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(234,218,210,0.9);
  transition: opacity var(--ease);
}
.header--scrolled .nav__link { color: var(--color-dark); }
.nav__link:hover { opacity: 0.6; }

/* CTA nav */
.nav__cta {
  margin-left: auto;
  padding: 10px 22px;
  font-size: 12px;
  width: 220px;
  text-align: center;
}
/* Scrollado: header creme → botão preenchido vermelho */
.header--scrolled .nav__cta {
  background: var(--color-primary);
  border-color: var(--color-primary);
  color: var(--color-cream);
}
.header--scrolled .nav__cta:hover {
  background: var(--color-darkest);
  border-color: var(--color-darkest);
}

/* Hamburger mobile */
.nav__toggle {
  display: flex;
  flex-direction: column;
  gap: 5px;
  padding: 4px;
  margin-left: auto;
}
.nav__toggle span {
  display: block;
  width: 22px;
  height: 1.5px;
  background: var(--color-cream);
  transition: all var(--ease);
  transform-origin: center;
}
.header--scrolled .nav__toggle span { background: var(--color-dark); }

.nav__toggle--open span:nth-child(1) { transform: translateY(6.5px) rotate(45deg); }
.nav__toggle--open span:nth-child(2) { opacity: 0; }
.nav__toggle--open span:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); }

/* Menu mobile (overlay) */
.nav__menu--open {
  display: flex !important;
  flex-direction: column;
  position: fixed;
  inset: 0;
  background: var(--color-darkest);
  justify-content: center;
  align-items: center;
  gap: var(--spacing-xl);
  z-index: 190;
}
.nav__menu--open .nav__link {
  font-family: var(--font-title);
  font-size: 36px;
  color: var(--color-cream);
  letter-spacing: 0;
}


/* Botão de fechar o menu mobile */
.nav__close {
  display: none;
  position: fixed;
  top: 18px;
  right: var(--container-padding);
  z-index: 210;
  width: 44px;
  height: 44px;
  background: none;
  border: none;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  color: var(--color-cream);
  font-size: 30px;
  line-height: 1;
  padding: 0;
  opacity: 0.85;
}
.nav__close--visible { display: flex; }
@media (min-width: 768px) { .nav__close { display: none !important; } }

/* ============================================================
   HERO — VSL Split
   ============================================================ */
.hero {
  min-height: 100vh;
  background-color: var(--color-primary);
  display: flex;
  align-items: center;
  position: relative;
  overflow: hidden;
  padding: 130px 0 100px;
}

/* Marca d'água decorativa */
.hero__watermark {
  position: absolute;
  bottom: -60px;
  right: -40px;
  font-family: var(--font-title);
  font-size: clamp(160px, 28vw, 380px);
  line-height: 1;
  color: var(--color-darkest);
  opacity: 0.18;
  pointer-events: none;
  user-select: none;
  white-space: nowrap;
}

/* Grid split: texto | vídeo */
.hero__split {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: var(--spacing-lg);
}

/* Coluna de texto */
.hero__content {}

.hero__eyebrow {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(234,218,210,0.55);
  margin-bottom: var(--spacing-md);
}

.hero__title {
  font-size: clamp(40px, 6vw, 56px);
  color: var(--color-cream);
  line-height: 1.0;
  margin-bottom: var(--spacing-lg);
}
.hero__title em { font-style: italic; }

.hero__subtitle {
  font-size: 16px;
  color: rgba(234,218,210,0.75);
  line-height: 1.75;
  margin-bottom: 0;
}

.hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-md);
}
.hero__actions .btn {
  flex: 1;
  text-align: center;
}

/* Coluna do player */
.hero__video {
  width: 100%;
}

/* Wrapper 16:9 */
.hero__player {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  background: var(--color-darkest);
  border-radius: 3px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--spacing-md);
  cursor: pointer;
  box-shadow: 0 32px 80px rgba(0,0,0,0.35);
}

/* Thumbnail de fundo (opcional — trocar pela thumb real) */
.hero__player-thumb {
  position: absolute;
  inset: 0;
  background: var(--color-darkest);
  opacity: 0.8;
}

/* Botão play */
.hero__play-btn {
  position: relative;
  z-index: 1;
  width: 72px;
  height: 72px;
  color: var(--color-cream);
  background: none;
  border: none;
  cursor: pointer;
  transition: transform var(--ease), opacity var(--ease);
}
.hero__play-btn:hover {
  transform: scale(1.1);
  opacity: 0.85;
}
.hero__play-btn svg { width: 100%; height: 100%; }

.hero__player-label {
  position: relative;
  z-index: 1;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(234,218,210,0.6);
}

/* Iframe (quando o vídeo real for inserido) */
.hero__player-wrap {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: 3px;
  overflow: hidden;
  box-shadow: 0 32px 80px rgba(0,0,0,0.35);
}
.hero__player-wrap iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: none;
}

/* YouTube facade */
.hero__yt-facade { cursor: pointer; background: var(--color-darkest); }
.hero__yt-thumb {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 30%;
}
.hero__yt-facade .hero__play-btn {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: rgba(31,11,0,0.25);
  border: none;
  cursor: pointer;
  z-index: 2;
}
.hero__yt-facade .hero__play-btn svg {
  width: 72px !important;
  height: 72px !important;
  filter: drop-shadow(0 4px 16px rgba(0,0,0,0.5));
  animation: dep-pulse 2s ease-in-out infinite;
}
.hero__yt-facade:hover .hero__play-btn svg {
  animation-play-state: paused;
  transform: scale(1.1);
}

/* ============================================================
   SOBRE
   ============================================================ */
.sobre {
  padding: var(--spacing-xl) 0 var(--spacing-xxl);
  background: var(--color-cream);
}

.sobre__grid {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-lg);
}

.sobre__text-top,
.sobre__text-bottom {
  /* herda estilos do conteúdo anterior */
}

.sobre__text-bottom .btn { margin-top: var(--spacing-lg); }

.sobre__image-wrap {
  position: relative;
}

.sobre__image-wrap img,
.sobre__image-placeholder {
  width: 100%;
  aspect-ratio: 4/5;
  object-fit: cover;
  object-position: center top;
  display: block;
}

.sobre__foto {
  width: 100%;
  aspect-ratio: 2/3;
  object-fit: cover;
  object-position: center top;
  display: block;
}

.programa__image {
  display: none;
}

@media (min-width: 768px) {
  .programa__image {
    display: block;
  }
  .programa__foto {
    width: 100%;
    aspect-ratio: 2/3;
    object-fit: cover;
    object-position: center top;
    display: block;
  }
}

.livro__capa {
  width: 100%;
  display: block;
}

.sobre__image-placeholder {
  background: var(--color-darkest);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-cream);
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  opacity: 0.5;
}

.sobre__title {
  font-size: clamp(36px, 5vw, 60px);
  color: var(--color-dark);
  margin-bottom: var(--spacing-lg);
}

.sobre__text {
  font-size: 16px;
  color: var(--color-dark);
  opacity: 0.8;
  line-height: 1.75;
  margin-bottom: var(--spacing-md);
}
.sobre__text strong {
  font-weight: 600;
  color: var(--color-primary);
  opacity: 1;
}

.sobre__content .btn { margin-top: var(--spacing-lg); }

/* ============================================================
   FRASE DE IMPACTO
   ============================================================ */
.frase-impacto {
  padding: var(--spacing-xl) 0;
  background: var(--color-cream);
}

.frase-impacto__quote {
  max-width: 820px;
  margin: 0 auto;
  text-align: center;
  border: none;
  padding: 0;
}

.frase-impacto__quote p {
  font-family: var(--font-title);
  font-size: clamp(22px, 3.5vw, 40px);
  color: var(--color-primary);
  line-height: 1.4;
  margin-bottom: var(--spacing-md);
}

.frase-impacto__quote cite {
  font-family: var(--font-body);
  font-size: 13px;
  color: var(--color-dark);
  font-style: normal;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-weight: 600;
  opacity: 0.5;
}

/* ============================================================
   MÉTODO + PILARES (seção unificada)
   ============================================================ */
.metodo__intro {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--spacing-xl);
  margin-bottom: var(--spacing-xl);
  padding-bottom: var(--spacing-xl);
}

.metodo__title {
  font-size: clamp(32px, 4.5vw, 52px);
  color: var(--color-cream);
  margin-bottom: var(--spacing-lg);
  font-weight: 400;
}

.metodo__desc {
  font-size: 16px;
  color: rgba(234,218,210,0.7);
  line-height: 1.75;
  margin-bottom: var(--spacing-md);
}

.metodo__stats {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--spacing-lg);
  align-content: start;
}

@media (min-width: 768px) {
  .metodo__intro {
    grid-template-columns: 1.2fr 1fr;
    gap: var(--spacing-xxl);
    align-items: center;
  }
  .metodo__stats {
    grid-template-columns: 1fr 1fr;
    gap: var(--spacing-lg) var(--spacing-xl);
  }
}

/* ============================================================
   PILARES
   ============================================================ */
.pilares {
  padding: var(--spacing-xxl) 0;
  background: var(--color-darkest);
  position: relative;
  z-index: 1;
}

.pilares__header {
  margin-bottom: var(--spacing-xl);
  margin-top: 0;
}

.pilares__title {
  font-size: clamp(26px, 3.5vw, 40px);
  color: var(--color-cream);
}

.pilares__sub {
  font-size: 16px;
  color: rgba(234,218,210,0.6);
  margin: 12px 0 0;
  line-height: 1.6;
}

.pilares__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  border-top: 1px solid rgba(234,218,210,0.1);
  border-left: 1px solid rgba(234,218,210,0.1);
}

@media (min-width: 600px) {
  .pilares__grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .pilares__item {
    padding: var(--spacing-xl) var(--spacing-lg);
  }
  .pilares__icon {
    margin-bottom: var(--spacing-md);
  }
  .pilares__item h3 {
    font-size: clamp(18px, 2vw, 22px);
  }
  .pilares__text {
    font-size: 14px;
  }
}

@media (min-width: 900px) {
  .pilares__grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

.pilares__item {
  background: #1f0b00;
  border-right: 1px solid rgba(234,218,210,0.1);
  border-bottom: 1px solid rgba(234,218,210,0.1);
  padding: var(--spacing-lg) var(--spacing-md);
  display: grid;
  grid-template-columns: 40px 1fr;
  grid-template-areas:
    "icon number"
    "title title"
    "text  text";
  column-gap: var(--spacing-sm);
  row-gap: var(--spacing-sm);
  transition: background var(--ease);
}
.pilares__item:hover { background: #2e1200; }

.pilares__icon {
  grid-area: icon;
  display: block;
  align-self: center;
}

.pilares__icon path,
.pilares__icon circle,
.pilares__icon polyline,
.pilares__icon line,
.pilares__icon polygon,
.pilares__icon rect {
  stroke: var(--color-cream);
  fill: none;
}

/* Elementos com fill sólido (agulha da bússola) */
.pilares__icon [data-filled] {
  fill: var(--color-cream);
  stroke: none;
}

.pilares__number {
  grid-area: number;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.12em;
  color: var(--color-rose);
  text-align: right;
  align-self: start;
}

.pilares__item h3 {
  grid-area: title;
  font-size: 20px;
  color: var(--color-cream);
  font-weight: 400;
  margin-bottom: 0;
}

.pilares__text {
  grid-area: text;
  font-size: 15px;
  color: rgba(234,218,210,0.72);
  line-height: 1.7;
  font-family: var(--font-body);
  font-weight: 300;
}

/* ============================================================
   PROGRAMA
   ============================================================ */
.programa {
  padding: var(--spacing-xxl) 0;
  background: var(--color-darkest);
}

.programa__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--spacing-xl);
}

.programa__title {
  font-size: clamp(36px, 5vw, 60px);
  color: var(--color-cream);
  margin-bottom: var(--spacing-lg);
}

.programa__text {
  font-size: 16px;
  color: rgba(234,218,210,0.7);
  line-height: 1.75;
  margin-bottom: var(--spacing-md);
}

.programa__content .btn { margin-top: var(--spacing-lg); }

.programa__stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--spacing-lg) var(--spacing-xl);
  align-content: start;
}

.programa__stat {
  border-top: 1px solid rgba(234,218,210,0.12);
  padding-top: var(--spacing-lg);
}
/* Mobile 1 coluna: só o primeiro sem borda */
.programa__stat:first-child {
  border-top: none;
  padding-top: 0;
}
/* Desktop 2 colunas: os dois da primeira linha sem borda */
@media (min-width: 768px) {
  .programa__stat:nth-child(-n+2) {
    border-top: none;
    padding-top: 0;
  }
}

.programa__stat-number {
  display: block;
  font-family: var(--font-title);
  font-size: 64px;
  line-height: 1;
  color: var(--color-cream);
  margin-bottom: var(--spacing-xs);
}

.programa__stat-label {
  font-size: 12px;
  color: rgba(234,218,210,0.4);
  letter-spacing: 0.05em;
  line-height: 1.4;
}

/* ============================================================
   SERVIÇOS
   ============================================================ */
.servicos {
  padding: var(--spacing-xl) 0 var(--spacing-xxl);
  background: var(--color-cream);
}

.servicos__header {
  margin-bottom: var(--spacing-xl);
}

.servicos__title {
  font-size: clamp(36px, 5vw, 60px);
  color: var(--color-wine);
}

.servicos__list {
  border-top: none;
}

.servico-item {
  border-bottom: 1px solid rgba(57,4,4,0.1);
  padding: var(--spacing-lg) 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--spacing-md);
  transition: background var(--ease);
}
.servico-item:hover { background: transparent; }
.servico-item:last-child { border-bottom: none; padding-bottom: 0; }

.servico-item__top {
  display: flex;
  align-items: baseline;
  gap: var(--spacing-md);
}

.servico-item__num {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.12em;
  color: var(--color-rose);
  flex-shrink: 0;
}

.servico-item__title {
  font-size: clamp(28px, 4vw, 44px);
  color: var(--color-dark);
  font-weight: 400;
}

.servico-item__text {
  font-size: 15px;
  color: var(--color-dark);
  opacity: 0.65;
  line-height: 1.7;
  max-width: 640px;
}

.servico-item__link {
  width: 220px;
  padding: 10px 22px;
  text-align: center;
  font-size: 12px;
  flex-shrink: 0;
  white-space: nowrap;
}

/* ============================================================
   LIVRO
   ============================================================ */
.livro {
  padding: var(--spacing-xxl) 0 0;
  background: var(--color-primary);
  overflow: visible;
}

.livro__grid {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-lg);
}

/* Mobile: texto → imagem → CTA */
.livro__content  { order: 1; }
.livro__image    { order: 2; display: flex; justify-content: center; }
.livro__cta-wrap { order: 3; }

.livro__text { margin-bottom: 0; }

.livro__title {
  font-size: clamp(28px, 3.8vw, 46px);
  color: var(--color-cream);
  margin-bottom: var(--spacing-lg);
}

.livro__subtitle-book {
  font-size: 15px;
  color: rgba(234,218,210,0.65);
  font-style: italic;
  line-height: 1.5;
  margin-bottom: var(--spacing-md);
  margin-top: calc(-1 * var(--spacing-md));
}

.livro__text {
  font-size: 17px;
  color: rgba(234,218,210,0.8);
  line-height: 1.75;
  margin-bottom: var(--spacing-lg);
}

.livro__image img,
.livro__image-placeholder {
  width: 100%;
  max-width: 420px;
  display: block;
}


.livro__image-placeholder {
  background: var(--color-darkest);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-cream);
  font-size: 12px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  opacity: 0.5;
}

/* ============================================================
   DIAGNÓSTICO
   ============================================================ */
.diagnostico {
  padding: var(--spacing-xxl) 0;
  background: var(--color-cream);
  text-align: center;
}

.diagnostico__content { max-width: 640px; margin: 0 auto; }

.diagnostico__title {
  font-size: clamp(32px, 5vw, 56px);
  color: var(--color-dark);
  margin-bottom: var(--spacing-lg);
}

.diagnostico__text {
  font-size: 17px;
  color: var(--color-dark);
  opacity: 0.7;
  line-height: 1.75;
  margin-bottom: var(--spacing-xl);
}

/* ============================================================
   DEPOIMENTOS
   ============================================================ */
.depoimentos {
  padding: var(--spacing-xxl) 0;
  background: var(--color-darkest);
}

.depoimentos__header { margin-bottom: var(--spacing-xl); }

.depoimentos__title {
  font-size: clamp(36px, 5vw, 60px);
  color: var(--color-cream);
}

.depoimentos__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--spacing-md);
}

.depoimento-card {
  background: var(--color-cream);
  padding: var(--spacing-xl) var(--spacing-lg);
  display: flex;
  flex-direction: column;
  gap: var(--spacing-lg);
}

.depoimento-card__quote {
  font-family: var(--font-title);
  font-size: clamp(18px, 2vw, 22px);
  font-style: italic;
  font-weight: 400;
  color: var(--color-dark);
  line-height: 1.55;
}

.depoimento-card__author strong {
  display: block;
  font-size: 13px;
  font-weight: 600;
  color: var(--color-primary);
  margin-bottom: 3px;
}

.depoimento-card__author span {
  font-size: 12px;
  color: var(--color-dark);
  opacity: 0.55;
  line-height: 1.4;
}

/* ============================================================
   CARROSSEL DE DEPOIMENTOS (vídeo)
   ============================================================ */
/* ── Mobile: empilhado ─────────────────────────────── */
.dep-carousel__viewport {
  overflow: visible;
}

.dep-carousel__track {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-lg);
  transition: none;
}

.dep-carousel__slide {
  width: 100%;
  max-width: 400px;
  margin: 0 auto;
  padding: 0;
  box-sizing: border-box;
}

.dep-carousel__nav {
  display: none; /* mobile: sem nav, itens empilhados */
}

/* Wrapper que sobrepõe poster + play + vídeo */
.dep-video-wrap {
  position: relative;
  border-radius: 6px;
  overflow: hidden;
  aspect-ratio: 9 / 16;
  background: var(--color-darkest);
}

.dep-video-poster {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: opacity 0.2s;
}

.dep-video-play {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(31, 11, 0, 0.35);
  border: none;
  cursor: pointer;
  color: var(--color-cream);
  transition: background var(--ease);
  z-index: 2;
}
.dep-video-play:hover { background: rgba(31, 11, 0, 0.55); }

.dep-video-play svg {
  width: 72px;
  height: 72px;
  filter: drop-shadow(0 2px 12px rgba(0,0,0,0.5));
  animation: dep-pulse 2s ease-in-out infinite;
}

@keyframes dep-pulse {
  0%, 100% { transform: scale(1);   opacity: 1; }
  50%       { transform: scale(1.12); opacity: 0.85; }
}

.dep-carousel__video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  opacity: 0;
  pointer-events: none;
}

/* Quando o play é clicado: esconde poster, mostra vídeo */
.dep-video-wrap--playing .dep-video-poster,
.dep-video-wrap--playing .dep-video-play {
  display: none;
}
.dep-video-wrap--playing .dep-carousel__video {
  opacity: 1;
  pointer-events: auto;
}

.dep-carousel__nav {
  display: none; /* oculto por padrão; só aparece via media query desktop se necessário */
  align-items: center;
  justify-content: center;
  gap: var(--spacing-lg);
  margin-top: var(--spacing-xl);
}

.dep-carousel__btn {
  background: none;
  border: 1.5px solid rgba(234,218,210,0.35);
  color: var(--color-cream);
  width: 40px;
  height: 40px;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: border-color var(--ease), background var(--ease);
}
.dep-carousel__btn:hover {
  border-color: var(--color-cream);
  background: rgba(234,218,210,0.1);
}

.dep-carousel__dots {
  display: flex;
  gap: 10px;
  align-items: center;
}

.dep-carousel__dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(234,218,210,0.25);
  border: none;
  cursor: pointer;
  padding: 0;
  transition: background var(--ease), transform var(--ease);
}
.dep-carousel__dot--active {
  background: var(--color-cream);
  transform: scale(1.3);
}

/* ── Desktop: 3 lado a lado, sem nav ──────────────── */
@media (min-width: 900px) {
  .dep-carousel__viewport {
    overflow: hidden;
  }
  .dep-carousel__track {
    flex-direction: row;
    gap: 0;
    transform: none !important;
  }
  .dep-carousel__slide {
    flex: 0 0 calc(100% / 3);
    max-width: none;
    margin: 0;
    padding: 0 var(--spacing-sm);
  }
  .dep-carousel__nav {
    display: none; /* 3 slides = 3 visíveis, sem necessidade de nav */
  }
}

/* ============================================================
   BLOG
   ============================================================ */
.blog {
  padding: var(--spacing-xxl) 0;
  background: var(--color-cream);
}

.blog__header { margin-bottom: var(--spacing-xl); }

.blog__title {
  font-size: clamp(36px, 5vw, 60px);
  color: var(--color-dark);
}

.blog__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1px;
  background: rgba(57,4,4,0.1);
  margin-bottom: var(--spacing-xl);
}

.blog-card {
  background: var(--color-cream);
  padding: var(--spacing-xl) var(--spacing-lg);
  display: flex;
  flex-direction: column;
  gap: var(--spacing-md);
  transition: background var(--ease);
}
.blog-card:hover { background: #e0cfc6; }

.blog-card__date {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.1em;
  color: var(--color-rose);
  text-transform: uppercase;
}

.blog-card__title {
  font-size: clamp(22px, 3vw, 30px);
  color: var(--color-dark);
  font-weight: 400;
  line-height: 1.2;
}

.blog-card__text {
  font-size: 15px;
  color: var(--color-dark);
  opacity: 0.65;
  line-height: 1.7;
}

.blog-card__link {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.08em;
  color: var(--color-primary);
  text-transform: uppercase;
  transition: opacity var(--ease);
  align-self: flex-start;
}
.blog-card__link:hover { opacity: 0.6; }

.blog__social { text-align: center; }

/* ============================================================
   CONTATO
   ============================================================ */
.contato {
  padding: var(--spacing-xxl) 0;
  background: var(--color-cream);
}

.contato__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--spacing-xl);
}

.contato__title {
  font-size: clamp(36px, 6vw, 72px);
  color: var(--color-dark);
  line-height: 1;
  margin-bottom: var(--spacing-md);
}

.contato__text {
  font-size: 17px;
  color: rgba(57,4,4,0.65);
  line-height: 1.75;
}

/* ── Form ── */
.contato__form {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.contato__field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.contato__field label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(57,4,4,0.5);
}

.contato__field input,
.contato__field textarea {
  width: 100%;
  padding: 13px 16px;
  border: 1.5px solid rgba(57,4,4,0.15);
  border-radius: 4px;
  background: rgba(255,255,255,0.5);
  color: var(--color-dark);
  font-family: var(--font-body);
  font-size: 15px;
  transition: border-color 0.2s;
  box-sizing: border-box;
  -webkit-appearance: none;
}

.contato__field input:focus,
.contato__field textarea:focus {
  outline: none;
  border-color: var(--color-primary);
}

.contato__field textarea {
  resize: vertical;
  min-height: 120px;
  line-height: 1.6;
}

.contato__loading {
  display: none;
  font-size: 13px;
  color: rgba(57,4,4,0.45);
  margin: 0;
}
.contato__loading.active { display: block; }

.contato__form-status {
  font-size: 14px;
  padding: 12px 16px;
  border-radius: 4px;
  display: none;
  line-height: 1.5;
  margin: 0;
}
.contato__form-status.active { display: block; }
.contato__form-status--success {
  background: rgba(40,140,40,0.1);
  color: #1a6b1a;
  border: 1px solid rgba(40,140,40,0.25);
}
.contato__form-status--error {
  background: rgba(187,39,63,0.08);
  color: var(--color-primary);
  border: 1px solid rgba(187,39,63,0.25);
}

/* ============================================================
   FAB — WHATSAPP
   ============================================================ */
.fab-whatsapp {
  position: fixed;
  bottom: 28px;
  right: 28px;
  z-index: 800;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: #25D366;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 16px rgba(37,211,102,0.4);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  text-decoration: none;
}
.fab-whatsapp:hover {
  transform: scale(1.08);
  box-shadow: 0 6px 24px rgba(37,211,102,0.55);
}
.fab-whatsapp svg {
  width: 28px;
  height: 28px;
  fill: #fff;
  display: block;
}

/* ============================================================
   COOKIE BANNER
   ============================================================ */
.cookie-banner {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;

  z-index: 900;
  background: var(--color-darkest);
  padding: 14px var(--container-padding);
  display: none;
  align-items: center;
  gap: var(--spacing-md);
  flex-wrap: wrap;
}
.cookie-banner.active { display: flex; }

.cookie-banner__text {
  flex: 1;
  min-width: 200px;
  font-size: 13px;
  color: rgba(234,218,210,0.7);
  line-height: 1.5;
  margin: 0;
}
.cookie-banner__text a {
  color: var(--color-cream);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.cookie-banner__actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
}

.cookie-banner__close {
  background: none;
  border: none;
  color: rgba(234,218,210,0.35);
  font-size: 24px;
  cursor: pointer;
  line-height: 1;
  padding: 0 6px;
  font-family: var(--font-body);
  transition: color 0.15s;
}
.cookie-banner__close:hover { color: var(--color-cream); }

/* ============================================================
   FOOTER
   ============================================================ */
.footer {
  background: var(--color-darkest);
  color: var(--color-cream);
  padding: var(--spacing-xxl) 0 var(--spacing-xl);
}

.footer__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--spacing-xl);
  padding-bottom: var(--spacing-xl);
  border-bottom: 1px solid rgba(234,218,210,0.08);
  margin-bottom: var(--spacing-lg);
}

.footer__logo {
  display: inline-flex;
  margin-bottom: var(--spacing-md);
}

.footer__logo-img {
  height: 40px;
  width: auto;
  display: block;
}

.footer__tagline {
  font-size: 13px;
  color: rgba(234,218,210,0.35);
  line-height: 1.5;
  max-width: 240px;
}

.footer__col-title {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(234,218,210,0.35);
  margin-bottom: var(--spacing-md);
}

.footer__nav-list,
.footer__social-list {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-sm);
}

.footer__nav-list a,
.footer__social-list a {
  font-size: 14px;
  color: rgba(234,218,210,0.6);
  transition: color var(--ease);
}
.footer__nav-list a:hover,
.footer__social-list a:hover {
  color: var(--color-cream);
}

.footer__bottom {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xs);
  font-size: 12px;
  color: rgba(234,218,210,0.25);
}

.footer__legal-links {
  display: flex;
  align-items: center;
  gap: 10px;
}
.footer__legal-links a {
  color: rgba(234,218,210,0.3);
  text-decoration: none;
  transition: color 0.15s;
}
.footer__legal-links a:hover { color: rgba(234,218,210,0.7); }
.footer__legal-links span { opacity: 0.4; }

/* ============================================================
   TABLET — min-width: 768px
   ============================================================ */
@media (min-width: 768px) {

  .nav__toggle  { display: none; }
  .nav__menu    { display: flex; }

  /* Hero split: 2 colunas — texto + CTAs à esquerda, player à direita */
  .hero__split {
    display: grid;
    grid-template-columns: 1.2fr 1.6fr;
    grid-template-rows: auto auto;
    gap: var(--spacing-md) var(--spacing-xl);
    align-items: start;
  }
  .hero__content {
    grid-column: 1;
    grid-row: 1;
  }
  .hero__video {
    grid-column: 2;
    grid-row: 1 / 3;
    align-self: center;
  }
  .hero__actions {
    grid-column: 1;
    grid-row: 2;
  }

  .sobre__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto;
    gap: 0 var(--spacing-xxl);
    align-items: start;
  }
  .sobre__image-wrap {
    grid-column: 1;
    grid-row: 1 / 3;
    align-self: end;
    position: relative;
    z-index: 2;
    margin-bottom: 0px;
  }
  .sobre__text-top {
    grid-column: 2;
    grid-row: 1;
  }
  .sobre__text-bottom {
    grid-column: 2;
    grid-row: 2;
    padding-bottom: var(--spacing-xl);
  }
  .sobre {
    overflow: visible;
    padding-bottom: 0;
  }

  .programa__grid {
    grid-template-columns: 1.2fr 1fr;
    gap: var(--spacing-xxl);
  }

  .programa__stats {
    grid-template-columns: 1fr 1fr;
  }

  .servico-item {
    grid-template-columns: 1fr 1.4fr auto;
    align-items: center;
    gap: var(--spacing-xl);
    padding: var(--spacing-xl) 0;
  }

  .servico-item__top {
    flex-direction: column;
    gap: var(--spacing-sm);
    align-items: flex-start;
  }

  .livro__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto;
    gap: 0 var(--spacing-xxl);
    align-items: start;
  }

  .livro__content  { grid-column: 1; grid-row: 1; order: unset; }
  .livro__image    { grid-column: 2; grid-row: 1 / 3; order: unset; align-self: end; overflow: visible; position: relative; z-index: 2; }
  .livro__cta-wrap { grid-column: 1; grid-row: 2; order: unset; padding-bottom: var(--spacing-xxl); }

  .livro__image img { width: 100%; max-width: none; display: block; }

  .depoimentos__grid {
    grid-template-columns: repeat(3, 1fr);
    align-items: stretch;
  }

  .depoimento-card {
    height: 100%;
  }

  .blog__grid {
    grid-template-columns: 1fr 1fr;
  }

  .contato__grid {
    grid-template-columns: 1fr 1.3fr;
    gap: var(--spacing-xxl);
    align-items: start;
  }

  .footer__grid {
    grid-template-columns: 2fr 1fr 1fr;
  }

  .footer__bottom {
    flex-direction: row;
    justify-content: space-between;
  }
}

/* ============================================================
   DESKTOP — min-width: 1024px
   ============================================================ */
@media (min-width: 1024px) {

  .pilares__item {
    padding: var(--spacing-xl) var(--spacing-xl);
  }

  .servico-item {
    grid-template-columns: 1fr 1.4fr auto;
  }
}


/* ============================================================
   PÁGINA: CURSOS
   ============================================================ */

/* ---- Hero ---- */
.curso-hero {
  background: var(--color-darkest);
  padding: 120px 0 80px;
  text-align: center;
}
.curso-hero .label {
  color: rgba(234,218,210,0.55);
  font-size: 12px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-weight: 600;
  display: block;
  margin-bottom: 20px;
}
.curso-hero h1 {
  font-family: var(--font-title);
  font-size: clamp(34px, 6vw, 64px);
  color: var(--color-cream);
  line-height: 1.05;
  margin: 0 0 24px;
}
.curso-hero h1 em {
  font-style: italic;
  color: rgba(234,218,210,0.75);
}
.curso-hero__sub {
  color: rgba(234,218,210,0.68);
  font-size: 18px;
  max-width: 540px;
  margin: 0 auto 16px;
  line-height: 1.65;
}
.curso-hero__meta {
  display: flex;
  justify-content: center;
  gap: 32px;
  flex-wrap: wrap;
  margin-bottom: 40px;
}
.curso-hero__meta span {
  color: rgba(234,218,210,0.4);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.curso-hero__actions {
  display: flex;
  justify-content: center;
}
@media (min-width: 640px) {
  .curso-hero__actions .btn {
    min-width: 260px;
    flex: 1;
    max-width: 320px;
  }
}
.curso-hero__video {
  max-width: 760px;
  width: 100%;
  margin: 0 auto 40px;
}
.curso-hero__video-player {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  border-radius: 4px;
  box-shadow: 0 20px 60px rgba(0,0,0,0.45);
}
.curso-hero__video-player iframe {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  border: none;
}
.curso-hero__yt-facade { cursor: pointer; background: var(--color-cream); }
.curso-hero__yt-thumb {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover; object-position: center 30%;
}
.curso-hero__yt-facade .curso-hero__play-btn {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  display: flex; align-items: center; justify-content: center;
  background: rgba(31,11,0,0.25); border: none; cursor: pointer; z-index: 2;
}
.curso-hero__yt-facade .curso-hero__play-btn svg {
  width: 72px; height: 72px;
  filter: drop-shadow(0 4px 16px rgba(0,0,0,0.5));
  animation: dep-pulse 2s ease-in-out infinite;
}
.curso-hero__yt-facade:hover .curso-hero__play-btn svg {
  animation-play-state: paused; transform: scale(1.1);
}

/* ---- Seção problema ---- */
.curso-problema {
  background: var(--color-cream);
  padding: var(--spacing-xxl) 0;
}
.curso-problema__intro {
  text-align: center;
  margin-bottom: var(--spacing-xl);
}
.curso-problema__intro .label { color: rgba(57,4,4,0.4); }
.curso-problema__intro h2 {
  font-family: var(--font-title);
  font-size: clamp(28px, 4vw, 46px);
  color: var(--color-dark);
  line-height: 1.1;
  margin: 12px 0 0;
}
.curso-problema__intro h2 em {
  font-style: italic;
  color: var(--color-primary);
}
.curso-problema__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px 64px;
  align-items: stretch;
  counter-reset: problema;
}
@media (max-width: 767px) {
  .curso-problema__grid { grid-template-columns: 1fr; }
  .curso-problema__col-label--hoje      { order: 1; }
  .cp-hoje                               { order: 2; }
  .curso-problema__col-label--resultado { order: 3; margin-top: var(--spacing-xl); }
  .cp-resultado                          { order: 4; }
}
.curso-problema__col-label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(187,39,63,0.18);
  display: block;
}
.curso-problema__col-label--hoje      { color: rgba(57,4,4,0.4); }
.curso-problema__col-label--resultado { color: var(--color-primary); border-bottom: none; }
.cp-hoje {
  counter-increment: problema;
  display: grid;
  grid-template-columns: 52px 1fr;
  gap: 20px;
  align-items: center;
  padding: 20px 0;
  border-bottom: 1px solid rgba(187,39,63,0.18);
  font-size: 15px;
  font-weight: 700;
  line-height: 1.55;
  color: rgba(57,4,4,0.9);
}
.cp-hoje::before {
  content: counter(problema, decimal-leading-zero);
  font-family: var(--font-title);
  font-size: 28px;
  font-weight: 700;
  color: var(--color-primary);
  opacity: 0.28;
  line-height: 1;
}
.cp-resultado {
  display: flex;
  gap: 14px;
  align-items: center;
  background: rgba(187,39,63,0.07);
  border-left: 3px solid var(--color-primary);
  padding: 20px 18px;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.55;
  color: rgba(57,4,4,0.9);
}
.cp-resultado::before {
  content: '✓';
  font-size: 13px;
  font-weight: 700;
  color: var(--color-primary);
  flex-shrink: 0;
  margin-top: 2px;
}
.curso-problema__frase {
  margin: var(--spacing-xl) auto 0;
  max-width: 680px;
  text-align: center;
  font-family: var(--font-title);
  font-size: clamp(20px, 3vw, 28px);
  font-style: italic;
  color: var(--color-primary);
  line-height: 1.4;
  border: none;
  padding: 0;
}

/* ---- O que inclui ---- */
.curso-inclui {
  background: var(--color-darkest);
  padding: var(--spacing-xxl) 0;
}
.curso-inclui__intro {
  text-align: center;
  margin-bottom: var(--spacing-xl);
}
.curso-inclui__intro .label { color: rgba(234,218,210,0.45); }
.curso-inclui__intro h2 {
  font-family: var(--font-title);
  font-size: clamp(28px, 4vw, 44px);
  color: var(--color-cream);
  line-height: 1.15;
  margin: 12px 0 20px;
}
.curso-inclui__intro h2 em { color: var(--color-primary-mid); font-style: italic; }
.curso-inclui__intro p {
  color: rgba(234,218,210,0.7);
  font-size: 16px;
  max-width: 520px;
  margin: 0 auto;
  line-height: 1.65;
}
.curso-aprende-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
  margin-bottom: var(--spacing-xl);
}
@media (min-width: 640px)  { .curso-aprende-grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) { .curso-aprende-grid { grid-template-columns: repeat(3, 1fr); } }
.curso-aprende-item {
  background: var(--color-primary);
  padding: 28px 28px 28px 24px;
  border-radius: 2px;
  display: flex;
  gap: 16px;
  align-items: flex-start;
}
.curso-aprende-item__check {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: rgba(234,218,210,0.18);
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 1px;
}
.curso-aprende-item__check::after {
  content: '✓';
  color: var(--color-cream);
  font-size: 11px;
  font-weight: 700;
}
.curso-aprende-item p {
  font-size: 15px;
  color: rgba(234,218,210,0.88);
  line-height: 1.6;
  margin: 0;
}
.curso-inclui__lista {
  list-style: none;
  padding: 0;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
  max-width: 680px;
}
@media (min-width: 640px) { .curso-inclui__lista { grid-template-columns: 1fr 1fr; } }
.curso-inclui__lista li {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  font-size: 15px;
  color: rgba(234,218,210,0.75);
  line-height: 1.55;
}
.curso-inclui__lista li::before {
  content: '→';
  color: var(--color-primary-mid);
  font-weight: 700;
  flex-shrink: 0;
}

/* ---- Depoimentos escritos (carrossel Swiper) ---- */
.dep-escritos {
  background: var(--color-cream);
  padding: var(--spacing-xxl) 0;
}
.dep-escritos__header {
  text-align: center;
  margin-bottom: var(--spacing-xl);
}
.dep-escritos__label {
  display: block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--color-primary);
  margin-bottom: 12px;
}
.dep-escritos__title {
  font-family: var(--font-title);
  font-size: clamp(26px, 4vw, 42px);
  color: var(--color-dark);
  line-height: 1.1;
  margin: 0 0 12px;
}
.dep-escritos__sub {
  font-size: 15px;
  color: rgba(57,4,4,0.55);
  margin: 0;
}
#deposSwiper {
  padding-bottom: 44px !important;
}
#deposSwiper .swiper-pagination-bullet {
  background: rgba(57,4,4,0.2);
  opacity: 1;
  width: 8px; height: 8px;
}
#deposSwiper .swiper-pagination-bullet-active {
  background: var(--color-primary);
}
#deposSwiper .swiper-slide {
  height: auto;
}
.dep-escrito-card {
  background: var(--color-darkest);
  border: 1px solid rgba(187,39,63,0.18);
  border-radius: 4px;
  padding: 32px 28px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  height: 100%;
  box-sizing: border-box;
}
.dep-escrito-card__aspas {
  font-family: var(--font-title);
  font-size: 64px;
  line-height: 0.6;
  color: var(--color-primary);
  opacity: 0.45;
  display: block;
}
.dep-escrito-card__texto {
  font-size: 15px;
  color: rgba(234,218,210,0.75);
  line-height: 1.7;
  font-style: italic;
  flex: 1;
  margin: 0;
}
.dep-escrito-card__autor {
  border-top: 1px solid rgba(234,218,210,0.1);
  padding-top: 16px;
}
.dep-escrito-card__nome {
  font-size: 14px;
  font-weight: 700;
  color: var(--color-cream);
  display: block;
}
.dep-escrito-card__cargo {
  font-size: 12px;
  color: rgba(234,218,210,0.4);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

/* ---- Depoimentos variante cream (carrossel vídeo) ---- */
.depoimentos--cream { background: var(--color-cream); }
.depoimentos--cream .depoimentos__title { color: var(--color-dark); }
.depoimentos--cream .dep-carousel__btn { border-color: rgba(57,4,4,0.22); color: var(--color-dark); }
.depoimentos--cream .dep-carousel__btn:hover { border-color: rgba(57,4,4,0.5); background: rgba(57,4,4,0.05); }
.depoimentos--cream .dep-carousel__dot { background: rgba(57,4,4,0.18); }
.depoimentos--cream .dep-carousel__dot--active { background: var(--color-primary); }

/* ---- Seção de Preço ---- */
.curso-preco {
  background: var(--color-darkest);
  padding: var(--spacing-xxl) 0;
  text-align: center;
}
.curso-preco .label { color: rgba(234,218,210,0.5); display: block; margin-bottom: 16px; }
.curso-preco__title {
  font-family: var(--font-title);
  font-size: clamp(28px, 4vw, 46px);
  color: var(--color-cream);
  line-height: 1.15;
  margin: 0 0 48px;
}
.curso-preco__title em { font-style: italic; color: rgba(234,218,210,0.6); }
.curso-preco__card {
  background: var(--color-cream);
  border-radius: 20px;
  max-width: 580px;
  margin: 0 auto;
  padding: 48px 40px 40px;
  position: relative;
}
@media (max-width: 767px) { .curso-preco__card { padding: 48px 24px 32px; } }
.curso-preco__badge {
  position: absolute;
  top: -18px; left: 50%; transform: translateX(-50%);
  background: var(--color-primary);
  color: var(--color-cream);
  font-size: 11px; font-weight: 700;
  letter-spacing: 0.16em; text-transform: uppercase;
  padding: 9px 24px;
  border-radius: 50px;
  white-space: nowrap;
}
.curso-preco__de { font-size: 15px; color: var(--color-rose); margin: 0 0 4px; }
.curso-preco__de s { color: rgba(160,87,97,0.6); }
.curso-preco__parcelas-label { font-size: 16px; color: var(--color-dark); margin: 16px 0 4px; font-weight: 500; }
.curso-preco__valor {
  font-family: var(--font-title);
  font-size: clamp(52px, 10vw, 80px);
  color: var(--color-primary);
  line-height: 1;
  margin: 0 0 12px;
  font-weight: 700;
}
.curso-preco__avista { font-size: 16px; font-weight: 600; color: var(--color-dark); margin: 0 0 32px; }
@keyframes cta-pulse {
  0%   { box-shadow: 0 0 0 0 rgba(37,211,102,0.55); }
  70%  { box-shadow: 0 0 0 16px rgba(37,211,102,0); }
  100% { box-shadow: 0 0 0 0 rgba(37,211,102,0); }
}
.curso-preco__cta {
  display: block;
  width: 100%;
  padding: 18px 24px;
  background: #25D366;
  color: #fff;
  font-family: var(--font-body);
  font-size: 14px; font-weight: 700;
  letter-spacing: 0.12em; text-transform: uppercase;
  border-radius: 50px;
  text-decoration: none;
  text-align: center;
  box-sizing: border-box;
  border: none; cursor: pointer;
  animation: cta-pulse 2s ease-out infinite;
  transition: background 0.2s, transform 0.15s;
}
.curso-preco__cta:hover { background: #1ebd5a; transform: scale(1.02); animation: none; }
.curso-preco__fine { font-size: 13px; color: rgba(57,4,4,0.45); margin: 20px 0 0; line-height: 1.55; }

/* ---- Modal Lead Curso ---- */
.lc-overlay {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 9000;
  background: rgba(31,11,0,0.82);
  align-items: center;
  justify-content: center;
  padding: 24px;
}
.lc-overlay.active { display: flex; }
.lc-modal {
  background: var(--color-cream);
  max-width: 460px;
  width: 100%;
  padding: 48px 40px 40px;
  border-radius: 4px;
  position: relative;
}
@media (max-width: 767px) { .lc-modal { padding: 36px 24px 32px; } }
.lc-modal__close {
  position: absolute;
  top: 14px; right: 18px;
  background: none; border: none;
  font-size: 26px; line-height: 1;
  color: var(--color-rose);
  cursor: pointer; padding: 4px;
}
.lc-modal .label { display: block; margin-bottom: 12px; color: var(--color-rose); }
.lc-modal h2 {
  font-family: var(--font-title);
  font-size: clamp(22px, 3vw, 28px);
  color: var(--color-dark);
  line-height: 1.15;
  margin: 0 0 10px;
}
.lc-modal__sub { font-size: 15px; color: var(--color-rose); margin: 0 0 28px; line-height: 1.55; }
.lc-modal__field { margin-bottom: 16px; }
.lc-modal__field label {
  display: block;
  font-size: 11px; font-weight: 700;
  letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--color-rose); margin-bottom: 8px;
}
.lc-modal__field input {
  width: 100%; padding: 13px 16px;
  border: 1.5px solid rgba(57,4,4,0.15);
  border-radius: 4px;
  background: rgba(255,255,255,0.5);
  color: var(--color-dark);
  font-family: var(--font-body); font-size: 15px;
  box-sizing: border-box; -webkit-appearance: none;
  transition: border-color 0.2s;
}
.lc-modal__field input:focus { outline: none; border-color: var(--color-primary); }
.lc-modal__error { display: none; color: var(--color-primary); font-size: 13px; margin-bottom: 12px; }
.lc-modal__error.active { display: block; }
.lc-modal__submit { width: 100%; margin-top: 8px; }
.lc-modal__note { text-align: center; font-size: 12px; color: rgba(57,4,4,0.4); margin-top: 16px; }

/* ---- FAQ ---- */
.curso-faq {
  background: var(--color-cream);
  padding: var(--spacing-xxl) 0;
}
.curso-faq__intro { text-align: center; margin-bottom: var(--spacing-xl); }
.curso-faq__intro .label { color: rgba(57,4,4,0.4); }
.curso-faq__intro h2 {
  font-family: var(--font-title);
  font-size: clamp(28px, 4vw, 44px);
  color: var(--color-dark);
  line-height: 1.15;
  margin: 12px 0 0;
}
.curso-faq__intro h2 em { color: var(--color-primary); font-style: italic; }
.curso-faq__list { max-width: 720px; margin: 0 auto; display: flex; flex-direction: column; gap: 4px; }
.curso-faq__item { border-bottom: 1px solid rgba(57,4,4,0.1); }
.curso-faq__question {
  width: 100%;
  background: none; border: none;
  padding: 22px 0;
  text-align: left;
  font-family: var(--font-body);
  font-size: 16px; font-weight: 600;
  color: var(--color-dark);
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
}
.curso-faq__question::after {
  content: '+';
  font-size: 20px;
  color: var(--color-primary);
  flex-shrink: 0;
  transition: transform var(--ease);
  font-weight: 400;
}
.curso-faq__item.open .curso-faq__question::after { transform: rotate(45deg); }
.curso-faq__answer { display: none; padding: 0 0 22px; font-size: 15px; line-height: 1.75; color: rgba(57,4,4,0.72); }
.curso-faq__item.open .curso-faq__answer { display: block; }


/* ============================================================
   PÁGINA: DIAGNÓSTICO DE COMPETÊNCIAS
   ============================================================ */

.diag-hero {
  background: var(--color-primary);
  padding: 120px 0 72px;
  text-align: center;
}
.diag-hero .label { color: rgba(234,218,210,0.7); }
.diag-hero h1 {
  font-family: var(--font-title);
  font-size: clamp(36px, 6vw, 68px);
  color: var(--color-cream);
  line-height: 1.05;
  margin: 12px 0 20px;
}
.diag-hero__sub {
  color: rgba(234,218,210,0.75);
  font-size: 18px;
  max-width: 480px;
  margin: 0 auto;
  line-height: 1.65;
}

/* Steps */
.diag-step { display: none; }
.diag-step.active { display: block; }
.diag-step--1 { background: var(--color-cream); padding: var(--spacing-xl) 0 var(--spacing-xxl); }
.diag-step--2 { background: var(--color-cream); padding: calc(var(--spacing-xl) + 36px) 0 var(--spacing-xxl); }
.diag-step--3 { background: var(--color-cream); padding: var(--spacing-xl) 0 var(--spacing-xxl); }

/* Step 1: contato */
.diag-step__head { text-align: center; margin-bottom: var(--spacing-xl); }
.diag-step__head h2 {
  font-family: var(--font-title);
  font-size: clamp(28px, 5vw, 52px);
  color: var(--color-dark);
  line-height: 1.1;
  margin: 10px 0 12px;
}
.diag-step__head p { color: rgba(57,4,4,0.55); font-size: 16px; }
.diag-form { max-width: 620px; margin: 0 auto; }
.diag-form__grid { display: grid; grid-template-columns: 1fr; gap: 16px; margin-bottom: 32px; }
@media (min-width: 600px) { .diag-form__grid { grid-template-columns: 1fr 1fr; } }
.diag-form__field { display: flex; flex-direction: column; gap: 6px; }
.diag-form__field--full { grid-column: 1 / -1; }
.diag-form__label {
  font-size: 11px; font-weight: 600;
  letter-spacing: 0.1em; text-transform: uppercase;
  color: rgba(57,4,4,0.45);
}
.diag-form__field input,
.diag-form__field select {
  width: 100%; padding: 14px 16px;
  border: 1.5px solid rgba(57,4,4,0.18);
  border-radius: 4px;
  background: #fff;
  color: var(--color-dark);
  font-family: var(--font-body); font-size: 15px;
  transition: border-color 0.2s;
  appearance: none; box-sizing: border-box;
}
.diag-form__field select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23390404' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  padding-right: 40px;
}
.diag-form__field input:focus,
.diag-form__field select:focus { outline: none; border-color: var(--color-primary); }
.diag-form__field input::placeholder { color: rgba(57,4,4,0.3); }
.diag-form__privacy { text-align: center; margin-top: 16px; font-size: 12px; color: rgba(57,4,4,0.38); }
.diag-btn { display: block; width: 100%; padding: 16px; font-size: 15px; }

/* Step 2: perguntas */
.diag-qs-head { text-align: center; margin-bottom: var(--spacing-xl); }
.diag-qs-head__title {
  font-family: var(--font-title);
  font-size: clamp(26px, 4vw, 40px);
  color: var(--color-dark); line-height: 1.1; margin: 0 0 10px;
}
.diag-qs-head__sub { font-size: 15px; color: rgba(57,4,4,0.5); max-width: 480px; margin: 0 auto; line-height: 1.65; }
.diag-progress {
  display: flex; align-items: center; gap: 16px;
  margin-bottom: 16px; margin-left: auto; margin-right: auto;
  max-width: 720px;
}
.diag-progress__bar { flex: 1; height: 2px; background: rgba(57,4,4,0.12); border-radius: 2px; overflow: hidden; }
.diag-progress__fill { height: 100%; width: 0%; background: var(--color-primary); border-radius: 2px; transition: width 0.3s ease; }
.diag-progress__text { color: rgba(57,4,4,0.4); font-size: 13px; line-height: 1; white-space: nowrap; min-width: 64px; text-align: right; }
.diag-qs-intro { max-width: 720px; margin: 0 auto 40px; padding-bottom: 32px; border-bottom: 1px solid rgba(234,218,210,0.1); }
.diag-qs-intro p { color: rgba(234,218,210,0.5); font-size: 15px; font-style: italic; text-align: center; }
.diag-questions { max-width: 720px; margin: 0 auto; }
.diag-question { padding: 28px 0; border-bottom: 1px solid rgba(57,4,4,0.1); }
.diag-question__prefix { display: none; }
.diag-question__text { color: var(--color-dark); font-size: 17px; font-weight: 700; line-height: 1.55; margin: 0 0 16px; }
.diag-question__num { font-weight: 700; color: rgba(57,4,4,0.25); margin-right: 6px; }
@media (max-width: 480px) { .diag-question__text { font-size: 15px; } }
.diag-options { display: flex; flex-wrap: wrap; gap: 8px; }
.diag-option { display: inline-flex; cursor: pointer; }
.diag-option input { position: absolute; opacity: 0; width: 0; height: 0; pointer-events: none; }
.diag-option span {
  display: inline-block; padding: 8px 15px;
  border: 1.5px solid rgba(57,4,4,0.2); border-radius: 40px;
  color: rgba(57,4,4,0.5); font-size: 13px; font-weight: 500;
  transition: all 0.15s ease; user-select: none;
}
.diag-option:hover span { border-color: rgba(57,4,4,0.5); color: var(--color-dark); }
.diag-option input:checked + span { background: var(--color-primary); color: var(--color-cream); border-color: var(--color-primary); font-weight: 600; }
@media (max-width: 480px) { .diag-option span { font-size: 12px; padding: 7px 12px; } }
.diag-submit { max-width: 720px; margin: 0 auto; text-align: center; padding-top: 56px; }
.diag-submit .btn { min-width: 260px; transition: opacity 0.2s; }
.diag-submit .btn:disabled { opacity: 0.35; cursor: not-allowed; }
.diag-submit__hint { margin-top: 14px; color: rgba(57,4,4,0.4); font-size: 13px; }
.diag-step--2 .diag-loading { color: rgba(57,4,4,0.5); }
.diag-step--2 .diag-loading__spinner { border-color: rgba(57,4,4,0.12); border-top-color: var(--color-primary); }
.diag-step--2 .diag-error { background: rgba(187,39,63,0.08); border-color: rgba(187,39,63,0.25); color: var(--color-dark); }

/* Barra de progresso sticky */
.diag-sticky-bar {
  width: 100%; height: 0; overflow: hidden; position: relative;
  background: var(--color-cream); display: flex; align-items: center;
  transition: height 0.25s ease;
}
.diag-sticky-bar.active { height: 22px; border-top: 1px solid rgba(57,4,4,0.06); }
.diag-sticky-bar__fill { position: absolute; left: 0; top: 0; bottom: 0; width: 0%; background: rgba(187,39,63,0.1); transition: width 0.3s ease; }
.diag-sticky-bar__indicator { position: absolute; top: 0; bottom: 0; left: 0; width: 3px; background: var(--color-primary); transition: left 0.3s ease; }
.diag-sticky-bar__text {
  position: relative; z-index: 1; margin-left: auto; padding: 0 16px;
  font-size: 10px; font-weight: 700; line-height: 1;
  letter-spacing: 0.1em; text-transform: uppercase; color: rgba(57,4,4,0.45);
}

/* ── Step 3: HERO (radar + cards) ─────────────────────────────────────────── */
.diag-step--3 { padding: 0; }

/* Título fixo no topo da seção IA (fundo marrom escuro) */
.diag-ai-section__lead { text-align: center; margin-bottom: var(--spacing-xl); }
.diag-ai-section__lead .label { color: rgba(234,218,210,0.4); display: block; margin-bottom: 10px; }
.diag-ai-section__lead h2 {
  font-family: var(--font-title);
  font-size: clamp(28px, 4vw, 50px);
  color: var(--color-cream); line-height: 1.05; margin: 0 0 10px;
}
.diag-result__email-note { font-size: 13px; color: rgba(234,218,210,0.3); margin: 0; }

.diag-result-hero {
  background: var(--color-cream);
  padding: var(--spacing-xl) 0;
}

/* Grid 50/50 no desktop */
.diag-result-hero__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--spacing-xl);
  align-items: start;
}
@media (min-width: 800px) {
  .diag-result-hero__grid {
    grid-template-columns: 1fr 1fr;
    gap: var(--spacing-lg);
  }
}

/* Sub-labels */
.diag-result-hero__sublabel {
  font-size: 10px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase;
  color: rgba(57,4,4,0.35); text-align: center; margin: 0 0 16px;
}

/* Lado esquerdo: radar */
.diag-result-hero__chart { display: flex; flex-direction: column; align-items: center; }
.diag-result-hero__canvas-wrap { width: 100%; max-width: 380px; margin: 0 auto; }

/* Lado direito: 6 cards em 2 colunas */
.diag-result-hero__scores { }
.diag-result-hero__scores .diag-scores {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

/* Card de competência (light/cream theme) */
.diag-score {
  text-align: center; padding: 16px 10px; border-radius: 8px;
  background: transparent; border: 1px solid rgba(57,4,4,0.12);
}
.diag-score__header { display: flex; align-items: center; gap: 6px; justify-content: center; margin-bottom: 10px; }
.diag-score__icon { width: 20px; height: 20px; color: var(--color-rose); flex-shrink: 0; display: flex; align-items: center; justify-content: center; }
.diag-score__icon svg { width: 20px; height: 20px; }
.diag-score__name { font-size: 10px; font-weight: 700; color: rgba(57,4,4,0.65); line-height: 1.2; text-align: left; text-transform: uppercase; letter-spacing: 0.04em; }
.diag-score__ring { width: 68px; height: 68px; margin: 0 auto 8px; }
.diag-score__badge { display: inline-block; padding: 3px 9px; border-radius: 40px; font-size: 9px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; }
.diag-score__badge--verde    { background: rgba(34,197,94,0.12);  color: #166534; }
.diag-score__badge--amarelo  { background: rgba(234,179,8,0.12);  color: #92400e; }
.diag-score__badge--vermelho { background: rgba(187,39,63,0.1);   color: var(--color-primary); }

/* Loading (token) */
.diag-result-hero__meta { margin-top: var(--spacing-md); margin-bottom: var(--spacing-md); }

/* Caixa com borda envolvendo radar + cards + CTAs */
.diag-result-hero__box {
  border: 1px solid rgba(57,4,4,0.14); border-radius: 12px;
  padding: var(--spacing-lg);
}

/* Share buttons abaixo do gráfico teia */
.diag-result-hero__share { display: flex; gap: 8px; margin-top: 16px; justify-content: center; flex-wrap: wrap; }
.diag-result__share-btn { flex: 1; padding: 9px 10px; border-radius: 4px; font-size: 11px; font-weight: 600; font-family: var(--font-body); cursor: pointer; background: transparent; border: 1.5px solid rgba(57,4,4,0.18); color: rgba(57,4,4,0.5); transition: border-color 0.2s, color 0.2s; }
.diag-result__share-btn:hover { border-color: var(--color-dark); color: var(--color-dark); }

/* Token loading (creme) */
#loadingToken { color: rgba(57,4,4,0.5); }
#loadingToken .diag-loading__spinner { border-color: rgba(57,4,4,0.12); border-top-color: var(--color-primary); }
#tokenLoadError { color: var(--color-dark); border-color: rgba(187,39,63,0.35); background: rgba(187,39,63,0.08); }

/* ── Single-question UX (step 2 — Typeform-like) ──────────────────────────── */
.diag-single-q { padding: var(--spacing-xl) 0 var(--spacing-xl); min-height: 75vh; display: flex; flex-direction: column; justify-content: center; opacity: 0; transform: translateY(18px); transition: opacity 0.3s ease, transform 0.3s ease; }
.diag-single-q--visible { opacity: 1; transform: translateY(0); }
.diag-back-btn { background: none; border: none; padding: 0; font-size: 13px; font-weight: 600; color: var(--color-rose); cursor: pointer; transition: opacity 0.2s; font-family: var(--font-body); display: block; align-self: flex-start; margin-bottom: 10px; }
.diag-back-btn:hover { opacity: 0.65; }
.diag-single-q__header { display: flex; align-items: center; justify-content: flex-end; margin-bottom: var(--spacing-md); }
.diag-single-q__count { font-size: 13px; font-weight: 600; color: rgba(57,4,4,0.35); letter-spacing: 0.08em; }
.diag-single-q__text { font-family: var(--font-title); font-size: clamp(20px, 3.5vw, 30px); color: var(--color-dark); line-height: 1.3; margin: 0 0 var(--spacing-lg); }
.diag-single-q__text em { font-style: italic; color: var(--color-rose); display: block; font-size: 0.78em; margin-bottom: 6px; }
.diag-single-q__opts { display: flex; flex-direction: column; gap: 10px; }
.diag-single-opt { display: flex; align-items: center; gap: 12px; width: 100%; padding: 14px 18px; background: rgba(255,255,255,0.5); border: 2px solid rgba(57,4,4,0.1); border-radius: 6px; font-size: 15px; font-family: var(--font-body); font-weight: 500; color: var(--color-dark); text-align: left; cursor: pointer; transition: border-color 0.18s ease, background 0.18s ease, color 0.18s ease, transform 0.14s ease; }
.diag-single-opt:hover { border-color: var(--color-primary); background: rgba(187,39,63,0.04); transform: translateX(4px); }
.diag-single-opt--selected { border-color: var(--color-primary); background: var(--color-primary); color: var(--color-cream); }
.diag-single-opt__key { flex-shrink: 0; width: 26px; height: 26px; display: flex; align-items: center; justify-content: center; background: rgba(57,4,4,0.07); border: 1px solid rgba(57,4,4,0.14); border-radius: 4px; font-size: 11px; font-weight: 700; letter-spacing: 0.05em; color: var(--color-rose); transition: background 0.18s, color 0.18s, border-color 0.18s; }
.diag-single-opt--selected .diag-single-opt__key { background: rgba(255,255,255,0.2); color: var(--color-cream); border-color: rgba(255,255,255,0.3); }
.diag-single-opt__label { flex: 1; }
@media (min-width: 640px) { .diag-single-q__opts { flex-direction: row; flex-wrap: wrap; } .diag-single-opt { flex: 1 1 calc(50% - 5px); } }
@media (min-width: 900px) { .diag-single-opt { flex: 1 1 auto; } }
.diag-single-q__progress-wrap { height: 3px; background: rgba(57,4,4,0.1); border-radius: 2px; margin-bottom: 20px; overflow: hidden; }
.diag-single-q__progress-bar { height: 100%; background: var(--color-primary); border-radius: 2px; transition: width 0.45s ease; }

/* ── AI analysis section — hero do step 3 (fundo marrom escuro) ───────────── */
.diag-ai-section { background: var(--color-darkest); padding: calc(var(--spacing-xl) + 64px) 0 var(--spacing-xl); }
.diag-ai-section__inner { max-width: 820px; margin: 0 auto; }

/* Loading */
.diag-ai-section__loading { display: flex; flex-direction: column; align-items: center; gap: 16px; padding: 48px 0; }
.diag-ai-section__loading .diag-loading__spinner { margin: 0; border-color: rgba(234,218,210,0.1); border-top-color: var(--color-cream); }
.diag-ai-section__loading p { color: rgba(234,218,210,0.45); font-size: 14px; margin: 0; }

/* Cabeçalho: grid 2 colunas
   col 1 = anel (ocupa as 2 linhas centrado)
   col 2 row 1 = label + nome  |  col 2 row 2 = abertura
   Mobile: abertura vai para largura total (col 1/-1) */
.diag-ai-header {
  display: grid;
  grid-template-columns: 100px 1fr;
  grid-template-rows: auto auto;
  column-gap: 28px;
  row-gap: 10px;
  margin-bottom: 48px;
}
.diag-ai-ring { grid-column: 1; grid-row: 1 / 3; align-self: center; width: 100px; height: 100px; }
.diag-ai-ring svg { width: 100%; height: 100%; }
.diag-ai-header__meta { grid-column: 2; grid-row: 1; align-self: end; }
.diag-ai-section .label { color: rgba(234,218,210,0.4); display: block; margin-bottom: 6px; }
.diag-ai-section__nome { font-family: var(--font-title); font-size: clamp(16px, 2vw, 22px); color: rgba(234,218,210,0.7); margin: 0; font-style: italic; line-height: 1.2; }
.diag-ai-section__abertura { grid-column: 2; grid-row: 2; font-size: 15px; line-height: 1.78; color: rgba(234,218,210,0.6); margin: 0; }
.diag-ai-section__texto { font-size: 15px; line-height: 1.78; color: rgba(234,218,210,0.65); }
.diag-ai-section__encerramento { font-size: 14px; line-height: 1.75; color: rgba(234,218,210,0.4); margin: 36px 0 0; font-style: italic; text-align: center; }

/* Grupos (Pilares para trabalhar / Manter) */
.diag-ai-group { margin-bottom: 28px; }
.diag-ai-group__title { font-family: var(--font-body); font-size: 11px; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; margin: 0 0 12px; padding-bottom: 10px; border-bottom: 1px solid rgba(234,218,210,0.1); }
.diag-ai-group__title--neg { color: rgba(251,191,36,0.85); }
.diag-ai-group__title--pos { color: rgba(74,222,128,0.8); }
.diag-ai-cards { display: flex; flex-direction: column; gap: 16px; }

/* Card individual */
.diag-ai-card { background: rgba(255,255,255,0.05); border: 1px solid rgba(234,218,210,0.1); border-radius: 10px; padding: 18px 22px; }
.diag-ai-card__row { display: flex; align-items: center; gap: 16px; }
.diag-ai-card__meta { width: 190px; flex-shrink: 0; }
.diag-ai-card__name { display: block; font-family: var(--font-title); font-size: 17px; color: var(--color-cream); line-height: 1.2; margin-bottom: 3px; }
.diag-ai-card__badge { font-size: 9px; font-weight: 700; letter-spacing: 0.09em; text-transform: uppercase; }
.diag-ai-card__badge--pos { color: rgba(74,222,128,0.85); }
.diag-ai-card__badge--neg { color: rgba(251,191,36,0.85); }
.diag-ai-card__bar-wrap { flex: 1; }
.diag-ai-card__bar { height: 5px; background: rgba(234,218,210,0.1); border-radius: 3px; overflow: hidden; }
.diag-ai-card__fill { height: 100%; border-radius: 3px; transition: width 0.9s cubic-bezier(0.4,0,0.2,1); }
.diag-ai-card__fill--pos { background: rgba(74,222,128,0.75); }
.diag-ai-card__fill--neg { background: rgba(251,191,36,0.75); }
.diag-ai-card__score { width: 52px; text-align: right; flex-shrink: 0; font-family: var(--font-title); color: var(--color-cream); white-space: nowrap; line-height: 1; }
.diag-ai-card__score strong { font-size: 20px; }
.diag-ai-card__score small { font-size: 10px; color: rgba(234,218,210,0.35); margin-left: 1px; }
/* Variante crítica (pct < 40%) — acentos em vermelho sobre vinho escuro */
.diag-ai-card--critical { border-color: rgba(248,113,113,0.2); }
.diag-ai-card--critical .diag-ai-card__badge { color: #f87171; }
.diag-ai-card--critical .diag-ai-card__score { color: #fca5a5; }
.diag-ai-card--critical .diag-ai-card__score small { color: rgba(252,165,165,0.4); }
.diag-ai-card--critical .diag-ai-card__fill--neg { background: #dc2626; }
.diag-ai-card--critical .diag-ai-card__texto { color: rgba(252,165,165,0.85); }
.diag-ai-card--critical .diag-ai-card__tip--neg { background: rgba(220,38,38,0.12); color: #fca5a5; border: 1px solid rgba(220,38,38,0.25); }

.diag-ai-card__texto { font-size: 13px; line-height: 1.65; color: rgba(234,218,210,0.82); margin: 10px 0 0; }
.diag-ai-card__tip { margin-top: 10px; padding: 9px 14px; border-radius: 6px; font-size: 13px; line-height: 1.55; }
.diag-ai-card__tip--neg { background: rgba(251,191,36,0.1); color: rgba(251,191,36,0.95); }

/* Atribuição discreta da IA */
.diag-ai-attribution { font-size: 11px; color: rgba(234,218,210,0.22); text-align: center; margin: 20px 0 0; letter-spacing: 0.02em; line-height: 1.6; }
.diag-ai-attribution em { font-style: italic; }

/* CTA ao fim da análise */
.diag-ai-cta { margin-top: var(--spacing-xl); padding-top: var(--spacing-lg); border-top: 1px solid rgba(234,218,210,0.1); text-align: center; }
.diag-ai-cta__headline { font-family: var(--font-title); font-size: clamp(18px, 2.5vw, 26px); color: var(--color-cream); margin: 0 0 24px; line-height: 1.2; }
.diag-ai-cta__btns { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }
.diag-ai-cta__btn { display: inline-block; padding: 14px 28px; border-radius: 6px; font-family: var(--font-body); font-size: 14px; font-weight: 700; text-decoration: none; text-align: center; transition: background 0.2s, border-color 0.2s, color 0.2s; min-width: 260px; }
.diag-ai-cta__btn--primary { background: #22c55e; color: #fff; animation: pulsaVerde 2.4s ease-in-out infinite; }
.diag-ai-cta__btn--primary:hover { background: #16a34a; animation: none; }
.diag-ai-cta__btn--secondary { background: transparent; color: rgba(234,218,210,0.65); border: 1.5px solid rgba(234,218,210,0.25); }
.diag-ai-cta__btn--secondary:hover { border-color: rgba(234,218,210,0.6); color: var(--color-cream); }


/* Header da seção de perfil (creme) */
.diag-result-hero__header { text-align: center; margin-bottom: var(--spacing-lg); }
.diag-result-hero__header .label { color: rgba(57,4,4,0.4); display: block; margin-bottom: 8px; }
.diag-result-hero__header h2 { font-family: var(--font-title); font-size: clamp(24px, 3.5vw, 40px); color: var(--color-darkest); margin: 0; line-height: 1.1; }

@media (max-width: 600px) {
  /* Header: anel em linha própria, centralizado entre título e nome */
  .diag-ai-section__inner { margin-top: 20px; }
  .diag-ai-header { display: flex; flex-direction: column; align-items: stretch; margin-bottom: 32px; gap: 12px; }
  .diag-ai-ring { width: 80px; height: 80px; margin: 0 auto; }
  .diag-ai-header__meta { align-self: stretch; text-align: center; }
  .diag-ai-section__nome { font-size: 15px; text-align: center; display: block; width: 100%; }
  .diag-ai-section__abertura { text-align: center; }
  /* Box wrapper: sem borda/padding no mobile — elementos ocupam o palco completo */
  .diag-result-hero__box { border: none; border-radius: 0; padding: 0; }
  /* Cards: nome + score na primeira linha, barra abaixo */
  .diag-ai-card { padding: 14px 16px; }
  .diag-ai-card__row { flex-wrap: wrap; gap: 6px 10px; align-items: center; }
  .diag-ai-card__meta { width: auto; flex: 1; min-width: 0; }
  .diag-ai-card__name { font-size: 14px; }
  .diag-ai-card__bar-wrap { width: 100%; order: 3; margin-top: 2px; }
  .diag-ai-card__score strong { font-size: 17px; }
  /* CTAs */
  .diag-ai-cta__btns { flex-direction: column; align-items: stretch; }
  .diag-ai-cta__btn { text-align: center; }
}

/* ── Course CTA section (step 3) ──────────────────────────────────────────── */
@keyframes pulsaVerde {
  0%, 100% { box-shadow: 0 0 0 0 rgba(34,197,94,0.5); }
  60%       { box-shadow: 0 0 0 12px rgba(34,197,94,0); }
}
.diag-curso-cta { background: var(--color-darkest); padding: var(--spacing-xxl) 0; border-top: 1px solid rgba(234,218,210,0.06); }
.diag-curso-cta__header { text-align: center; margin-bottom: var(--spacing-xl); }
.diag-curso-cta__header .label { color: rgba(234,218,210,0.4); display: block; margin-bottom: 12px; }
.diag-curso-cta__header h2 { font-family: var(--font-title); font-size: clamp(24px, 4vw, 44px); color: var(--color-cream); margin: 0 0 20px; line-height: 1.1; }
.diag-curso-cta__header h2 em { font-style: italic; color: rgba(234,218,210,0.6); }
.diag-curso-cta__header .diag-curso-cta__meta { justify-content: center; }
.diag-curso-cta__grid { display: grid; grid-template-columns: 1fr; gap: var(--spacing-xl); align-items: stretch; }
@media (min-width: 768px) { .diag-curso-cta__grid { grid-template-columns: 1fr 320px; gap: 48px; } }
/* Video col */
.diag-curso-cta__video { display: flex; flex-direction: column; }
/* Video facade */
.diag-curso-cta__video-player { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; border-radius: 8px; box-shadow: 0 20px 60px rgba(0,0,0,0.55); cursor: pointer; background: #000; }
.diag-curso-cta__video-player img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; transition: opacity 0.3s; }
.diag-curso-cta__video-player:hover img { opacity: 0.85; }
.diag-curso-cta__video-player iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: none; }
.diag-curso-cta__play-btn { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); background: none; border: none; cursor: pointer; padding: 0; transition: transform 0.2s; pointer-events: none; }
.diag-curso-cta__video-player:hover .diag-curso-cta__play-btn { transform: translate(-50%,-50%) scale(1.1); }
.diag-curso-cta__meta { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.diag-curso-cta__meta span { font-size: 12px; color: rgba(234,218,210,0.55); background: rgba(255,255,255,0.05); border: 1px solid rgba(234,218,210,0.12); padding: 5px 12px; border-radius: 20px; letter-spacing: 0.03em; }
/* Offer card */
.diag-curso-cta__offer { text-align: center; background: rgba(255,255,255,0.04); border: 1px solid rgba(234,218,210,0.12); border-radius: 12px; padding: 32px 28px; display: flex; flex-direction: column; justify-content: center; }
.diag-curso-cta__curso-name { font-family: var(--font-title); font-size: 17px; color: rgba(234,218,210,0.75); line-height: 1.3; margin: 0 0 20px; font-style: italic; }
.diag-curso-cta__de { font-size: 13px; color: rgba(234,218,210,0.4); margin: 0 0 2px; }
.diag-curso-cta__de s { color: rgba(234,218,210,0.25); }
.diag-curso-cta__parcelas-label { font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; color: rgba(234,218,210,0.4); margin: 0 0 2px; }
.diag-curso-cta__price { font-family: var(--font-title); font-size: 44px; color: var(--color-cream); margin: 0 0 4px; line-height: 1; }
.diag-curso-cta__avista { font-size: 12px; color: rgba(234,218,210,0.3); margin: 0 0 24px; }
.diag-curso-cta__btn { display: block; padding: 16px 20px; background: #22c55e; color: #fff; font-family: var(--font-body); font-size: 15px; font-weight: 700; letter-spacing: 0.02em; border-radius: 6px; text-decoration: none; transition: background 0.2s, transform 0.15s; animation: pulsaVerde 2.4s ease-in-out infinite; margin-bottom: 14px; }
.diag-curso-cta__btn:hover { background: #16a34a; transform: translateY(-2px); animation: none; }
.diag-curso-cta__fine { font-size: 12px; color: rgba(234,218,210,0.3); margin: 0 0 10px; line-height: 1.55; }
.diag-curso-cta__garantia { font-size: 12px; color: rgba(74,222,128,0.8); margin: 0; font-weight: 600; }
@media (max-width: 767px) { .diag-curso-cta__offer { padding: 24px 20px; } .diag-curso-cta__price { font-size: 38px; } }

.diag-produtos { background: var(--color-cream); padding: var(--spacing-xxl) 0; }
.diag-produtos__header { text-align: center; margin-bottom: var(--spacing-xl); }
.diag-produtos__header .label { color: var(--color-rose); display: block; margin-bottom: 12px; }
.diag-produtos__title { font-family: var(--font-title); font-size: clamp(28px, 4vw, 48px); color: var(--color-dark); margin: 0; line-height: 1.1; }
.diag-produtos__grid { display: grid; grid-template-columns: 1fr; gap: 20px; }
@media (min-width: 768px) { .diag-produtos__grid { grid-template-columns: repeat(3, 1fr); } }
.diag-produto-card { background: rgba(255,255,255,0.7); border: 1px solid rgba(57,4,4,0.1); border-radius: 8px; padding: 32px 28px; display: flex; flex-direction: column; }
.diag-produto-card__num { font-size: 11px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--color-primary); margin-bottom: 12px; }
.diag-produto-card__title { font-family: var(--font-title); font-size: 22px; color: var(--color-dark); margin: 0 0 12px; }
.diag-produto-card__text { font-size: 14px; color: rgba(57,4,4,0.6); line-height: 1.65; margin: 0 0 24px; flex: 1; }
.diag-produto-card__link { font-size: 13px; font-weight: 600; color: var(--color-primary); text-decoration: none; letter-spacing: 0.02em; transition: opacity 0.2s; }
.diag-produto-card__link:hover { opacity: 0.7; }
.diag-loading { display: none; text-align: center; padding: 80px 0; color: rgba(234,218,210,0.5); }
.diag-loading.active { display: block; }
.diag-loading__spinner { width: 40px; height: 40px; border: 3px solid rgba(234,218,210,0.2); border-top-color: var(--color-cream); border-radius: 50%; animation: spin 0.7s linear infinite; margin: 0 auto 20px; }
@keyframes spin { to { transform: rotate(360deg); } }
.diag-error { display: none; max-width: 480px; margin: 24px auto 0; padding: 14px 20px; background: rgba(187,39,63,0.15); border: 1px solid rgba(187,39,63,0.3); border-radius: 4px; color: var(--color-cream); font-size: 14px; text-align: center; }
.diag-error.active { display: block; }
@media print {
  /* ── Ocultar elementos de navegação e interação ── */
  .header, .diag-hero, .diag-step--1, .diag-step--2,
  .diag-curso-cta, .diag-produtos, .footer,
  .cookie-banner, .fab-whatsapp, .diag-sticky-bar,
  .diag-result-hero__share, .diag-result__share-btn,
  .diag-ai-cta, .diag-ai-attribution,
  .diag-ai-section__loading, #aiLoading,
  .diag-result-hero__meta { display: none !important; }

  /* ── Mostrar step 3 completo ── */
  .diag-step--3 { display: block !important; }
  .diag-ai-section,
  .diag-ai-section__inner,
  .diag-ai-section__lead { display: block !important; }
  #aiContent { display: block !important; }

  /* ── Fundo branco global ── */
  * { -webkit-print-color-adjust: exact !important; print-color-adjust: exact !important; }
  body, .diag-step--3 { background: #fff !important; color: #390404 !important; }

  /* ── AI section: lead ── */
  .diag-ai-section { background: #fff !important; padding: 24px 0 0 !important; }
  .diag-ai-section__lead .label { color: #bb273f !important; }
  .diag-ai-section__lead h2 { color: #390404 !important; font-size: 28px !important; }
  .diag-ai-section__lead p { color: #5b0220 !important; }

  /* ── AI header (ring + nome + abertura) ── */
  .diag-ai-header { background: transparent !important; border-radius: 0 !important; }
  .diag-ai-section__nome { color: #5b0220 !important; }
  .diag-ai-section__abertura { color: #390404 !important; }

  /* ── Ring: manter cores com SVG ── */
  .diag-ai-ring svg text { fill: #390404 !important; }

  /* ── Group titles ── */
  .diag-ai-group__title { color: #390404 !important; border-bottom-color: rgba(57,4,4,0.2) !important; }
  .diag-ai-group__title--neg { color: #92400e !important; }
  .diag-ai-group__title--pos { color: #15803d !important; }

  /* ── Cards ── */
  .diag-ai-card { background: #faf6f4 !important; border: 1px solid rgba(57,4,4,0.15) !important; page-break-inside: avoid; }
  .diag-ai-card--critical { border-color: rgba(187,39,63,0.25) !important; }
  .diag-ai-card__name { color: #390404 !important; }

  /* Badges */
  .diag-ai-card__badge--neg { color: #92400e !important; }
  .diag-ai-card__badge--pos { color: #15803d !important; }
  .diag-ai-card--critical .diag-ai-card__badge { color: #bb273f !important; }

  /* Score */
  .diag-ai-card__score { color: #390404 !important; }
  .diag-ai-card__score small { color: rgba(57,4,4,0.4) !important; }
  .diag-ai-card--critical .diag-ai-card__score { color: #bb273f !important; }

  /* Barra de progresso */
  .diag-ai-card__bar { background: rgba(57,4,4,0.1) !important; }
  .diag-ai-card__fill--neg { background: #d97706 !important; }
  .diag-ai-card__fill--pos { background: #16a34a !important; }
  .diag-ai-card--critical .diag-ai-card__fill--neg { background: #bb273f !important; }

  /* Texto e tip */
  .diag-ai-card__texto { color: rgba(57,4,4,0.85) !important; }
  .diag-ai-card--critical .diag-ai-card__texto { color: rgba(187,39,63,0.85) !important; }
  .diag-ai-card__tip--neg { background: rgba(217,119,6,0.07) !important; color: #78350f !important; border: 1px solid rgba(217,119,6,0.2) !important; }
  .diag-ai-card--critical .diag-ai-card__tip--neg { background: rgba(187,39,63,0.06) !important; color: #9f1239 !important; border-color: rgba(187,39,63,0.2) !important; }

  /* Encerramento */
  .diag-ai-section__encerramento { color: rgba(57,4,4,0.65) !important; }

  /* ── Seção do radar ── */
  .diag-result-hero { background: #fff !important; }
  .diag-result-hero__box { background: #fff !important; border-color: rgba(57,4,4,0.15) !important; }
  .diag-result-hero__header .label { color: #bb273f !important; }
  .diag-result-hero__header h2 { color: #390404 !important; }
  .diag-result-hero__sublabel { color: #5b0220 !important; }

  /* ── Score cards ── */
  .diag-score { background: #fff !important; border: 1px solid rgba(57,4,4,0.12) !important; page-break-inside: avoid; }
  .diag-score__name { color: #390404 !important; }
  .diag-score__badge { color: #390404 !important; }

  /* ── Quebra de página ── */
  .diag-ai-section { page-break-after: always; }
}


/* ============================================================
   PÁGINA: MENTORIA
   ============================================================ */

.ment-hero { background: var(--color-primary); padding: 120px 0 80px; text-align: center; }
.ment-hero .label { color: rgba(234,218,210,0.65); font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; font-weight: 600; display: block; margin-bottom: 20px; }
.ment-hero h1 { font-family: var(--font-title); font-size: clamp(36px, 6vw, 66px); color: var(--color-cream); line-height: 1.05; margin: 0 0 24px; }
.ment-hero h1 em { font-style: italic; color: rgba(234,218,210,0.8); }
.ment-hero__sub { color: rgba(234,218,210,0.72); font-size: 18px; max-width: 540px; margin: 0 auto 32px; line-height: 1.65; }
.ment-hero__actions { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }
.ment-hero__video { max-width: 760px; width: 100%; margin: 0 auto 40px; }
.ment-hero__video-player { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; border-radius: 4px; box-shadow: 0 20px 60px rgba(0,0,0,0.45); }
.ment-hero__video-player iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: none; }
.ment-intro { background: var(--color-cream); padding: var(--spacing-xl) 0; text-align: center; }
.ment-intro__text { max-width: 640px; margin: 0 auto; font-size: 18px; line-height: 1.75; color: var(--color-dark); }
.ment-intro__text strong { color: var(--color-primary); }
.ment-modalidades { background: var(--color-darkest); padding: var(--spacing-xxl) 0; }
.ment-modalidades .label { display: block; text-align: center; margin-bottom: var(--spacing-lg); color: rgba(234,218,210,0.55); }
.ment-modalidades__intro { text-align: center; margin-bottom: var(--spacing-xl); }
.ment-modalidades__title { font-family: var(--font-title); font-size: clamp(26px, 3.5vw, 40px); color: var(--color-cream); margin: 0; line-height: 1.15; }
.ment-modalidades__title em { font-style: italic; color: rgba(234,218,210,0.65); }
.ment-cards { display: grid; grid-template-columns: 1fr; gap: 32px; }
@media (min-width: 768px) { .ment-cards { grid-template-columns: 1fr 1fr; gap: 40px; } }
.ment-card { border-radius: 4px; overflow: hidden; display: flex; flex-direction: column; }
.ment-card--individual { background: var(--color-primary); color: var(--color-cream); }
.ment-card--grupo { background: var(--color-darkest); color: var(--color-cream); }
.ment-card__header { padding: 40px 40px 28px; border-bottom: 1px solid rgba(234,218,210,0.15); }
.ment-card__badge { display: inline-block; font-size: 10px; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; padding: 5px 12px; border-radius: 2px; margin-bottom: 20px; }
.ment-card--individual .ment-card__badge { background: rgba(234,218,210,0.15); color: var(--color-cream); }
.ment-card--grupo .ment-card__badge { background: rgba(187,39,63,0.25); color: rgba(234,218,210,0.85); }
.ment-card__title { font-family: var(--font-title); font-size: clamp(26px, 3.5vw, 34px); line-height: 1.1; margin: 0 0 12px; color: var(--color-cream); }
.ment-card__desc { font-size: 15px; line-height: 1.65; color: rgba(234,218,210,0.75); margin: 0; }
.ment-card__body { padding: 32px 40px 40px; flex: 1; display: flex; flex-direction: column; }
.ment-card__list { list-style: none; padding: 0; margin: 0 0 36px; display: flex; flex-direction: column; gap: 14px; }
.ment-card__list li { display: flex; align-items: flex-start; gap: 12px; font-size: 15px; line-height: 1.55; color: rgba(234,218,210,0.9); }
.ment-card__list li::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: var(--color-cream); flex-shrink: 0; margin-top: 7px; opacity: 0.6; }
.ment-card--individual .ment-card__list li::before { opacity: 0.8; }
.ment-card__cta { margin-top: auto; }
.ment-card--individual .ment-card__cta .btn--card { background: var(--color-cream); color: var(--color-primary); border: none; }
.ment-card--individual .ment-card__cta .btn--card:hover { background: rgba(234,218,210,0.88); }
.ment-card--grupo .ment-card__cta .btn--card { background: var(--color-primary); color: var(--color-cream); border: none; }
.ment-card--grupo .ment-card__cta .btn--card:hover { background: var(--color-darkest); }
.btn--card { display: inline-block; padding: 14px 28px; border-radius: 4px; font-family: var(--font-body); font-weight: 700; font-size: 15px; text-decoration: none; transition: background var(--ease), color var(--ease); }
.ment-card__preco { border-top: 1px solid rgba(234,218,210,0.15); padding: 24px 0 28px; margin: 0 0 28px; }
.ment-card__preco-label { font-size: 11px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: rgba(234,218,210,0.5); margin: 0 0 10px; }
.ment-card__preco-valor { font-family: var(--font-title); font-size: clamp(32px, 4vw, 44px); color: var(--color-cream); line-height: 1; margin: 0 0 8px; }
.ment-card__preco-parcelas { font-size: 14px; color: rgba(234,218,210,0.6); margin: 0; }
.ment-paraquem { background: var(--color-cream); padding: var(--spacing-xxl) 0; }
.ment-paraquem__grid { display: grid; grid-template-columns: 1fr; gap: 48px; }
@media (min-width: 768px) { .ment-paraquem__grid { grid-template-columns: 1fr 1fr; gap: 64px; } }
.ment-paraquem__intro { margin-bottom: var(--spacing-xl); }
.ment-paraquem__intro .label { color: var(--color-rose); }
.ment-paraquem__intro h2 { font-family: var(--font-title); font-size: clamp(28px, 4vw, 44px); color: var(--color-dark); line-height: 1.15; margin: 12px 0 0; }
.ment-paraquem__intro h2 em { color: var(--color-primary); font-style: italic; }
.ment-list-block h3 { font-family: var(--font-title); font-size: 20px; color: var(--color-dark); margin: 0 0 20px; }
.ment-list-block ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 12px; }
.ment-list-block li { display: flex; align-items: flex-start; gap: 10px; font-size: 15px; color: var(--color-dark); line-height: 1.55; }
.ment-list-block li::before { content: ''; width: 5px; height: 5px; border-radius: 50%; background: var(--color-primary); flex-shrink: 0; margin-top: 8px; }
.ment-list-block--nao h3 { color: var(--color-rose); }
.ment-list-block--nao li::before { background: var(--color-rose); }
.ment-depoimentos { background: var(--color-darkest); padding: var(--spacing-xxl) 0; }
.ment-depoimentos__intro { text-align: center; margin-bottom: var(--spacing-xl); }
.ment-depoimentos__intro .label { color: rgba(234,218,210,0.4); }
.ment-depoimentos__intro h2 { font-family: var(--font-title); font-size: clamp(28px, 4vw, 44px); color: var(--color-cream); line-height: 1.15; margin: 12px 0 0; }
.ment-depoimentos__intro h2 em { color: rgba(234,218,210,0.5); font-style: italic; }
.ment-depos-grid { display: grid; grid-template-columns: 1fr; gap: 24px; }
@media (min-width: 640px) { .ment-depos-grid { grid-template-columns: 1fr 1fr; } }
.ment-depo { background: rgba(234,218,210,0.05); padding: 32px; border-left: 2px solid var(--color-primary); }
.ment-depo__text { font-size: 15px; line-height: 1.75; color: rgba(234,218,210,0.78); margin: 0 0 24px; font-style: italic; }
.ment-depo__text::before { content: '\201C'; }
.ment-depo__text::after  { content: '\201D'; }
.ment-depo__author { display: flex; align-items: center; gap: 12px; }
.ment-depo__avatar { width: 36px; height: 36px; border-radius: 50%; background: var(--color-primary); display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 14px; color: var(--color-cream); flex-shrink: 0; }
.ment-depo__name { font-size: 13px; font-weight: 600; color: var(--color-cream); }
.ment-depo__role { font-size: 12px; color: rgba(234,218,210,0.4); margin-top: 2px; }
.ment-faq { background: var(--color-cream); padding: var(--spacing-xxl) 0; }
.ment-faq__intro { text-align: center; margin-bottom: var(--spacing-xl); }
.ment-faq__intro .label { color: var(--color-rose); }
.ment-faq__intro h2 { font-family: var(--font-title); font-size: clamp(28px, 4vw, 44px); color: var(--color-dark); line-height: 1.15; margin: 12px 0 0; }
.ment-faq__intro h2 em { color: var(--color-primary); font-style: italic; }
.ment-faq__list { max-width: 720px; margin: 0 auto; display: flex; flex-direction: column; gap: 4px; }
.ment-faq__item { border-bottom: 1px solid rgba(57,4,4,0.1); }
.ment-faq__question { width: 100%; background: none; border: none; padding: 22px 0; text-align: left; font-family: var(--font-body); font-size: 16px; font-weight: 600; color: var(--color-dark); cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.ment-faq__question::after { content: '+'; font-size: 20px; color: var(--color-primary); flex-shrink: 0; transition: transform var(--ease); font-weight: 400; }
.ment-faq__item.open .ment-faq__question::after { transform: rotate(45deg); }
.ment-faq__answer { display: none; padding: 0 0 22px; font-size: 15px; line-height: 1.75; color: var(--color-rose); }
.ment-faq__item.open .ment-faq__answer { display: block; }
.ment-cta { background: var(--color-primary); padding: var(--spacing-xxl) 0; text-align: center; }
.ment-cta .label { color: rgba(234,218,210,0.5); }
.ment-cta h2 { font-family: var(--font-title); font-size: clamp(30px, 4.5vw, 52px); color: var(--color-cream); line-height: 1.1; margin: 12px 0 20px; }
.ment-cta h2 em { font-style: italic; color: rgba(234,218,210,0.65); }
.ment-cta p { color: rgba(234,218,210,0.65); font-size: 16px; max-width: 460px; margin: 0 auto 40px; line-height: 1.65; }
.ment-cta__actions { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }
.ment-cta__note { margin-top: 20px; font-size: 12px; color: rgba(234,218,210,0.35); letter-spacing: 0.06em; }


/* ============================================================
   PÁGINAS LEGAIS (política de privacidade / termos de uso)
   ============================================================ */

.legal-hero { background: var(--color-darkest); padding: 120px 0 56px; }
.legal-hero .label { color: rgba(234,218,210,0.4); }
.legal-hero h1 { font-family: var(--font-title); font-size: clamp(32px, 5vw, 52px); color: var(--color-cream); margin: 12px 0 16px; font-weight: 400; }
.legal-hero__meta { font-size: 13px; color: rgba(234,218,210,0.4); letter-spacing: 0.04em; }
.legal-body { background: var(--color-cream); padding: var(--spacing-xxl) 0; }
.legal-content { max-width: 780px; }
.legal-content h2 { font-family: var(--font-title); font-size: clamp(22px, 2.5vw, 28px); color: var(--color-dark); font-weight: 400; margin: var(--spacing-xl) 0 var(--spacing-md); padding-top: var(--spacing-lg); border-top: 1px solid rgba(57,4,4,0.1); }
.legal-content h2:first-of-type { margin-top: 0; padding-top: 0; border-top: none; }
.legal-content h3 { font-family: var(--font-body); font-size: 16px; font-weight: 600; color: var(--color-dark); margin: var(--spacing-lg) 0 var(--spacing-sm); }
.legal-content p { font-size: 16px; color: rgba(57,4,4,0.8); line-height: 1.8; margin-bottom: var(--spacing-md); }
.legal-content ul { margin: 0 0 var(--spacing-md) var(--spacing-lg); padding: 0; }
.legal-content ul li { font-size: 15px; color: rgba(57,4,4,0.75); line-height: 1.75; margin-bottom: 8px; }
.legal-content a { color: var(--color-primary); text-decoration: underline; text-underline-offset: 2px; }
.legal-content strong { color: var(--color-dark); font-weight: 600; }
.legal-highlight { background: rgba(187,39,63,0.06); border-left: 3px solid var(--color-primary); padding: 16px 20px; border-radius: 0 4px 4px 0; margin: var(--spacing-md) 0; }
.legal-highlight p { margin: 0; font-size: 15px; }
.legal-nav { background: var(--color-cream); padding: var(--spacing-lg) 0; border-top: 1px solid rgba(57,4,4,0.1); }
.legal-nav__links { display: flex; gap: var(--spacing-lg); font-size: 14px; flex-wrap: wrap; }
.legal-nav__links a { color: rgba(57,4,4,0.5); text-decoration: none; }
.legal-nav__links a:hover { color: var(--color-primary); }


/* ============================================================
   RESPONSIVO — MOBILE (max-width: 639px)
   ============================================================ */
@media (max-width: 639px) {

  /* Reduzir espaçamento vertical das seções no mobile */
  :root {
    --spacing-xxl: 64px;
  }

  /* Modal fullscreen no mobile */
  .lc-overlay {
    padding: 0;
    align-items: flex-start;
  }

  .lc-modal {
    max-width: 100%;
    width: 100%;
    min-height: 100%;
    border-radius: 0;
    padding: 56px 24px 40px;
    overflow-y: auto;
  }

}

/* ── Carrossel misto: card de vídeo dentro do Swiper ── */
.dep-video-card {
  background: var(--color-darkest);
  border: 1px solid rgba(187,39,63,0.18);
  border-radius: 4px;
  overflow: hidden;
  height: 100%;
}


/* Carrossel misto cursos: igualar altura dos slides à do vídeo */
#deposSwiper .swiper-wrapper { align-items: stretch; }
#deposSwiper .swiper-slide   { display: flex; height: auto; }
#deposSwiper .dep-video-card,
#deposSwiper .dep-escrito-card { flex: 1; height: 100%; }

/* Previne drag nativo de imagem interceptar o swipe do Swiper */
#deposSwiper .dep-video-poster {
  pointer-events: none;
  -webkit-user-drag: none;
  user-select: none;
  -webkit-user-select: none;
}

/* Garante que o botão de play continue clicável */
#deposSwiper .dep-video-play {
  pointer-events: auto;
}
