/* Páginas: home, qué es PyPro, aprender IA, consultoría. Cada bloque va acotado por la clase de su página. */

/* inicio_pypro */
/* Estilos específicos del home dashboard — piezas no presentes en pypro.css base. */
.page-home .branches {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-md);
}
@media (min-width: 640px) { .page-home .branches { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) { .page-home .branches { grid-template-columns: 1fr 1fr 1fr; } }
.page-home .branch-card {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  padding: var(--space-lg);
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  text-decoration: none;
  color: var(--color-on-surface);
  transition:
    border-color var(--dur-base) var(--ease-out-quart),
    transform var(--dur-base) var(--ease-out-quart),
    background var(--dur-base) var(--ease-out-quart);
}
.page-home .branch-card:hover {
  border-color: var(--color-primary);
  background: var(--color-surface-alt);
  transform: translateY(-2px);
  color: var(--color-on-surface);
}
.page-home .branch-card .badge-tech { align-self: flex-start; }
.page-home .branch-card__topics {
  margin: 0;
  color: var(--color-on-surface-muted);
  font-size: 0.9375rem;
  line-height: 1.5;
  flex: 1;
}
.page-home .branch-card__cta {
  color: var(--color-primary);
  font-weight: 600;
  font-size: 0.9375rem;
}
.page-home .bootcamp-callout {
  margin-top: var(--space-xl);
  padding: var(--space-lg);
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  max-width: 480px;
}
.page-home .bootcamp-callout__label {
  display: inline-block;
  font-family: var(--font-mono);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-secondary);
  margin-bottom: var(--space-sm);
}
.page-home .bootcamp-callout__schedule {
  margin: 0;
  font-size: 1.125rem;
  font-weight: 500;
  color: var(--color-on-background);
}

/* que_es_pypro */
.page-que-es .about-paths {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-lg);
}
@media (min-width: 768px) { .page-que-es .about-paths { grid-template-columns: 1fr 1fr 1fr; } }
.page-que-es .about-path {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  padding: var(--space-xl);
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
}
.page-que-es .about-path .badge-tag { align-self: flex-start; }
.page-que-es .about-path .t-title-sm { margin: 0; }
.page-que-es .about-path .t-body { margin: 0; }
.page-que-es .social-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-md);
}
@media (min-width: 640px) { .page-que-es .social-grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) { .page-que-es .social-grid { grid-template-columns: 1fr 1fr 1fr; } }

/* aprender_ia */
.page-aprender-ia .cmp-wrap { overflow-x: auto; margin-top: var(--space-lg); }
.page-aprender-ia .cmp { border-collapse: collapse; width: 100%; min-width: 640px; font-size: 0.9375rem; }
.page-aprender-ia .cmp th, .page-aprender-ia .cmp td { text-align: left; padding: 12px 14px; border-bottom: 1px solid var(--color-border); vertical-align: top; }
.page-aprender-ia .cmp th { font-weight: 600; color: var(--color-on-surface-muted); }
.page-aprender-ia .cmp td.yes { color: var(--color-secondary); font-weight: 600; }
.page-aprender-ia .crit-list { margin: var(--space-md) 0 0; padding-left: 1.2rem; display: grid; gap: 10px; max-width: 65ch; }
/* Esta página no anima la entrada: gana sobre `.js .fade-up` de pypro.css. */
.js .page-aprender-ia .fade-up:not(.visible) { opacity: 1; transform: none; }

/* consultoría (ya acotada por .ia-ejec) */
/* 96px entre secciones (48 + 48), regla de landings del design system. */
.ia-ejec .section { padding-top: var(--space-2xl); padding-bottom: var(--space-2xl); }
.ia-ejec .section + .section { border-top: 1px solid var(--color-divider, #1F2330); }
.ia-ejec .steps { display: grid; gap: var(--space-md); margin-top: var(--space-xl); }
.ia-ejec .cal-embed {
  min-height: 640px; margin-top: var(--space-xl);
  background: var(--color-surface, #1A1D27); border: 1px solid var(--color-border, #2D3340);
  border-radius: 12px; overflow: hidden;
}
.ia-ejec .cal-embed__placeholder { padding: var(--space-xl); color: var(--color-on-surface-muted, #94A3B8); }
.ia-ejec .legal { margin-top: var(--space-2xl); font-size: 0.875rem; color: var(--color-on-surface-muted, #94A3B8); }
.ia-ejec .legal a { color: inherit; text-decoration: underline; }
