/* ============================================================
   EduCare Home — public.css (landing y páginas públicas)
   ============================================================ */

.public-shell { display: flex; flex-direction: column; min-height: 100vh; }
.public-shell main { flex: 1; }

.hero-layout {
  display: grid;
  grid-template-columns: 55fr 45fr;
  gap: var(--space-12);
  align-items: center;
  padding: var(--space-12) 0 var(--space-16);
}
@media (max-width: 991.98px) {
  .hero-layout { grid-template-columns: 1fr; padding: var(--space-8) 0; gap: var(--space-8); }
}

.trust-bar {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-4);
  background: #fff;
  border: 1px solid var(--color-border-soft);
  border-radius: var(--radius-md);
  padding: var(--space-6);
  box-shadow: var(--shadow-sm);
}
@media (max-width: 767.98px) { .trust-bar { grid-template-columns: 1fr 1fr; } }

.trust-item { display: flex; align-items: flex-start; gap: var(--space-3); }
.trust-item .icon { color: var(--color-nature-600); width: 24px; height: 24px; }
.trust-item__title { font-weight: 700; font-size: 15px; color: var(--color-navy-950); }
.trust-item__desc { font-size: 13px; color: var(--color-text-secondary); }

.tree-stage-cards { display: grid; grid-template-columns: repeat(5, 1fr); gap: var(--space-4); }
@media (max-width: 991.98px) { .tree-stage-cards { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 575.98px) { .tree-stage-cards { grid-template-columns: 1fr; } }

.how-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-8); }
@media (max-width: 991.98px) { .how-steps { grid-template-columns: 1fr; gap: var(--space-6); } }

.testimonial-card {
  background: #fff; border: 1px solid var(--color-border-soft);
  border-radius: var(--radius-md); padding: var(--space-6);
  box-shadow: var(--shadow-sm); height: 100%;
}
.testimonial-card__quote { font-family: var(--font-serif); font-size: 18px; line-height: 1.6; color: var(--color-navy-950); }
.testimonial-card__author { display: flex; align-items: center; gap: var(--space-3); margin-top: var(--space-4); }
.testimonial-card__avatar { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; }
.testimonial-card__name { font-weight: 700; font-size: 15px; }
.testimonial-card__role { font-size: 13px; color: var(--color-text-muted); }

.demo-note {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 12px; color: var(--color-text-muted);
  background: var(--color-cream-100);
  padding: 4px 10px; border-radius: 999px;
}
