/* SEO 2026-08-25 (Core Web Vitals): a home e as landings tinham CLS de 0,139 a
   0,155, acima do limite de 0,1 do Google. As camadas mediram deslocamento de 5
   a 41 pixels entre 2,0s e 2,3s, sem nenhuma imagem entrando: e a troca da fonte.
   O Inter chega do Google Fonts com display=swap, e o texto redesenhado com
   metrica diferente da fonte de sistema empurra tudo o que vem abaixo.
   A face abaixo nao baixa nada: ela so reapresenta a Arial local com a metrica
   do Inter, de modo que a primeira pintura ja ocupe a altura final. */
@font-face {
  font-family: 'Inter Fallback';
  src: local('Arial'), local('Helvetica Neue'), local('Liberation Sans');
  font-style: normal;
  font-weight: 100 900;
  size-adjust: 107.12%;
  ascent-override: 90.44%;
  descent-override: 22.52%;
  line-gap-override: 0%;
}
@font-face {
  font-family: 'Jakarta Fallback';
  src: local('Arial'), local('Helvetica Neue'), local('Liberation Sans');
  font-style: normal;
  font-weight: 100 900;
  size-adjust: 105.25%;
  ascent-override: 100.24%;
  descent-override: 21.15%;
  line-gap-override: 0%;
}

/* ============================================================================
 Sistema visual mh- : padrao unico das paginas publicas (home e landings de curso).
 Extraido, sem alterar um valor sequer, do bloco <style> que morava dentro de
 pages/home.php. Ficava preso la e por isso nenhuma outra pagina conseguia usar
 o padrao: a landing de curso acabou ganhando um sistema proprio, verde, fora da
 marca. Agora home.php e curso.php carregam esta mesma folha.
 A identidade e roxo (--mh-purple*) com dourado (--mh-gold*). Nao pintar pagina
 publica com cor vinda do banco.
============================================================================ */
:root{
  --mh-purple-soft:#A78BFA;
  --mh-purple:#7C3AED;
  --mh-purple-dark:#5B21B6;
  --mh-purple-deep:#4C1D95;
  --mh-purple-tint:#EDE9FE;
  --mh-purple-glow:rgba(124,58,237,.22);
  --mh-dark-900:#0a0613;
  --mh-dark-800:#1a0f3c;
  --mh-dark-700:#2d1b69;
  --mh-gray-900:#0f172a;
  --mh-gray-800:#1e293b;
  --mh-gray-700:#334155;
  --mh-gray-600:#475569;
  --mh-gray-500:#64748b;
  --mh-gray-400:#94a3b8;
  --mh-gray-300:#cbd5e1;
  --mh-gray-200:#e2e8f0;
  --mh-gray-100:#f1f5f9;
  --mh-gray-50:#f8fafc;
  --mh-warning:#b45309;
  /* Dourado: respiro estratégico contra tanto roxo. O ramp vai do claro
     (soft, texto e badge sobre fundo escuro) ao escuro (deep, fim de
     gradiente). Manter os três distintos: achatar tudo em um tom só derruba
     o contraste do badge e apaga o CTA dourado. */
  --mh-gold:#f59e0b;
  --mh-gold-soft:#fcd34d;
  --mh-gold-deep:#B45309;
  --mh-gold-glow:rgba(245,158,11,.30);
  --mh-gold-tint:rgba(252,211,77,.12);
  --mh-radius-sm:8px;
  --mh-radius-md:12px;
  --mh-radius-lg:16px;
  --mh-radius-xl:22px;
}
.mh-body { margin:0; background:var(--mh-dark-900); }
.mh-shell *, .mh-shell *::before, .mh-shell *::after { box-sizing:border-box; }
.mh-shell {
  font-family:'Inter','Inter Fallback',system-ui,-apple-system,sans-serif;
  background:linear-gradient(135deg, var(--mh-dark-900) 0%, var(--mh-dark-800) 55%, var(--mh-dark-700) 100%);
  color:var(--mh-gray-200);
  position:relative;
  overflow-x:hidden;
  min-height:100vh;
  -webkit-font-smoothing:antialiased;
}
.mh-shell::before{
  content:'';
  position:fixed; inset:0; pointer-events:none; z-index:0;
  background:
    radial-gradient(circle at 20% 10%, rgba(167,139,250,.14), transparent 55%),
    radial-gradient(circle at 80% 90%, rgba(124,58,237,.12), transparent 60%);
}
.mh-container { position:relative; z-index:1; max-width:1180px; margin:0 auto; padding:24px 20px 0; }

/* TOPBAR */
.mh-topbar {
  display:flex; justify-content:space-between; align-items:center; margin-bottom:32px;
  gap:16px; flex-wrap:wrap; padding:12px 16px;
  border:1px solid rgba(255,255,255,.08); border-radius:18px;
  background:rgba(15,8,36,.58); box-shadow:0 16px 34px rgba(0,0,0,.18);
  -webkit-backdrop-filter:blur(16px); backdrop-filter:blur(16px);
}
.mh-topbar-logo { display:flex; align-items:center; min-height:50px; }
.mh-topbar-logo img { height:52px; width:auto; filter:drop-shadow(0 3px 10px rgba(0,0,0,.38)); transition:transform .25s ease, filter .25s ease; }
.mh-topbar-logo:hover img { transform:translateY(-1px) scale(1.025); filter:drop-shadow(0 5px 14px rgba(167,139,250,.24)); }
.mh-topbar-links { display:flex; gap:18px; align-items:center; }
.mh-topbar-link { color:var(--mh-gray-300); font-size:13.5px; text-decoration:none; font-weight:500; transition:color .15s; }
.mh-topbar-link:hover { color:var(--mh-purple-soft); }
.mh-topbar-cta { display:inline-flex; align-items:center; gap:8px; padding:9px 18px; background:rgba(124,58,237,.15); border:1px solid rgba(167,139,250,.35); color:#fff; border-radius:999px; font-size:13px; font-weight:600; text-decoration:none; transition:all .15s; }
.mh-topbar-cta:hover { background:rgba(124,58,237,.28); border-color:var(--mh-purple-soft); }
.mh-topbar-linkedin { display:inline-flex; align-items:center; justify-content:center; width:38px; height:38px; border-radius:10px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12); color:#fff; text-decoration:none; font-size:17px; transition:background .2s, border-color .2s, transform .2s; }
.mh-topbar-linkedin:hover { background:#0a66c2; border-color:#0a66c2; transform:translateY(-1px); }
.mh-topbar-linkedin svg { width:18px; height:18px; }
@media (max-width:560px) { .mh-topbar-links .mh-topbar-link { display:none; } }

/* HERO */
.mh-hero { display:grid; grid-template-columns:1.15fr .85fr; gap:48px; align-items:center; margin-bottom:64px; }
@media (max-width:900px) { .mh-hero { grid-template-columns:1fr; gap:32px; text-align:center; } }
.mh-hero-badge {
  display:inline-flex; align-items:center; gap:8px;
  padding:7px 16px;
  background:rgba(245,158,11,.14);
  border:1px solid rgba(252,211,77,.36);
  border-radius:999px;
  color:var(--mh-gold-soft);
  font-size:12px; font-weight:700; letter-spacing:1.2px; text-transform:uppercase;
  margin-bottom:18px;
}
.mh-hero-badge::before { content:''; width:6px; height:6px; border-radius:50%; background:var(--mh-gold-soft); box-shadow:0 0 0 4px rgba(252,211,77,.25); animation:mh-pulse-gold 2.4s ease-in-out infinite; }
@keyframes mh-pulse-gold { 0%,100%{box-shadow:0 0 0 4px rgba(252,211,77,.25)} 50%{box-shadow:0 0 0 7px rgba(252,211,77,.10)} }
.mh-hero h1 {
  font-size:clamp(2rem, 5vw, 3.4rem);
  font-weight:800;
  color:#fff;
  letter-spacing:-.025em;
  line-height:1.08;
  margin:0 0 18px;
}
.mh-hero h1 em { color:var(--mh-purple-soft); font-style:italic; font-weight:700; }
.mh-hero p { color:var(--mh-gray-300); font-size:17px; line-height:1.65; margin:0 0 28px; max-width:560px; }
@media (max-width:900px) { .mh-hero p { margin-left:auto; margin-right:auto; } }
.mh-hero-ctas { display:flex; gap:12px; flex-wrap:wrap; }
@media (max-width:900px) { .mh-hero-ctas { justify-content:center; } }
.mh-cta {
  display:inline-flex; align-items:center; gap:10px;
  padding:14px 28px;
  font-size:15px; font-weight:700; letter-spacing:.01em;
  border-radius:12px; text-decoration:none; cursor:pointer; border:0;
  transition:transform .2s, box-shadow .2s;
}
.mh-cta-primary {
  background:var(--mh-purple);
  color:#fff;
  border:1px solid rgba(255,255,255,.10);
}
.mh-cta-primary:hover { background:var(--mh-purple-dark); transform:translateY(-1px); border-color:rgba(255,255,255,.18); color:#fff; }
.mh-cta-ghost {
  background:rgba(255,255,255,.04);
  color:#fff;
  border:1px solid rgba(255,255,255,.18);
}
.mh-cta-ghost:hover { background:rgba(255,255,255,.08); border-color:var(--mh-purple-soft); color:#fff; }
.mh-cta-whats {
  background:#25D366;
  color:#0a3a1f;
  border:1px solid #1da851;
  font-weight:800;
}
.mh-cta-whats:hover { background:#1da851; color:#fff; transform:translateY(-1px); }
.mh-cta-whats svg { color:currentColor; }

.mh-hero-photo {
  position:relative;
  aspect-ratio:7/8;
  border-radius:22px;
  overflow:hidden;
  background:linear-gradient(135deg, var(--mh-dark-700), var(--mh-dark-900));
  box-shadow:0 24px 60px rgba(0,0,0,.55), 0 0 0 1px rgba(167,139,250,.22);
  max-width:520px;
  margin:0 auto;
  width:100%;
}
.mh-hero-photo img { width:100%; height:100%; object-fit:cover; object-position:center 18%; display:block; }
.mh-hero-photo::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg, transparent 45%, rgba(10,6,19,.55) 70%, rgba(10,6,19,.92) 100%); pointer-events:none; }
.mh-hero-photo-tag { position:absolute; bottom:0; left:0; right:0; padding:18px 18px 16px; color:#fff; z-index:1; display:flex; align-items:flex-end; justify-content:space-between; gap:12px; }
.mh-hero-photo-tag .info { min-width:0; }
.mh-hero-photo-tag .info strong { display:block; font-size:17px; font-weight:700; letter-spacing:-.005em; line-height:1.25; }
.mh-hero-photo-tag .info span { display:block; font-size:13px; color:rgba(255,255,255,.85); margin-top:2px; }
.mh-hero-photo-tag .info .esp { font-size:11.5px; color:var(--mh-gold-soft); font-weight:600; letter-spacing:.02em; margin-top:4px; }

/* LinkedIn pill destacado */
.mh-linkedin-pill {
  display:inline-flex; align-items:center; gap:7px;
  flex-shrink:0;
  padding:8px 14px;
  background:#0a66c2;
  color:#fff;
  border-radius:999px;
  font-size:12.5px; font-weight:700; letter-spacing:.02em;
  text-decoration:none;
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 6px 16px rgba(10,102,194,.45), 0 0 0 1px rgba(10,102,194,.6);
  transition:transform .18s, box-shadow .2s, background .15s;
  white-space:nowrap;
}
.mh-linkedin-pill:hover { background:#0958a8; color:#fff; transform:translateY(-2px); box-shadow:0 10px 22px rgba(10,102,194,.55), 0 0 0 2px rgba(10,102,194,.7); }
.mh-linkedin-pill:focus-visible { outline:2px solid #fff; outline-offset:2px; }
.mh-linkedin-pill svg { width:14px; height:14px; flex-shrink:0; fill:currentColor; }
@media (max-width:380px){
  .mh-hero-photo-tag { flex-direction:column; align-items:flex-start; gap:10px; }
  .mh-linkedin-pill { width:100%; justify-content:center; }
}

/* STATS : premium clean: gradient text + hover lift + scroll fade */
.mh-stats { display:grid; grid-template-columns:repeat(4, 1fr); gap:18px; margin-bottom:64px; }
@media (max-width:900px) { .mh-stats { grid-template-columns:repeat(2, 1fr); gap:14px; } }
.mh-stat-card {
  position:relative;
  background:linear-gradient(180deg, rgba(255,255,255,.045) 0%, rgba(255,255,255,.02) 100%);
  border:1px solid rgba(255,255,255,.10);
  border-radius:14px;
  padding:24px 20px;
  transition:transform .3s cubic-bezier(.16,1,.3,1), border-color .3s, box-shadow .3s, background .3s;
  overflow:hidden;
}
.mh-stat-card::before {
  content:''; position:absolute; top:0; left:0; right:0; height:1px;
  background:linear-gradient(90deg, transparent, rgba(167,139,250,.55), transparent);
  opacity:.6; transition:opacity .3s;
}
.mh-stat-card::after {
  content:''; position:absolute; top:0; right:0; width:120px; height:120px;
  background:radial-gradient(circle at top right, rgba(167,139,250,.10), transparent 65%);
  opacity:0; transition:opacity .35s; pointer-events:none;
}
.mh-stat-card:hover {
  transform:translateY(-3px);
  border-color:rgba(167,139,250,.30);
  box-shadow:0 14px 32px rgba(124,58,237,.18), inset 0 1px 0 rgba(255,255,255,.06);
  background:linear-gradient(180deg, rgba(167,139,250,.08) 0%, rgba(255,255,255,.02) 100%);
}
.mh-stat-card:hover::before { opacity:1; }
.mh-stat-card:hover::after { opacity:1; }
.mh-stat-num {
  font-family:'Plus Jakarta Sans','Jakarta Fallback','DM Sans',sans-serif;
  font-size:clamp(1.95rem, 3.6vw, 2.6rem);
  font-weight:800;
  letter-spacing:-.028em;
  line-height:1;
  margin-bottom:10px;
  background:linear-gradient(135deg, #fff 0%, #c4b5fd 50%, var(--mh-purple-soft) 100%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  display:inline-block;
}
.mh-stat-lbl { font-size:13px; color:var(--mh-gray-300); line-height:1.5; font-weight:500; letter-spacing:.005em; }
/* Fade-in on scroll: começa transparente, sobe levemente */
.mh-stats .mh-stat-card { opacity:0; transform:translateY(16px); animation:mh-stat-in .55s cubic-bezier(.16,1,.3,1) forwards; }
.mh-stats .mh-stat-card:nth-child(1) { animation-delay:.05s; }
.mh-stats .mh-stat-card:nth-child(2) { animation-delay:.15s; }
.mh-stats .mh-stat-card:nth-child(3) { animation-delay:.25s; }
.mh-stats .mh-stat-card:nth-child(4) { animation-delay:.35s; }
@keyframes mh-stat-in { to { opacity:1; transform:translateY(0); } }
@media (prefers-reduced-motion:reduce) {
  .mh-stats .mh-stat-card { opacity:1; transform:none; animation:none; }
  .mh-stat-card:hover { transform:none; }
}

/* MANIFESTO : base sobria, sem brilhos */
.mh-manifesto {
  background:rgba(15,23,42,.5);
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px;
  padding:42px 32px 36px;
  margin-bottom:64px;
  text-align:center;
}
.mh-manifesto h2 { font-family:'Plus Jakarta Sans','Jakarta Fallback','DM Sans',sans-serif; font-size:clamp(1.5rem,3.2vw,2.1rem); font-weight:800; color:#fff; margin:0 0 16px; letter-spacing:-.02em; line-height:1.25; }
.mh-manifesto h2 em { background:linear-gradient(135deg, #fff 0%, #c4b5fd 50%, var(--mh-purple-soft) 100%); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; font-style:italic; font-weight:800; }
.mh-manifesto p { color:var(--mh-gray-300); font-size:16px; max-width:760px; margin:0 auto; line-height:1.7; }
.mh-pillars { display:grid; grid-template-columns:repeat(3, 1fr); gap:16px; margin-top:34px; }
@media (max-width:760px) { .mh-pillars { grid-template-columns:1fr; gap:12px; } }
.mh-pillar {
  position:relative;
  text-align:left;
  background:linear-gradient(180deg, rgba(255,255,255,.045) 0%, rgba(255,255,255,.02) 100%);
  border:1px solid rgba(255,255,255,.10);
  border-radius:12px;
  padding:22px 22px 20px;
  transition:transform .3s cubic-bezier(.16,1,.3,1), border-color .3s, box-shadow .3s, background .3s;
  overflow:hidden;
}
.mh-pillar::before {
  content:''; position:absolute; top:0; left:18px; right:18px; height:1px;
  background:linear-gradient(90deg, transparent, rgba(167,139,250,.5), transparent);
  opacity:.6; transition:opacity .3s;
}
.mh-pillar:hover {
  transform:translateY(-2px);
  border-color:rgba(167,139,250,.30);
  box-shadow:0 14px 28px rgba(124,58,237,.15);
  background:linear-gradient(180deg, rgba(167,139,250,.06) 0%, rgba(255,255,255,.02) 100%);
}
.mh-pillar:hover::before { opacity:1; }
.mh-pillar strong { display:block; color:#fff; font-size:15px; font-weight:700; margin-bottom:6px; letter-spacing:-.008em; }
.mh-pillar p { font-size:13.5px; color:var(--mh-gray-300); line-height:1.6; margin:0; }
@media (prefers-reduced-motion:reduce) { .mh-pillar:hover { transform:none; } }

/* GALERIA */
.mh-section { margin-bottom:64px; }
.mh-eyebrow { text-align:center; font-size:12px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:var(--mh-purple-soft); margin-bottom:8px; }
.mh-section-title { text-align:center; font-size:clamp(1.4rem,3vw,2rem); font-weight:800; color:#fff; margin:0 0 12px; letter-spacing:-.018em; }
.mh-section-sub { text-align:center; font-size:15px; color:var(--mh-gray-400); max-width:640px; margin:0 auto 28px; line-height:1.55; }

.mh-alta-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(260px, 1fr)); gap:20px; max-width:980px; margin:0 auto; }
@media (max-width:640px) { .mh-alta-grid { grid-template-columns:1fr; gap:16px; max-width:380px; } }
.mh-alta-card { margin:0; background:rgba(255,255,255,.03); border-radius:18px; padding:14px; border:1px solid rgba(167,139,250,.22); box-shadow:0 12px 32px rgba(0,0,0,.4); transition:transform .25s, border-color .25s; }
.mh-alta-card:hover { transform:translateY(-3px); border-color:rgba(167,139,250,.5); }
.mh-alta-card img { width:100%; height:auto; aspect-ratio:4/5; object-fit:cover; display:block; border-radius:10px; background:var(--mh-dark-900); } /* 2026-08-14: reserva de espaco anti-CLS */
.mh-alta-card figcaption { margin-top:12px; text-align:center; font-size:13px; font-weight:600; color:var(--mh-purple-soft); letter-spacing:.3px; text-transform:uppercase; }

.mh-gal-grid { display:grid; grid-template-columns:repeat(4, 1fr); gap:14px; max-width:980px; margin:0 auto; }
@media (max-width:900px) { .mh-gal-grid { grid-template-columns:repeat(3, 1fr); gap:10px; } }
@media (max-width:540px) { .mh-gal-grid { grid-template-columns:repeat(2, 1fr); gap:10px; } }
.mh-gal-card { position:relative; aspect-ratio:4/5; border-radius:14px; overflow:hidden; background:var(--mh-dark-900); }
.mh-gal-card img { width:100%; height:100%; object-fit:cover; object-position:center top; display:block; transition:transform .4s; }
.mh-gal-card:hover img { transform:scale(1.05); }
.mh-gal-card::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg, transparent 55%, rgba(0,0,0,.7)); pointer-events:none; }
.mh-gal-cap { position:absolute; bottom:8px; left:10px; right:10px; color:#fff; font-size:11px; font-weight:600; line-height:1.35; z-index:1; opacity:.92; }

/* CURSOS */
.mh-cursos-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(280px, 1fr)); gap:20px; }
.mh-curso-card { background:rgba(255,255,255,.04); border:1px solid rgba(167,139,250,.18); border-radius:18px; overflow:hidden; text-decoration:none; color:inherit; display:flex; flex-direction:column; transition:transform .25s, border-color .25s; }
.mh-curso-card:hover { transform:translateY(-4px); border-color:rgba(167,139,250,.5); color:inherit; }
.mh-curso-capa { aspect-ratio:16/9; background:var(--mh-dark-900) center/cover no-repeat; position:relative; }
/* Fallback de capa: LOGOMARCA, nunca inicial. A versao anterior renderizava a
   primeira letra do titulo num quadrado escuro, e o curso do lancamento (que nao
   tinha capa propria) aparecia na home como um "S" solto. */
.mh-curso-capa-fallback { display:flex; align-items:center; justify-content:center; height:100%; padding:0 12%; }
.mh-curso-capa-fallback img { width:100%; max-width:190px; height:auto; opacity:.72; }
.mh-curso-body { padding:18px 20px 20px; display:flex; flex-direction:column; gap:8px; flex:1; }
.mh-curso-body h3 { font-size:18px; font-weight:700; color:#fff; margin:0; letter-spacing:-.01em; }
.mh-curso-sub { font-size:13.5px; color:var(--mh-gray-300); line-height:1.5; flex:1; }
.mh-curso-meta { display:flex; flex-wrap:wrap; gap:10px 14px; margin:6px 0 4px; font-size:11.5px; color:var(--mh-gray-400); }
.mh-curso-meta span { display:inline-flex; align-items:center; gap:5px; }
.mh-curso-meta svg { color:var(--mh-purple-soft); }
.mh-curso-foot { display:flex; justify-content:space-between; align-items:flex-end; gap:10px; margin-top:8px; padding-top:14px; border-top:1px solid rgba(255,255,255,.06); }
.mh-preco-riscado { font-size:12px; color:var(--mh-gray-500); text-decoration:line-through; }
.mh-curso-preco { font-size:20px; font-weight:800; color:var(--mh-purple-soft); letter-spacing:-.01em; }
.mh-curso-turma { font-size:12px; color:var(--mh-gray-400); }
.mh-curso-badge { display:inline-flex; padding:4px 10px; background:rgba(124,58,237,.18); color:var(--mh-purple-soft); border-radius:999px; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; text-align:right; }
/* Tons do selo comercial (cursoSeloComercial em includes/turmas.php). Antes o
   selo era o texto fixo "Acesso imediato" para todos os casos, inclusive turma
   que ainda nao abriu e curso com a venda desligada. */
.mh-curso-badge--destaque { background:rgba(180,83,9,.20); color:#fcd34d; border:1px solid rgba(245,158,11,.40); }
.mh-curso-badge--aberto   { background:rgba(124,58,237,.20); color:#c4b5fd; }
.mh-curso-badge--fechado  { background:rgba(148,163,184,.14); color:var(--mh-gray-400); }
/* Curso fora de venda nao pode competir visualmente com o do lancamento. */
.mh-curso-card--fechado { opacity:.72; }
.mh-curso-card--fechado:hover { opacity:1; }
.mh-curso-card--fechado .mh-curso-preco { color:var(--mh-gray-400); }
.mh-curso-card--destaque { border-color:rgba(245,158,11,.35); }
.mh-curso-card--destaque:hover { border-color:rgba(245,158,11,.6); }

/* ============================ LANCAMENTO ============================
   Faixa de topo e bloco dedicado da turma em janela de inscricao. A home nao
   tinha nada disso: chamava turmaDoCurso() em lugar nenhum e nao exibia data,
   vaga nem contagem, enquanto a landing exibia tudo. */
.mh-faixa {
  display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:8px 14px;
  padding:11px 20px; text-decoration:none;
  background:linear-gradient(90deg, rgba(180,83,9,.30), rgba(124,58,237,.30));
  border-bottom:1px solid rgba(245,158,11,.30);
  position:relative; z-index:2;
  font-size:13.5px; color:#fff; line-height:1.4;
}
.mh-faixa:hover { background:linear-gradient(90deg, rgba(180,83,9,.42), rgba(124,58,237,.42)); }
.mh-faixa-pulse { width:8px; height:8px; border-radius:50%; background:#fcd34d; flex-shrink:0; animation:mhPulse 2s ease-in-out infinite; }
@keyframes mhPulse { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.45;transform:scale(.78)} }
.mh-faixa-texto strong { font-weight:700; }
.mh-faixa-dias { font-weight:700; color:#fcd34d; }
.mh-faixa-cta { font-weight:700; text-decoration:underline; text-underline-offset:3px; }
@media (max-width:620px){
  .mh-faixa { font-size:12.5px; padding:10px 14px; }
  .mh-faixa-cta { width:100%; text-align:center; }
}

.mh-lanc {
  display:grid; grid-template-columns:1.15fr .85fr; gap:32px; align-items:center;
  margin:0 0 40px;
  padding:30px 32px;
  background:linear-gradient(135deg, rgba(124,58,237,.16), rgba(180,83,9,.10));
  border:1px solid rgba(245,158,11,.28);
  border-radius:var(--mh-radius-xl);
}
.mh-lanc-badge {
  display:inline-flex; align-items:center; padding:6px 14px; border-radius:999px;
  background:rgba(180,83,9,.22); border:1px solid rgba(245,158,11,.45);
  color:#fcd34d; font-size:11.5px; font-weight:700; text-transform:uppercase; letter-spacing:.10em;
}
.mh-lanc h2 { font-size:34px; font-weight:800; color:#fff; letter-spacing:-.025em; margin:14px 0 8px; line-height:1.1; }
.mh-lanc-sub { font-size:15px; color:var(--mh-gray-300); line-height:1.55; margin:0 0 18px; }
.mh-lanc-fatos { display:grid; grid-template-columns:repeat(auto-fit,minmax(130px,1fr)); gap:10px; margin:0 0 20px; }
.mh-lanc-fatos > div { padding:11px 13px; background:rgba(0,0,0,.22); border:1px solid rgba(167,139,250,.16); border-radius:12px; }
.mh-lanc-fatos dt { font-size:10.5px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--mh-gray-400); margin-bottom:5px; }
.mh-lanc-fatos dd { margin:0; font-size:15px; font-weight:700; color:#fff; }
.mh-lanc-timer { margin:0 0 18px; }
.mh-lanc-timer-lbl { display:block; font-size:12px; color:var(--mh-gray-400); margin-bottom:9px; }
.mh-lanc-timer-caixas { display:flex; gap:9px; }
.mh-lanc-timer-caixas span { display:flex; flex-direction:column; align-items:center; min-width:58px; padding:9px 6px; background:rgba(0,0,0,.30); border:1px solid rgba(167,139,250,.20); border-radius:12px; }
.mh-lanc-timer-caixas b { font-size:23px; font-weight:800; color:#fff; line-height:1; font-variant-numeric:tabular-nums; }
.mh-lanc-timer-caixas i { font-style:normal; font-size:9.5px; font-weight:700; letter-spacing:.10em; text-transform:uppercase; color:var(--mh-gray-400); margin-top:5px; }
.mh-lanc-vagas { margin:0 0 18px; }
.mh-lanc-vagas-barra { height:7px; border-radius:99px; background:rgba(0,0,0,.35); overflow:hidden; }
.mh-lanc-vagas-barra span { display:block; height:100%; border-radius:99px; background:linear-gradient(90deg,#fcd34d,#b45309); }
.mh-lanc-vagas p { margin:8px 0 0; font-size:12.5px; color:var(--mh-gray-300); }
.mh-lanc-ctas { display:flex; flex-wrap:wrap; align-items:center; gap:12px 20px; }
.mh-lanc-link { display:inline-flex; align-items:center; min-height:44px; color:var(--mh-purple-soft); font-size:13.5px; font-weight:600; text-decoration:underline; text-underline-offset:3px; } /* 2026-08-14: alvo de toque >=44px */
.mh-lanc-capa { display:block; border-radius:16px; overflow:hidden; border:1px solid rgba(167,139,250,.20); line-height:0; }
.mh-lanc-capa img { width:100%; height:auto; display:block; }
@media (max-width:900px){
  .mh-lanc { grid-template-columns:1fr; gap:22px; padding:24px 20px; }
  .mh-lanc-capa { order:-1; }
  .mh-lanc h2 { font-size:27px; }
  .mh-lanc-timer-caixas span { min-width:0; flex:1; }
}

/* MENTORIAS SOB MEDIDA : programas (sem ícones, tipografia clean) */
.mh-prog-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(260px, 1fr)); gap:14px; margin-bottom:32px; }
.mh-prog-card {
  position:relative;
  display:flex; flex-direction:column;
  padding:22px 22px 22px;
  background:rgba(255,255,255,.035);
  border:1px solid rgba(167,139,250,.18);
  border-radius:14px;
  text-decoration:none;
  color:inherit;
  transition:transform .25s, border-color .25s, background .25s, box-shadow .25s;
  overflow:hidden;
  min-height:200px;
}
.mh-prog-card::before {
  content:'';
  position:absolute; top:0; left:0; bottom:0; width:3px;
  background:linear-gradient(180deg, var(--mh-purple-soft), var(--mh-purple));
  opacity:.55;
  transition:opacity .25s, width .25s;
}
.mh-prog-card:hover {
  transform:translateY(-3px);
  border-color:rgba(167,139,250,.45);
  background:rgba(124,58,237,.07);
  color:inherit;
  box-shadow:0 14px 34px rgba(15,8,30,.45);
}
.mh-prog-card:hover::before { opacity:1; width:4px; }

/* Variante dourada (em destaque) */
.mh-prog-gold {
  border-color:rgba(245,158,11,.38);
  background:linear-gradient(135deg, rgba(245,158,11,.10), rgba(124,58,237,.04));
}
.mh-prog-gold::before { background:linear-gradient(180deg, var(--mh-gold-soft), var(--mh-gold-deep)); opacity:1; width:4px; }
.mh-prog-gold:hover {
  border-color:rgba(245,158,11,.7);
  background:linear-gradient(135deg, rgba(245,158,11,.16), rgba(124,58,237,.06));
  box-shadow:0 14px 34px rgba(245,158,11,.18);
}

.mh-prog-tag {
  display:inline-block; align-self:flex-start;
  padding:4px 11px;
  margin-bottom:14px;
  background:rgba(124,58,237,.18);
  color:#c4b5fd;
  border-radius:999px;
  font-size:10.5px; font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.mh-prog-tag-gold { background:rgba(245,158,11,.22); color:#b45309; }
.mh-prog-tag-curso { background:rgba(96,145,101,.18); color:#86efac; }

.mh-prog-card h3 {
  font-size:17px; font-weight:700;
  color:#fff;
  margin:0 0 8px;
  letter-spacing:-.01em;
  line-height:1.3;
}
.mh-prog-card p {
  font-size:14px;
  color:var(--mh-gray-300);
  line-height:1.55;
  margin:0 0 16px;
  flex:1;
}

/* Bloco final "Não encontrou seu perfil?" */
.mh-prog-cta-box { text-align:center; padding:30px 26px; background:linear-gradient(135deg, rgba(245,158,11,.08), rgba(124,58,237,.04)); border:1px solid rgba(245,158,11,.22); border-radius:16px; max-width:720px; margin:0 auto; }
.mh-prog-cta-box p { color:var(--mh-gray-200); font-size:15px; line-height:1.55; margin:0 0 16px; }

/* CTA dourado */
.mh-cta-gold {
  background:linear-gradient(135deg, var(--mh-gold-soft), var(--mh-gold-deep));
  color:#0a0613;
  box-shadow:0 8px 24px var(--mh-gold-glow);
}
.mh-cta-gold:hover { background:linear-gradient(135deg, var(--mh-gold), var(--mh-gold-deep)); transform:translateY(-2px); box-shadow:0 14px 32px rgba(245,158,11,.45); color:#0a0613; }

/* Eyebrow dourado */
.mh-gold-eyebrow { color:var(--mh-gold-soft) !important; }

/* DEPOIMENTOS */
.mh-depos { display:grid; grid-template-columns:repeat(auto-fit, minmax(280px, 1fr)); gap:18px; }
.mh-depo { background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.06); border-radius:14px; padding:20px 22px; }
.mh-depo-stars { color:#b45309; font-size:14px; margin-bottom:10px; letter-spacing:2px; }
.mh-depo-text { font-size:14.5px; color:var(--mh-gray-200); line-height:1.6; margin:0 0 12px; font-style:italic; }
.mh-depo-autor { font-weight:700; color:#fff; font-size:13.5px; }
.mh-depo-source { font-size:12px; color:var(--mh-gray-400); margin-top:2px; }

/* GARANTIA */
.mh-garantia {
  display:flex; gap:24px; align-items:center;
  background:linear-gradient(135deg, rgba(124,58,237,.08), rgba(91,33,182,.03));
  border:1px solid rgba(167,139,250,.22);
  border-radius:18px;
  padding:28px 32px;
  max-width:780px;
  margin:0 auto;
}
@media (max-width:600px){ .mh-garantia { flex-direction:column; text-align:center; padding:24px 22px; gap:18px; } }
.mh-garantia-selo {
  flex-shrink:0;
  display:flex; align-items:center; gap:14px;
  padding:14px 18px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.10);
  border-radius:14px;
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  position:relative;
  overflow:hidden;
}
.mh-garantia-selo::before {
  content:'';
  position:absolute; inset:0;
  background:linear-gradient(135deg, rgba(167,139,250,.10), transparent 60%);
  pointer-events:none;
}
.mh-garantia-selo svg { width:26px; height:26px; color:var(--mh-purple-soft); flex-shrink:0; position:relative; z-index:1; }
.mh-garantia-selo .num { font-size:36px; font-weight:800; color:#fff; line-height:1; letter-spacing:-.025em; position:relative; z-index:1; }
.mh-garantia-selo .lbl { font-size:11px; font-weight:700; color:var(--mh-gray-300); text-transform:uppercase; letter-spacing:.12em; line-height:1.2; margin-top:3px; position:relative; z-index:1; }
.mh-garantia-selo .col { display:flex; flex-direction:column; align-items:flex-start; }
@media (max-width:600px){ .mh-garantia-selo { align-self:center; } }

.mh-garantia-text h3 { font-size:18px; font-weight:700; color:#fff; margin:0 0 6px; letter-spacing:-.01em; }
.mh-garantia-text p { font-size:14px; color:var(--mh-gray-300); line-height:1.55; margin:0; }

/* FAQ */
.mh-faq { max-width:740px; margin:0 auto; display:flex; flex-direction:column; gap:10px; }
.mh-faq details { background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.06); border-radius:12px; overflow:hidden; transition:border-color .15s; }
.mh-faq details[open] { border-color:rgba(167,139,250,.35); }
.mh-faq summary { padding:16px 18px; cursor:pointer; font-size:15px; font-weight:600; color:#fff; list-style:none; position:relative; padding-right:42px; }
.mh-faq summary::-webkit-details-marker { display:none; }
.mh-faq summary::after { content:'+'; position:absolute; right:18px; top:50%; transform:translateY(-50%); font-size:20px; color:var(--mh-purple-soft); transition:transform .2s; }
.mh-faq details[open] summary::after { transform:translateY(-50%) rotate(45deg); }
.mh-faq-body { padding:0 18px 16px; font-size:14px; color:var(--mh-gray-300); line-height:1.6; }
.mh-faq-atualizado { max-width:740px; margin:14px auto 0; text-align:right; font-size:13px; color:var(--mh-gray-400); }
@media (max-width:640px) { .mh-faq-atualizado { text-align:center; } }

/* CTA FINAL */
.mh-cta-final { background:linear-gradient(135deg, var(--mh-dark-800), var(--mh-dark-700)); border:1px solid rgba(167,139,250,.28); border-radius:22px; padding:44px 32px; text-align:center; max-width:680px; margin:0 auto 40px; box-shadow:0 24px 60px rgba(0,0,0,.45); }
.mh-cta-final h2 { font-size:clamp(1.5rem,3.5vw,2.2rem); font-weight:800; color:#fff; margin:0 0 12px; letter-spacing:-.02em; }
.mh-cta-final h2 em { color:var(--mh-purple-soft); font-style:italic; }
.mh-cta-final > p { color:var(--mh-gray-300); font-size:15px; margin:0 0 24px; }
.mh-cta-box { background:rgba(15,23,42,.55); border:1px solid rgba(167,139,250,.22); border-radius:16px; padding:24px 22px; max-width:380px; margin:0 auto; }
.mh-cta-box-label { font-size:11px; font-weight:700; letter-spacing:1.2px; text-transform:uppercase; color:var(--mh-purple-soft); margin-bottom:6px; }
.mh-cta-preco-old { font-size:14px; color:var(--mh-gray-500); text-decoration:line-through; }
.mh-cta-preco { font-size:42px; font-weight:800; color:#fff; letter-spacing:-.025em; line-height:1; margin:4px 0 4px; }
.mh-cta-preco-nota { font-size:12.5px; color:var(--mh-gray-400); margin-bottom:18px; }
.mh-cta-final .mh-cta-primary { width:100%; justify-content:center; }
.mh-cta-final .mh-garantia-mini { margin-top:14px; padding-top:14px; border-top:1px solid rgba(255,255,255,.08); }
.mh-cta-final .mh-garantia-mini strong { color:#fff; font-size:13px; }
.mh-cta-final .mh-garantia-mini p { color:var(--mh-gray-400); font-size:12px; margin:2px 0 0; }
.mh-cta-signin { text-align:center; color:var(--mh-gray-400); font-size:13px; margin:18px 0 0; }
.mh-cta-signin a { color:var(--mh-purple-soft); text-decoration:none; font-weight:600; }
.mh-cta-signin a:hover { text-decoration:underline; }

.mh-foot { text-align:center; padding:36px 22px 42px; border:1px solid rgba(255,255,255,.08); border-bottom:0; border-radius:24px 24px 0 0; margin-top:48px; background:linear-gradient(180deg,rgba(30,17,68,.7),rgba(11,6,32,.96)); box-shadow:0 -20px 60px rgba(0,0,0,.22); }
.mh-foot > p { color:var(--mh-gray-500); font-size:12.5px; margin:18px 0 0; line-height:1.6; }
.mh-foot > p a { color:var(--mh-gray-300); text-decoration:none; }
.mh-foot > p a:hover { color:var(--mh-purple-soft); }

.mh-foot-mainbrand{display:flex;flex-direction:column;align-items:center;margin:0 auto 24px}
.mh-foot-mainbrand a{display:inline-flex;align-items:center;justify-content:center}
.mh-foot-mainbrand img{height:58px;width:auto;filter:drop-shadow(0 4px 16px rgba(0,0,0,.32))}
.mh-foot-mainbrand strong{display:block;margin-top:12px;color:#fff;font-size:17px}
.mh-foot-mainbrand span{display:block;margin-top:5px;color:var(--mh-gray-400);font-size:12.5px;line-height:1.55}
.mh-foot-grupo{
  max-width:760px;margin:0 auto 28px;padding:17px 18px;display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;
  color:#fff;text-decoration:none;text-align:left;border-radius:16px;
  background:linear-gradient(135deg,rgba(37,211,102,.15),rgba(0,191,165,.08));
  border:1px solid rgba(37,211,102,.34);transition:transform .2s,border-color .2s,background .2s
}
.mh-foot-grupo:hover{transform:translateY(-2px);border-color:rgba(37,211,102,.65);background:linear-gradient(135deg,rgba(37,211,102,.22),rgba(0,191,165,.12));color:#fff}
.mh-foot-grupo-icon{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:#25D366;color:#fff;box-shadow:0 7px 20px rgba(37,211,102,.24)}
.mh-foot-grupo-icon svg{width:23px;height:23px}
.mh-foot-grupo-texto{min-width:0}
.mh-foot-grupo-texto small{display:block;color:#86efac;font-size:10px;font-weight:750;text-transform:uppercase;letter-spacing:.09em}
.mh-foot-grupo-texto strong{display:block;margin-top:3px;color:#fff;font-size:17px}
.mh-foot-grupo-texto strong b{color:#86efac}
.mh-foot-grupo-texto em{display:block;margin-top:3px;color:var(--mh-gray-300);font-size:12.5px;font-style:normal}
.mh-foot-grupo-acao{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(134,239,172,.35);border-radius:999px;padding:10px 14px;color:#bbf7d0;font-size:12px;font-weight:700;white-space:nowrap}

/* Promo Mentoria SN : mesmo modelo de design do hero badge "Inscrições abertas · método clínico" */
.mh-foot-promo {
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center; gap:24px;
  max-width:760px; margin:0 auto 26px;
  padding:22px 26px;
  background:rgba(245,158,11,.06);
  border:1px solid rgba(252,211,77,.28);
  border-radius:14px;
  text-align:left;
  transition:border-color .25s, background .25s;
}
.mh-foot-promo:hover { border-color:rgba(252,211,77,.50); background:rgba(245,158,11,.09); }
.mh-foot-promo-icon { display:none; }
.mh-foot-promo-text { min-width:0; }
.mh-foot-promo-tag {
  display:inline-flex; align-items:center; gap:8px;
  padding:6px 14px;
  background:rgba(245,158,11,.14);
  border:1px solid rgba(252,211,77,.36);
  border-radius:999px;
  color:var(--mh-gold-soft);
  font-size:11px; font-weight:700; letter-spacing:1.2px; text-transform:uppercase;
  margin-bottom:12px;
}
.mh-foot-promo-tag::before {
  content:''; width:6px; height:6px; border-radius:50%;
  background:var(--mh-gold-soft);
  box-shadow:0 0 0 4px rgba(252,211,77,.25);
  animation:mh-pulse-gold 2.4s ease-in-out infinite;
}
.mh-foot-promo-text strong { display:block; color:#fff; font-size:16px; font-weight:700; letter-spacing:-.01em; margin-bottom:5px; line-height:1.3; }
.mh-foot-promo-text > span:not(.mh-foot-promo-tag) { display:block; color:var(--mh-gray-300); font-size:13.5px; line-height:1.6; }
.mh-foot-promo-text em { color:var(--mh-gold-soft); font-style:normal; font-weight:600; }
.mh-foot-promo-pills {
  display:flex; flex-wrap:wrap; gap:6px 14px; margin-top:10px;
  list-style:none; padding:0;
}
.mh-foot-promo-pill {
  display:inline-flex; align-items:center; gap:7px;
  color:var(--mh-gray-300);
  font-size:12.5px;
  font-weight:500;
}
.mh-foot-promo-pill::before {
  content:''; width:4px; height:4px; border-radius:50%; background:var(--mh-gold-soft); flex-shrink:0; opacity:.7;
}
.mh-foot-promo-pill svg { display:none; }
.mh-foot-promo-cta {
  display:inline-flex; align-items:center; gap:8px;
  padding:11px 20px;
  background:transparent;
  color:var(--mh-gold-soft);
  border:1px solid rgba(252,211,77,.45);
  border-radius:999px;
  font-size:12.5px; font-weight:600;
  text-decoration:none;
  letter-spacing:.04em; text-transform:uppercase;
  transition:background .2s, border-color .2s, color .2s, transform .2s;
  white-space:nowrap;
}
.mh-foot-promo-cta:hover { background:rgba(252,211,77,.12); border-color:var(--mh-gold-soft); color:#fff; transform:translateY(-1px); }
@media (max-width:640px){
  .mh-foot-promo { grid-template-columns:1fr; gap:16px; padding:22px 20px; text-align:left; }
  .mh-foot-promo-cta { width:100%; justify-content:center; }
}

/* Avaliação Google */
.mh-foot-google {
  display:inline-flex; align-items:center; gap:14px;
  margin:0 auto 28px;
  padding:12px 22px 12px 16px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.10);
  border-radius:14px;
  color:#fff;
  text-decoration:none;
  transition:transform .2s, border-color .2s, background .2s;
  max-width:fit-content;
}
.mh-foot-google:hover { transform:translateY(-2px); border-color:rgba(252,211,77,.4); background:rgba(252,211,77,.08); color:#fff; }
.mh-foot-google > svg:first-child { flex-shrink:0; }
.mh-foot-google-text { display:flex; flex-direction:column; align-items:flex-start; }
.mh-foot-google-text strong { font-size:13.5px; font-weight:700; color:#fff; letter-spacing:-.005em; }
.mh-foot-google-text span { font-size:12px; color:var(--mh-gray-300); margin-top:2px; }
.mh-foot-google-text .stars { color:var(--mh-gold-soft); letter-spacing:1.5px; margin:0 4px; }
.mh-foot-google .ext { color:var(--mh-gray-400); flex-shrink:0; }
.mh-foot-google:hover .ext { color:var(--mh-gold-soft); }

/* Brand SeuSaúde */
.mh-foot-brand {
  text-align:center;
  margin:0 0 30px;
  padding:24px 20px 22px;
  border-top:1px solid rgba(255,255,255,.06);
  border-bottom:1px solid rgba(255,255,255,.06);
}
.mh-foot-brand a { display:inline-block; transition:opacity .2s, transform .2s; }
.mh-foot-brand a:hover { opacity:.85; transform:translateY(-1px); }
.mh-foot-brand img { height:38px; width:auto; opacity:.85; filter:grayscale(.4) brightness(1.15); }
.mh-foot-brand-tagline { color:var(--mh-gray-400); font-size:12px; line-height:1.6; margin:12px 0 0; max-width:380px; margin-left:auto; margin-right:auto; }

/* Colunas de links */
.mh-foot-cols {
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:24px;
  text-align:left;
  max-width:880px;
  margin:0 auto 24px;
}
.mh-foot-cols h4 {
  font-size:11px; color:var(--mh-purple-soft);
  font-weight:700; text-transform:uppercase; letter-spacing:.12em;
  margin:0 0 12px;
}
.mh-foot-cols a {
  display:block;
  font-size:13px;
  color:var(--mh-gray-400);
  text-decoration:none;
  padding:4px 0;
  transition:color .15s;
}
.mh-foot-cols a:hover { color:var(--mh-purple-soft); }
@media (max-width:760px){
  .mh-foot-cols { grid-template-columns:repeat(2, 1fr); gap:18px; }
}
@media (max-width:420px){
  .mh-foot-cols { grid-template-columns:1fr; gap:16px; text-align:center; }
}

/* Redes sociais no rodapé */
.mh-foot-social { display:flex; justify-content:center; gap:12px; margin:28px auto 0; padding-top:24px; border-top:1px solid rgba(255,255,255,.06); flex-wrap:wrap; }
.mh-foot-social-link { display:inline-flex; align-items:center; justify-content:center; width:42px; height:42px; border-radius:10px; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.12); color:rgba(255,255,255,.85); text-decoration:none; transition:background .2s, border-color .2s, color .2s, transform .2s; }
.mh-foot-social-link svg { width:18px; height:18px; }
.mh-foot-social-link:hover { transform:translateY(-2px); }
.mh-foot-social-link.mh-foot-social-li:hover { background:#0a66c2; border-color:#0a66c2; color:#fff; }
.mh-foot-social-link.mh-foot-social-ig:hover { background:linear-gradient(45deg,#f09433 0%,#e6683c 25%,#dc2743 50%,#cc2366 75%,#bc1888 100%); border-color:transparent; color:#fff; }
.mh-foot-social-link.mh-foot-social-wa:hover { background:#25D366; border-color:#25D366; color:#fff; }
.mh-foot-copy { color:var(--mh-gray-500); font-size:12px; margin:18px 0 0; line-height:1.6; padding-top:0; border-top:0; text-align:center; }
.mh-foot-copy a { color:var(--mh-gray-300); text-decoration:none; font-weight:600; }
.mh-foot-copy a:hover { color:var(--mh-purple-soft); }

@media (max-width:560px){
  .mh-foot-google { padding:10px 16px 10px 14px; gap:12px; }
  .mh-foot-google-text strong { font-size:12.5px; }
  .mh-foot-google-text span { font-size:11.5px; }
  .mh-foot-brand img { height:32px; }
  .mh-foot-brand-tagline { font-size:11.5px; }
}

/* ============ RESPONSIVE CONSOLIDADO ============ */
.mh-shell, .mh-shell h1, .mh-shell h2, .mh-shell h3 { scroll-margin-top:24px; }

/* Tablet ≤900px */
@media (max-width:900px){
  .mh-shell { padding-bottom:78px; } /* espaço pro sticky CTA */
  .mh-container { padding:22px 18px 0; }
  .mh-section, .mh-hero, .mh-stats, .mh-manifesto { margin-bottom:54px; }
}

/* Mobile ≤640px */
@media (max-width:640px){
  .mh-container { padding:18px 14px 0; }
  .mh-section, .mh-hero, .mh-stats, .mh-manifesto { margin-bottom:38px; }
  .mh-topbar {
    position:sticky; top:max(8px,env(safe-area-inset-top)); z-index:80;
    margin-bottom:22px; gap:10px; flex-wrap:nowrap; padding:8px 10px;
    border-radius:16px; transition:transform .28s cubic-bezier(.2,.8,.2,1),background .2s;
    animation:mhTopbarEntrada .45s ease-out both;
  }
  .mh-topbar.mh-topbar-recolhida{transform:translateY(calc(-100% - 18px))}
  .mh-topbar-actions { gap:8px; }
  .mh-foot { padding:24px 14px 30px; }
  .mh-foot-promo { padding:18px 18px; gap:14px; border-radius:12px; }
  .mh-foot-promo-text strong { font-size:15px; }
  .mh-foot-promo-text > span:not(.mh-foot-promo-tag) { font-size:13px; }
  .mh-foot-social { gap:10px; margin-top:24px; padding-top:20px; }
  .mh-foot-social-link { width:40px; height:40px; }
  .mh-foot-social-link svg { width:17px; height:17px; }
  .mh-topbar-logo { min-height:44px; }
  .mh-topbar-logo img { height:44px; animation:mhLogoRespira 3.4s ease-in-out infinite; }
  .mh-topbar-cta { padding:7px 14px; font-size:12px; }
  .mh-hero { gap:24px; }
  .mh-hero h1 { font-size:1.85rem; line-height:1.12; margin-bottom:14px; }
  .mh-hero p { font-size:15.5px; line-height:1.6; margin-bottom:22px; }
  .mh-hero-badge { font-size:10.5px; padding:6px 14px; margin-bottom:14px; letter-spacing:1px; }
  .mh-cta { padding:13px 22px; font-size:14.5px; }
  .mh-hero-ctas { gap:10px; }
  .mh-hero-ctas .mh-cta { flex:1 1 auto; min-width:0; justify-content:center; }
  .mh-stat-card { padding:16px 14px; }
  .mh-stat-num { font-size:1.7rem; }
  .mh-stat-lbl { font-size:12px; line-height:1.4; }
  .mh-manifesto { padding:28px 22px; border-radius:16px; }
  .mh-manifesto h2 { font-size:1.4rem; line-height:1.3; }
  .mh-manifesto p { font-size:14.5px; }
  .mh-pillar { padding:14px 16px; }
  .mh-pillar strong { font-size:14px; }
  .mh-pillar p { font-size:13px; }
  .mh-section-title { font-size:1.4rem; }
  .mh-section-sub { font-size:14px; margin-bottom:22px; }
  .mh-eyebrow { font-size:11px; letter-spacing:1.2px; }
  .mh-curso-body { padding:14px 16px 16px; }
  .mh-curso-body h3 { font-size:16.5px; }
  .mh-curso-sub { font-size:13px; }
  .mh-stack-item { padding:14px 16px; }
  .mh-stack-titulo { font-size:14px; }
  .mh-stack-desc { font-size:12.5px; }
  .mh-oferta-total { padding:22px 18px; }
  .mh-oferta-total-preco strong { font-size:28px; }
  .mh-cta-final { padding:34px 22px; border-radius:18px; }
  .mh-cta-final h2 { font-size:1.55rem; line-height:1.2; }
  .mh-cta-preco { font-size:36px; }
  .mh-foot { padding:24px 16px 30px; }
}
@keyframes mhTopbarEntrada{from{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:translateY(0)}}
@keyframes mhLogoRespira{0%,100%{transform:scale(1)}50%{transform:scale(1.025)}}
@media (max-width:560px){
  .mh-foot{padding:28px 14px 32px;border-radius:20px 20px 0 0}
  .mh-foot-mainbrand img{height:52px}
  .mh-foot-grupo{grid-template-columns:auto minmax(0,1fr);padding:15px 14px;gap:12px}
  .mh-foot-grupo-acao{grid-column:1/-1;width:100%;justify-content:center;min-height:44px}
}
@media (prefers-reduced-motion:reduce){
  .mh-topbar,.mh-topbar-logo img{animation:none!important;transition:none!important}
}

/* Mobile small ≤480px */
@media (max-width:480px){
  .mh-stats { grid-template-columns:repeat(2,1fr); gap:10px; }
  .mh-stat-card { padding:14px 12px; }
  .mh-stat-num { font-size:1.5rem; }
  .mh-gal-grid { grid-template-columns:repeat(2,1fr); gap:8px; }
  .mh-faq summary { font-size:14px; padding:14px 16px; padding-right:38px; }
  .mh-faq-body { font-size:13.5px; padding:0 16px 14px; }
  .mh-curso-meta { gap:8px 10px; font-size:11px; }
  .mh-cta-box { padding:20px 18px; }
}

/* Mobile XS ≤380px */
@media (max-width:380px){
  .mh-container { padding:14px 12px 0; }
  .mh-shell { padding-bottom:88px; }
  .mh-hero h1 { font-size:1.65rem; }
  .mh-section-title { font-size:1.25rem; }
  .mh-cursos-grid { grid-template-columns:1fr; }
  .mh-oferta-stack { grid-template-columns:1fr; }
  .mh-cta-final h2 { font-size:1.4rem; }
  .mh-cta-preco { font-size:32px; }
}

/* Telas com hover (desktop): efeitos suaves; mobile fica sem hover-jank */
@media (hover:none) and (pointer:coarse){
  .mh-stat-card:hover, .mh-pillar:hover, .mh-curso-card:hover, .mh-alta-card:hover { transform:none; }
  .mh-cta-primary:hover, .mh-linkedin-pill:hover { transform:none; }
}
/* Alvo de toque (quadro 8, 29/09/2026, cartão 147): no celular os links do rodapé
   mediam 34px e os ícones sociais 40px. */
@media (pointer:coarse){
  .mh-foot-cols a { min-height:44px; padding:12px 0; box-sizing:border-box; }
  .mh-foot-social-link { width:44px; height:44px; }
}

/* Reduce motion */
@media (prefers-reduced-motion:reduce){
  .mh-shell *, .mh-shell *::before, .mh-shell *::after { transition-duration:.01ms !important; animation-duration:.01ms !important; }
}

/* PROGRAMAS / MENTORIAS : cards */
.mh-prog-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:16px; }
@media (max-width:900px){ .mh-prog-grid { grid-template-columns:repeat(2, 1fr); gap:14px; } }
@media (max-width:540px){ .mh-prog-grid { grid-template-columns:1fr; gap:12px; } }
.mh-prog-card { background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08); border-radius:14px; padding:22px 20px; display:flex; flex-direction:column; gap:12px; transition:transform .2s, border-color .2s, background .2s; }
.mh-prog-card:hover { transform:translateY(-2px); border-color:rgba(167,139,250,.30); background:rgba(255,255,255,.06); }
.mh-prog-icon { width:42px; height:42px; border-radius:11px; background:rgba(167,139,250,.12); border:1px solid rgba(167,139,250,.28); display:inline-flex; align-items:center; justify-content:center; color:#c4b5fd; flex-shrink:0; }
.mh-prog-icon svg { width:20px; height:20px; }
.mh-prog-title { font-family:'Plus Jakarta Sans','Jakarta Fallback',sans-serif; font-size:15.5px; font-weight:700; color:#fff; margin:0; line-height:1.3; letter-spacing:-.005em; }
.mh-prog-desc { font-size:13px; color:var(--mh-gray-300); line-height:1.5; flex:1; margin:0; }
.mh-prog-btn { display:inline-flex; align-items:center; gap:6px; padding:13px 18px; min-height:44px; background:rgba(167,139,250,.12); border:1px solid rgba(167,139,250,.28); border-radius:9px; color:#c4b5fd; font-size:13px; font-weight:600; text-decoration:none; cursor:pointer; transition:background .2s, border-color .2s, color .2s; align-self:flex-start; font-family:inherit; line-height:1; } /* 2026-08-14: alvo de toque >=44px */
.mh-prog-btn:hover { background:rgba(167,139,250,.24); border-color:rgba(167,139,250,.5); color:#fff; }
.mh-prog-btn-curso { background:rgba(96,145,101,.16); border-color:rgba(134,201,140,.4); color:#86efac; }
.mh-prog-btn-curso:hover { background:rgba(96,145,101,.28); border-color:rgba(134,201,140,.65); color:#fff; }
.mh-prog-btn-gold { background:rgba(245,158,11,.18); border-color:rgba(245,158,11,.4); color:#b45309; }
.mh-prog-btn-gold:hover { background:rgba(245,158,11,.28); border-color:rgba(245,158,11,.6); color:#fff; }
.mh-prog-btn svg { width:13px; height:13px; }

/* LEAD POPUP : layout limpo, mobile-first */
.lead-popup {
  position:fixed; inset:0;
  background:rgba(10,6,19,.78);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  z-index:300;
  display:none;
  align-items:flex-end;
  justify-content:center;
  padding:0;
}
.lead-popup.aberto { display:flex; animation:mhFadeIn .2s ease-out; }
@media (min-width:560px) {
  .lead-popup { align-items:center; padding:24px; }
}
.lead-box {
  background:#fff; color:#0f172a;
  border-radius:20px 20px 0 0;
  width:100%; max-width:460px;
  max-height:92vh;
  overflow-y:auto;
  box-shadow:0 24px 60px rgba(0,0,0,.5);
  animation:mhSlideUp .3s cubic-bezier(.16,1,.3,1);
  display:flex; flex-direction:column;
}
@media (min-width:560px) {
  .lead-box { border-radius:18px; max-height:88vh; }
}
.lead-head {
  padding:22px 22px 0;
  position:relative;
  flex:0 0 auto;
}
.lead-head .lead-eyebrow {
  display:inline-block;
  font-size:11px; font-weight:700;
  color:#7C3AED;
  text-transform:uppercase;
  letter-spacing:.08em;
  background:#f5f0ff;
  padding:5px 10px;
  border-radius:999px;
  margin-bottom:10px;
}
.lead-head h3 {
  font-size:20px; font-weight:800;
  color:#0f172a;
  margin:0 0 6px;
  line-height:1.25;
  letter-spacing:-.01em;
}
.lead-head p {
  font-size:14px; color:#475569;
  margin:0; line-height:1.5;
}
.lead-close {
  position:absolute; top:12px; right:12px;
  width:34px; height:34px;
  border:0; background:#f1f5f9; color:#475569;
  font-size:22px; line-height:1;
  border-radius:50%; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  transition:background .15s;
}
.lead-close:hover { background:#e2e8f0; color:#0f172a; }
.lead-body {
  padding:18px 22px 22px;
  flex:1 1 auto;
}
.lead-body .form-group { margin-bottom:14px; }
.lead-body label {
  display:block;
  font-size:13px; font-weight:600;
  color:#0f172a;
  margin-bottom:6px;
  letter-spacing:0;
  text-transform:none;
}
.lead-body .form-control {
  width:100%;
  padding:12px 14px;
  /* 16px, não 15px: abaixo disso o iOS dá zoom ao focar e desloca o formulário
     de captura de lead. Faltava exatamente 1px. */
  font-size:16px; line-height:1.3;
  border:1.5px solid #e2e8f0;
  border-radius:10px;
  font-family:inherit;
  transition:border-color .15s, box-shadow .15s;
  outline:none;
  background:#fff; color:#0f172a;
  -webkit-appearance:none;
}
.lead-body .form-control::placeholder { color:#94a3b8; }
.lead-body .form-control:focus {
  border-color:#7C3AED;
  box-shadow:0 0 0 3px rgba(124,58,237,.15);
}
.lead-body select.form-control {
  appearance:none; -moz-appearance:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");
  background-repeat:no-repeat;
  background-position:right 12px center;
  background-size:16px;
  padding-right:40px;
  cursor:pointer;
}
.lead-row {
  display:grid;
  grid-template-columns:1fr;
  gap:0;
}
@media (min-width:480px) {
  .lead-row { grid-template-columns:1fr 1fr; gap:10px; }
}
.lead-lgpd {
  display:flex; gap:10px; align-items:flex-start;
  font-size:12.5px; color:#475569;
  line-height:1.5;
  margin:6px 0 16px;
  cursor:pointer;
  padding:10px 12px;
  background:#faf5ff;
  border:1px solid #ede9fe;
  border-radius:10px;
}
.lead-lgpd input[type=checkbox] {
  width:16px; height:16px;
  margin-top:2px;
  flex-shrink:0;
  accent-color:#7C3AED;
  cursor:pointer;
}
.lead-lgpd a { color:#7C3AED; text-decoration:underline; font-weight:600; }
.lead-submit {
  width:100%;
  padding:14px 20px;
  background:linear-gradient(135deg,#A78BFA,#5B21B6);
  color:#fff; border:0;
  border-radius:12px;
  font-size:15px; font-weight:700;
  cursor:pointer;
  transition:transform .15s, box-shadow .2s, opacity .15s;
  box-shadow:0 6px 18px rgba(124,58,237,.35);
}
.lead-submit:hover { transform:translateY(-1px); box-shadow:0 10px 24px rgba(124,58,237,.45); }
.lead-submit:disabled { opacity:.7; cursor:wait; transform:none; box-shadow:none; }
.lead-trust {
  display:flex; align-items:center; justify-content:center;
  gap:6px;
  font-size:11.5px; color:#94a3b8;
  text-align:center;
  margin-top:12px;
  line-height:1.4;
}
.lead-trust svg { width:13px; height:13px; flex-shrink:0; }
.lead-success { text-align:center; padding:18px 4px 8px; }
.lead-success-icon {
  width:64px; height:64px;
  background:#dcfce7; color:#15803d;
  border-radius:50%;
  margin:0 auto 14px;
  display:flex; align-items:center; justify-content:center;
}
.lead-success-icon svg { width:32px; height:32px; }
.lead-success h4 { font-size:20px; font-weight:800; color:#0f172a; margin:0 0 8px; letter-spacing:-.01em; }
.lead-success p { font-size:14px; color:#475569; line-height:1.5; margin:0 0 16px; }
.lead-success .btn {
  display:inline-block;
  padding:12px 22px;
  background:linear-gradient(135deg,#A78BFA,#5B21B6);
  color:#fff; border-radius:10px;
  text-decoration:none;
  font-weight:700; font-size:14px;
}
.hidden { display:none !important; }
@keyframes mhFadeIn { from{opacity:0} to{opacity:1} }
@keyframes mhSlideUp { from{opacity:0; transform:translateY(40px)} to{opacity:1; transform:translateY(0)} }

/* STICKY BOTTOM CTA (mobile only) */
.mh-sticky-cta {
  display:none;
  position:fixed;
  bottom:0; left:0; right:0;
  z-index:200;
  padding:10px 14px;
  padding-bottom:max(10px, env(safe-area-inset-bottom));
  background:rgba(15,10,30,.94);
  backdrop-filter:blur(12px);
  border-top:1px solid rgba(167,139,250,.32);
  box-shadow:0 -8px 24px rgba(0,0,0,.4);
  transform:translateY(110%);
  transition:transform .28s cubic-bezier(.16,1,.3,1);
}
.mh-sticky-cta.visivel { transform:translateY(0); }
.mh-sticky-cta-inner { display:flex; align-items:center; gap:12px; max-width:520px; margin:0 auto; }
.mh-sticky-info { flex:1; min-width:0; }
.mh-sticky-info .preco { font-size:18px; font-weight:800; color:#fff; letter-spacing:-.01em; line-height:1.1; }
.mh-sticky-info .preco-riscado { font-size:11.5px; color:var(--mh-gray-500); text-decoration:line-through; }
.mh-sticky-info .nota { font-size:11px; color:var(--mh-gray-400); margin-top:1px; }
.mh-sticky-cta a { padding:11px 18px; font-size:13.5px; flex-shrink:0; box-shadow:0 4px 14px var(--mh-purple-glow); }
@media (max-width:900px){ .mh-sticky-cta { display:block; } }
