/* Identidad educativa: azul, violeta, coral y amarillo.
   Capa visual; no altera la lógica ni los contenidos. */
:root {
  --verde-pizarron: #3d37a8;
  --verde-pizarron-deep: #29256f;
  --papel: #f8f7ff;
  --papel-borde: #dedcf0;
  --tinta: #29263d;
  --gis-dorado: #ffd166;
  --terracota: #df6d5a;
  --gris-texto: #626079;
  --ui-bg: #f7f6ff;
  --ui-border: rgba(61,55,168,.13);
  --ui-border-strong: rgba(61,55,168,.25);
  --ui-ink: #29263d;
  --ui-muted: #68657d;
  --ui-green: #3d37a8;
  --ui-green-2: #5149c6;
  --ui-green-soft: #eeedff;
  --ui-gold: #f2a93b;
  --ui-gold-soft: #fff5d9;
  --ui-danger: #c95d54;
  --ui-shadow-sm: 0 8px 24px rgba(52,47,134,.08);
  --ui-shadow: 0 20px 60px rgba(52,47,134,.12);
  --ui-focus: 0 0 0 4px rgba(81,73,198,.17);
}
body {
  background:
    radial-gradient(circle at 8% 12%, rgba(255,209,102,.18), transparent 22rem),
    radial-gradient(circle at 91% 20%, rgba(100,90,224,.13), transparent 28rem),
    var(--ui-bg);
}
.hero {
  background:
    radial-gradient(circle at 82% 18%, rgba(255,209,102,.34), transparent 21rem),
    radial-gradient(circle at 12% 92%, rgba(239,117,98,.22), transparent 24rem),
    linear-gradient(135deg, #29256f 0%, #4039aa 48%, #655be0 100%);
  box-shadow: 0 18px 50px rgba(52,47,134,.2);
}
.wordmark { color: #fff9e8; }
.hero-sub { color: rgba(252,251,255,.86); }
.cta {
  background: #ffd166;
  color: #332c69;
  box-shadow: 0 10px 28px rgba(255,209,102,.3);
}
.cta:hover { background: #ffdc85; }
.btn-auth { background: #ffd166; color: #332c69; }
.beneficio::before { background: linear-gradient(90deg, #5149c6, #f2a93b, #df6d5a); }
.ui-step { color: #5149c6; }
.ui-step::before { background: #eeedff; color: #3d37a8; }
label { color: #353250; }
input:hover, select:hover, textarea:hover { border-color: rgba(81,73,198,.4); }
input:focus, select:focus, textarea:focus { border-color: #5149c6; }
.campo-libre {
  border-color: rgba(81,73,198,.15);
  background: linear-gradient(180deg, #faf9ff, #f3f1ff);
}
.btn-principal {
  background: linear-gradient(135deg, #3d37a8, #6258db);
  box-shadow: 0 12px 26px rgba(61,55,168,.23);
}
.btn-principal:hover {
  background: linear-gradient(135deg, #302b88, #5149c6);
  box-shadow: 0 15px 32px rgba(61,55,168,.28);
}
.documento-vacio {
  background:
    linear-gradient(90deg, transparent 49.85%, rgba(81,73,198,.045) 50%, transparent 50.15%),
    linear-gradient(transparent 49.85%, rgba(81,73,198,.045) 50%, transparent 50.15%);
  background-size: 36px 36px;
}
.documento-vacio p { border-color: rgba(81,73,198,.24); }
.modal-fondo { background: rgba(35,30,91,.62); }
.btn-cerrar:hover { background: #f0efff; }

@media (max-width: 760px) {
  /* Mantiene una pausa legible entre las dos ideas del titular. */
  .hero h1 br { display: block; }
}
