.sec1 {
  background: linear-gradient(120deg, #181C26 80%, #C7A350 120%);
  min-height: 60vh;
  display: flex;
  align-items: center;
  padding-top: 50px;
  padding-bottom: 50px;
}

.sec1 p{
    font-size: 1.2em;
}

@media (max-width: 767.98px) {
  .sec1 p{
    font-size: 1em;
  }
}

.sec2-implementacion {
  background: linear-gradient(90deg, #faf9f5 85%, #f0ede6 100%);
  padding: 5rem 0 4rem 0;
}

.sec2-implementacion .gradient-title-alt {
  font-size: 2.2rem;
  font-weight: 800;
  letter-spacing: -1px;
}

.sec2-implementacion h3 {
  color: var(--color-accent);
  font-weight: 700;
  margin-bottom: 2rem;
}

.sec2-implementacion .card {
  background: rgba(255,255,255,0.22);
  border: 1.5px solid var(--color-accent);
  border-radius: 1.5rem;
  box-shadow: 0 8px 32px 0 rgba(8,12,25,0.10);
  backdrop-filter: blur(10px) saturate(150%);
  -webkit-backdrop-filter: blur(10px) saturate(150%);
  color: var(--color-primary);
  transition: transform 0.16s, box-shadow 0.24s;
  min-height: 330px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
}

.sec2-implementacion .card:hover {
  transform: translateY(-8px) scale(1.027);
  box-shadow: 0 12px 48px 0 rgba(199,163,80,0.15);
  border-color: var(--color-accent);
}

.sec2-implementacion .card i {
  font-size: 2.9rem;
  color: var(--color-accent);
}

.sec2-implementacion .card h4 {
  color: var(--color-primary);
  font-weight: 700;
  margin-bottom: 0.7rem;
  font-size: 1.13rem;
}

.sec2-implementacion .card p {
  color: var(--color-secondary);
  font-size: 1rem;
  margin-bottom: 0;
}

/* Responsive */
@media (max-width: 991.98px) {
  .sec2-implementacion .card {
    min-height: 1px;
    margin-bottom: 1.5rem;
  }
  .sec2-implementacion {
    padding: 3rem 0 2rem 0;
  }
  .sec2-implementacion .gradient-title-alt {
    font-size: 1.5rem;
  }
}


.sec3-resultados {
  background: linear-gradient(45deg, #181C26 80%, #C7A350 120%);
  color: var(--color-text);
}

.kpi-card {
  background: var(--color-secondary);
  border: 1.5px solid var(--color-accent);
  border-radius: 1.2rem;
  box-shadow: 0 8px 32px 0 rgba(8,12,25,0.06);
  min-height: 160px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  transition: transform 0.18s, box-shadow 0.22s;
}
.kpi-card:hover {
  transform: scale(1.045);
  box-shadow: 0 12px 38px 0 rgba(199,163,80,0.12);
  border-color: var(--color-accent);
}
.kpi-card .display-4 {
  font-size: 2.6rem;
}
.kpi-desc {
  font-size: 1.07rem;
  line-height: 1.2;
}
@media (max-width: 767.98px) {
  .kpi-card {
    min-height: 120px;
    font-size: 0.98rem;
  }
}


/*SEC CTA*/
.cta-final-section {
  background: linear-gradient(145deg, #080C19 0%,#1A1F2B 90%, #C7A350 100%);
  position: relative;
  padding-top: 4rem;
  padding-bottom: 4rem;
  z-index: 1;
  overflow: hidden;
  min-height: 400px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.cta-final-section::before {
  content: '';
  position: absolute;
  left: 50%;
  top: 50%;
  width: 340px;
  height: 340px;
  transform: translate(-50%, -50%);
  background: url('/static/img/logo2.webp') no-repeat center center;
  background-size: contain;
  opacity: 0.08;
  z-index: 0;
  pointer-events: none;
}

@media (max-width: 767.98px) {
  .cta-final-section::before {
    width: 80vw;
    height: 80vw;
    min-width: 220px;
    min-height: 220px;
    max-width: 98vw;
    max-height: 98vw;
  }
}

/* El contenido está por encima del logo */
.cta-final-section .container {
  position: relative;
  z-index: 2;
}
