/* Estilos da landing — layout sobre os tokens de packages/brand, seguindo a
   spec docs/design-system.html. Sem inline styles (CSP style-src 'self'). */
.pagina {
  max-width: 960px;
  margin: 0 auto;
  padding: 0 24px 64px;
}

/* ---- Barra de navegação ---- */
.topo {
  max-width: 960px;
  margin: 0 auto;
  padding: 18px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}
.marca {
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  color: var(--clm-gold);
  font-family: var(--clm-font-display);
  font-weight: 700;
  font-size: 1.05rem;
  letter-spacing: -0.01em;
}
.menus {
  display: flex;
  align-items: center;
  gap: 22px;
  flex-wrap: wrap;
}
.menus a {
  color: var(--clm-text-muted);
  text-decoration: none;
  font-size: 0.95rem;
  transition: color var(--clm-fast) var(--clm-ease);
}
.menus a:hover { color: var(--clm-gold-light); }
.menus .entrar {
  color: var(--clm-gold-light);
  border: 1px solid var(--clm-glass-border);
  border-radius: var(--clm-radius-pill);
  padding: 8px 18px;
  transition: border-color var(--clm-fast) var(--clm-ease),
    background var(--clm-fast) var(--clm-ease);
}
.menus .entrar:hover {
  border-color: var(--clm-gold);
  background: var(--clm-glass-bg);
}

/* ---- Hero (espelho da spec) ---- */
.hero {
  padding: 72px 0 32px;
  animation: surgir var(--clm-slow) var(--clm-ease) both;
}
.hero .hex { filter: drop-shadow(0 0 24px rgba(212, 175, 55, 0.35)); }
.versao {
  font-family: var(--clm-font-mono);
  font-size: 0.75rem;
  color: var(--clm-gold-dim);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin: 16px 0 0;
}
.hero h1 {
  font-family: var(--clm-font-display);
  font-weight: 700;
  font-size: clamp(2.4rem, 6vw, 3.8rem);
  line-height: 1.05;
  margin: 8px 0;
  color: var(--clm-gold);
  letter-spacing: -0.01em;
}
.subtitulo {
  color: var(--clm-text-muted);
  max-width: 56ch;
  font-size: 1.05rem;
  margin: 0 0 24px;
}
.ctas {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin: 0;
}
.ctas a { text-decoration: none; }
.ctas .clm-btn { display: inline-block; }
.btn-fantasma {
  display: inline-block;
  color: var(--clm-gold-light);
  border: 1px solid var(--clm-glass-border);
  border-radius: var(--clm-radius-pill);
  padding: 0.6rem 1.2rem;
  font-weight: 500;
  transition: border-color var(--clm-fast) var(--clm-ease),
    background var(--clm-fast) var(--clm-ease);
}
.btn-fantasma:hover {
  border-color: var(--clm-gold);
  background: var(--clm-glass-bg);
}

/* ---- Cartões de destaque ---- */
.destaques {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 16px;
  margin-top: 24px;
}
.destaques .cartao {
  padding: 22px;
  animation: surgir var(--clm-slow) var(--clm-ease) both;
}
.destaques .cartao:nth-child(1) { animation-delay: 140ms; }
.destaques .cartao:nth-child(2) { animation-delay: 200ms; }
.destaques .cartao:nth-child(3) { animation-delay: 260ms; }
.cartao h2 {
  margin: 0 0 6px;
  font-family: var(--clm-font-display);
  font-weight: 600;
  font-size: 1.25rem;
  color: var(--clm-gold-light);
}
.cartao p {
  margin: 0 0 12px;
  color: var(--clm-text-muted);
  font-size: 0.92rem;
}
.cartao code { font-family: var(--clm-font-mono); font-size: 0.85em; }
.saiba {
  color: var(--clm-gold-light);
  font-size: 0.88rem;
  text-decoration: none;
}
.saiba:hover { text-decoration: underline; }

/* ---- Rodapé ---- */
.rodape {
  max-width: 960px;
  margin: 0 auto;
  padding: 24px;
  color: var(--clm-text-muted);
  font-size: 0.85rem;
  border-top: 1px solid rgba(212, 175, 55, 0.18);
}

/* Movimento: keyframes oficiais (surgir/voo/mel/esteira) vêm dos tokens */

/* ---- Painel de login ---- */
.painel-login {
  max-width: 420px;
  margin: 72px auto 0;
  padding: 32px;
  text-align: center;
  animation: surgir var(--clm-slow) var(--clm-ease) both;
}
.painel-login h1 {
  font-family: var(--clm-font-display);
  font-weight: 600;
  font-size: 1.6rem;
  color: var(--clm-gold);
  margin: 12px 0 4px;
}
.descricao-login {
  color: var(--clm-text-muted);
  font-size: 0.95rem;
  margin: 0 0 20px;
}
.botoes-login {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin: 0;
}
.botoes-login a { text-decoration: none; }

/* ---- Cartão de preço (cursos) ---- */
.cartao-preco .preco {
  font-family: var(--clm-font-display);
  font-weight: 700;
  font-size: 2.4rem;
  color: var(--clm-gold);
  margin: 4px 0 0;
}
.cartao-preco form { margin: 12px 0 8px; }
.nota-login {
  color: var(--clm-text-muted);
  font-size: 0.78rem;
  margin: 0;
}

/* ---- Hero Enxame Vivo (v2) ---- */
.hero-enxame { position: relative; }
.enxame {
  position: absolute;
  right: -40px;
  top: -20px;
  width: 480px;
  height: 520px;
  pointer-events: none;
}
.abelha { position: absolute; }
.abelha-1 { left: 28px; top: 400px; font-size: 30px; animation: voo 5s ease-in-out infinite; }
.abelha-2 { left: 396px; top: 84px; font-size: 22px; animation: voo 6.5s ease-in-out 0.8s infinite; }
.abelha-3 { left: 368px; top: 368px; font-size: 18px; animation: voo 4.2s ease-in-out 1.6s infinite; }
.ponto {
  position: absolute;
  border-radius: 50%;
  background: var(--clm-gold-light);
  width: 6px;
  height: 6px;
  animation: pulsar 3s ease-in-out infinite;
}
.ponto-1 { left: 110px; top: 92px; width: 7px; height: 7px; }
.ponto-2 { left: 434px; top: 240px; width: 5px; height: 5px; background: var(--clm-gold); animation-delay: 0.6s; animation-duration: 2.4s; }
.ponto-3 { left: 56px; top: 230px; width: 5px; height: 5px; background: var(--clm-gold); animation-delay: 1.1s; animation-duration: 2.8s; }
.ponto-4 { left: 276px; top: 56px; animation-delay: 0.3s; animation-duration: 3.4s; }
.ponto-5 { left: 230px; top: 460px; animation-delay: 0.9s; animation-duration: 2.2s; }

.manchete {
  font-family: var(--clm-font-display);
  font-weight: 900;
  font-size: clamp(2rem, 4.6vw, 3.3rem);
  line-height: 1.06;
  letter-spacing: -0.01em;
  color: var(--clm-text);
  margin: 8px 0 0;
  max-width: 12ch;
}
.manchete-gold { color: var(--clm-gold); font-weight: 500; }
.surge-1 { animation: surgir var(--clm-slow) var(--clm-ease) 0.1s both; }
.surge-2 { animation: surgir var(--clm-slow) var(--clm-ease) 0.25s both; }
.surge-3 { animation: surgir var(--clm-slow) var(--clm-ease) 0.4s both; }
.surge-4 { animation: surgir var(--clm-slow) var(--clm-ease) 0.55s both; }

@media (max-width: 980px) {
  .enxame { display: none; }
  .manchete { max-width: none; }
}

/* ---- Favo de aplicações (v2) ---- */
.secao-favo { padding: 90px 0 0; text-align: center; }
.rotulo-central { text-align: center; margin: 0 0 10px; }
.titulo-secao {
  font-family: var(--clm-font-display);
  font-weight: 700;
  font-size: clamp(1.4rem, 2.6vw, 1.9rem);
  color: var(--clm-gold-light);
  margin: 0 0 8px;
}
.sub-secao { color: var(--clm-text-muted); font-size: 0.95rem; margin: 0 0 44px; }
/* Favo agrupado: cluster de colmeia real em grade 4x2. Geometria exata do
   hexágono flat-top — célula 200x174, colunas a cada 150 (= 3/4·200) com
   desnível 87 (= 174/2) nas ímpares, segunda linha a +174. Cada célula
   encosta nas vizinhas por todos os lados. */
.favo {
  position: relative;
  width: 650px;
  height: 437px;
  margin: 0 auto 36px;
}
.favo .clm-hex {
  position: absolute;
  width: 200px;
  height: 174px;
  text-decoration: none;
  color: var(--clm-text);
}
.favo .clm-hex:nth-child(1) { left: 0; top: 0; }
.favo .clm-hex:nth-child(2) { left: 150px; top: 87px; }
.favo .clm-hex:nth-child(3) { left: 300px; top: 0; }
.favo .clm-hex:nth-child(4) { left: 450px; top: 87px; }
.favo .clm-hex:nth-child(5) { left: 0; top: 174px; }
.favo .clm-hex:nth-child(6) { left: 150px; top: 261px; }
.favo .clm-hex:nth-child(7) { left: 300px; top: 174px; }
.favo .clm-hex:nth-child(8) { left: 450px; top: 261px; }
.favo .clm-hex:nth-child(n + 9) { display: none; }
.hex-nome { font-family: var(--clm-font-mono); font-size: 0.82rem; color: var(--clm-text); }
.hex-sub { color: var(--clm-text-muted); font-size: 0.68rem; margin-top: 4px; }
.hex-mais {
  font-family: var(--clm-font-display);
  font-weight: 500;
  font-size: 1.5rem;
  color: var(--clm-gold-dim);
}
.celula-muda { pointer-events: none; }
@media (max-width: 720px) {
  .favo { width: auto; height: auto; display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; }
  .favo .clm-hex { position: static; }
  .favo .celula-muda { display: none; }
}

/* ---- Cards dos papéis (compactos) + CTA final ---- */
.papel {
  font-family: var(--clm-font-mono);
  font-size: 0.68rem;
  letter-spacing: 0.14em;
  color: var(--clm-gold-dim);
  margin: 0 0 10px;
}
.cta-final {
  margin: 80px 0 0;
  padding: 48px 32px;
  text-align: center;
  background: linear-gradient(135deg, rgba(212, 175, 55, 0.14), rgba(212, 175, 55, 0.03));
}
.titulo-cta {
  font-family: var(--clm-font-display);
  font-weight: 700;
  font-size: clamp(1.5rem, 3vw, 2.1rem);
  color: var(--clm-gold);
  margin: 0 0 10px;
}
.sub-cta { color: var(--clm-text-muted); font-size: 1rem; margin: 0 0 26px; }

/* ---- Favo de apps (página /apps, células grandes com descrição) ---- */
.secao-favo-apps { padding-top: 20px; }
.favo-apps .clm-hex { padding: 0 34px; }
.hex-dominio { color: var(--clm-gold-light); font-size: 0.68rem; margin-top: 8px; }

/* ---- Preço do curso em destaque (v2) ---- */
.cartao-preco .preco {
  font-weight: 900;
  font-size: 2.6rem;
}

/* Filtro de refração líquida: o svg fica invisível no fluxo */
.clm-filtros { position: absolute; width: 0; height: 0; overflow: hidden; }

/* ---- Seção ROI (respiro e alinhamento) ---- */
.secao-roi { padding: 80px 0 0; text-align: center; }
.trilhos-roi { text-align: left; margin-top: 28px; }

/* ---- Favo-flor: sua empresa no centro, capacidades plugadas ao redor.
   Anel dos 6 vizinhos exatos do hexágono central (N, NE, SE, S, SW, NW)
   + broto "sua app aqui" plugado no lado leste do anel. ---- */
.favo-flor { width: 500px; height: 522px; }
.favo-flor .clm-hex:nth-child(1) { left: 150px; top: 174px; }  /* centro */
.favo-flor .clm-hex:nth-child(2) { left: 150px; top: 0; }      /* N  */
.favo-flor .clm-hex:nth-child(3) { left: 300px; top: 87px; }   /* NE */
.favo-flor .clm-hex:nth-child(4) { left: 300px; top: 261px; }  /* SE */
.favo-flor .clm-hex:nth-child(5) { left: 150px; top: 348px; }  /* S  */
.favo-flor .clm-hex:nth-child(6) { left: 0; top: 261px; }      /* SW */
.favo-flor .clm-hex:nth-child(7) { left: 0; top: 87px; }       /* NW */
.favo-flor .clm-hex:nth-child(n + 8) { display: none; }
.celula-centro {
  background: rgba(212, 175, 55, 0.2);
  filter: drop-shadow(0 0 20px rgba(212, 175, 55, 0.35));
  z-index: 1;
}
.celula-centro:hover { background: rgba(212, 175, 55, 0.32); }
.hex-centro-titulo {
  font-family: var(--clm-font-display);
  font-weight: 700;
  font-size: 0.9rem;
  color: var(--clm-gold);
}
