body{font-family:Arial,Helvetica,sans-serif;color:#2F2F2F;background:#F4FAFD}
a{color:#029CDC}.navbar-default{background:#029CDC;border:none}
.navbar-default .navbar-brand,.navbar-default .navbar-nav>li>a{color:#fff}
.hero { background:#F4FAFD; padding:60px 0 40px; }
.hero h1 { color:#0B4E6C; font-weight:700; }
.hero p { color:#555; font-size:16px; }
.section{padding:60px 0}.section h2{color:#0B4E6C;margin-bottom:10px;font-weight:700}
.section-title { color:#0B4E6C; font-weight:700; margin:30px 0 12px; }
.card{background:#fff;border:1px solid #e6f2f8;border-radius:14px;padding:24px;box-shadow:0 10px 24px rgba(2,156,220,.08)}
.btn-primary{background:#029CDC;border:none;border-radius:24px;padding:10px 18px;font-weight:600}
.btn-primary:hover{background:#0B4E6C}
.form-vertical{max-width:600px;margin:0 auto;background:#fff;border:1px solid #e6f2f8;border-radius:12px;padding:18px;box-shadow:0 10px 24px rgba(2,156,220,.06)}
.help-block{font-size:12px;color:#666}.has-error .form-control{border-color:#e74c3c}.has-success .form-control{border-color:#2ecc71}
.btn-ledata { background:#029CDC; border:none; color:#fff; border-radius:30px; padding:10px 24px; font-weight:600; transition:all .2s ease; }
.btn-ledata:hover { background:#0B4E6C; color:#fff; transform:translateY(-1px); }
.subtle { color:#6b7b85; }
.panel-ledata { border:2px solid #029CDC; border-radius:12px; }
.panel-ledata>.panel-heading { background:#029CDC; color:#fff; border-radius:10px 10px 0 0; }
.well-note { background:#e9f6fb; border-color:#b3e0f2; color:#0b4e6c; }
.required:after { content:" *"; color:#d9534f; }
.card { border:1px solid #e8f3f9; border-radius:10px; padding:16px; background:#fff; }
.badge-soft { background:#EAF7FF; color:#0B4E6C; border:1px solid #cfeefc; }
.muted { color:#9aa8b3; }
footer{background:#0B4E6C;color:#F4FAFD;padding:20px 0;margin-top:40px;text-align:center}
.label-beta{ background:#0B4E6C; display:inline-block; border-radius:4px; padding:3px 8px; font-size:12px; margin-left:6px; }
@media (max-width: 767px){
      .hero .btn { margin-bottom:10px; }
}
.spinner {
  border: 2px solid #f3f3f3;
  border-top: 2px solid #555;
  border-radius: 50%;
  width: 14px;
  height: 14px;
  display: inline-block;
  margin-right: 5px;
  animation: spin 0.7s linear infinite;
}
.hero-concept { background:#F4FAFD; padding:60px 0 40px; border-bottom:1px solid #e8eef3; }
.hero-concept .lead { color:#555; }
.btn-outline { background:#fff; border:1px solid #029CDC; color:#029CDC; border-radius:24px; padding:8px 16px; }
.btn-ledata { background:#029CDC; border:none; color:#fff; border-radius:24px; padding:10px 18px; font-weight:600; }
.btn-ledata:hover { background:#0B4E6C; color:#fff; }
.section-title { color:#0B4E6C; font-weight:700; margin:30px 0 12px; }
.section-ecosys { background:#f7fbfe; border-top:1px solid #e8eef3; border-bottom:1px solid #e8eef3; }
.svc-card { min-height:260px; }
.svc-head { display:flex; align-items:center; gap:10px; }
.svc-head .icon { width:48px; height:48px; display:inline-block; border-radius:50%; background:#029CDC; color:#fff; line-height:48px; text-align:center; font-size:22px; }
.label-free { background:#EAF7FF; color:#0B4E6C; border:1px solid #cfeefc; }
.mini { font-size:12px; }
.subtle { color:#6b7b85; }
.feat i { color:#029CDC; }
.card { border:1px solid #e8f3f9; border-radius:10px; padding:16px; background:#fff; box-shadow:0 10px 24px rgba(2,156,220,.06); }
.hero-ctas .btn { margin-right:6px; }
@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

/* Centrar la columna */
.col-centered {
  float: none;
  margin: 0 auto;
}

/* Quitar límites de thumb y mostrar la imagen bien grande */
.ultima-publicacion-box {
  text-align: center;
  border: none;
  box-shadow: none;
  background: none;
  overflow: hidden;
  padding: 0;
}

/* Imagen grande, centrada y totalmente responsive */
.ultima-publicacion-img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0 auto;
  border-radius: 8px;        /* opcional: bordes suaves */
  object-fit: cover;         /* mantiene proporción */
}

/* Ajuste mobile */
@media (max-width: 767px) {
  .ultima-publicacion-img {
    max-height: none;
    width: 100%;
  }
}

/* Estilo del texto debajo */
.ultima-meta {
  margin-top: 8px;
  text-align: center;
}

#gridResultados {
  display: flex;
  flex-wrap: wrap;
  justify-content: center; /* centra horizontalmente */
}