.elementor-18735 .elementor-element.elementor-element-006247d > .elementor-background-overlay{opacity:1;}.elementor-bc-flex-widget .elementor-18735 .elementor-element.elementor-element-7ff3bce.elementor-column .elementor-widget-wrap{align-items:center;}.elementor-18735 .elementor-element.elementor-element-7ff3bce.elementor-column.elementor-element[data-element_type="column"] > .elementor-widget-wrap.elementor-element-populated{align-content:center;align-items:center;}.elementor-18735 .elementor-element.elementor-element-7ff3bce.elementor-column > .elementor-widget-wrap{justify-content:center;}.elementor-18735 .elementor-element.elementor-element-7f97d81{--spacer-size:25px;}.elementor-18735 .elementor-element.elementor-element-5b6396d{text-align:center;}.elementor-18735 .elementor-element.elementor-element-5b6396d .elementor-heading-title{font-family:"Sarabun", Sans-serif;font-size:37px;}.elementor-18735 .elementor-element.elementor-element-ecb0ee7{--spacer-size:25px;}.elementor-18735 .elementor-element.elementor-element-d7df3b4 > .elementor-container{max-width:1400px;}.elementor-18735 .elementor-element.elementor-element-8820b09{--spacer-size:25px;}.elementor-18735 .elementor-element.elementor-element-662fe83 > .elementor-background-overlay{background-color:#59D6BA;opacity:0.5;}.elementor-18735 .elementor-element.elementor-element-662fe83 > .elementor-container{max-width:1217px;}.elementor-18735 .elementor-element.elementor-element-662fe83{padding:20px 20px 20px 20px;}.elementor-18735 .elementor-element.elementor-element-9a8386a .elementor-testimonial-wrapper{text-align:center;}.elementor-18735 .elementor-element.elementor-element-f23ecec:not(.elementor-motion-effects-element-type-background), .elementor-18735 .elementor-element.elementor-element-f23ecec > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://admisiones.ucompensar.edu.co/wp-content/uploads/2023/11/Landing-Campana-V2_07.png");}.elementor-18735 .elementor-element.elementor-element-f23ecec{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-18735 .elementor-element.elementor-element-f23ecec > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-18735 .elementor-element.elementor-element-a12b904 > .elementor-element-populated{padding:106px 106px 106px 106px;}.elementor-18735 .elementor-element.elementor-element-cb9df14{--iteration-count:infinite;--dynamic-text-color:#FFFFFF;}.elementor-18735 .elementor-element.elementor-element-cb9df14 .elementor-headline{text-align:center;font-family:"Sarabun", Sans-serif;font-weight:900;}.elementor-18735 .elementor-element.elementor-element-cb9df14 .elementor-headline-plain-text{color:#FFFFFF;}.elementor-18735 .elementor-element.elementor-element-9941ea5{margin-top:40px;margin-bottom:0px;}.elementor-18735 .elementor-element.elementor-element-04d1959{text-align:center;}.elementor-18735 .elementor-element.elementor-element-04d1959 .elementor-heading-title{font-family:"Sarabun", Sans-serif;font-weight:900;}.elementor-18735 .elementor-element.elementor-element-9f90fb4 .twae-wrapper{--tw-cbx-text-align-alternate:right;--tw-lbl-big-color:#56086F;--tw-lbl-big-size:32px;--tw-lbl-small-size:18px;--tw-ybx-size:80px;--tw-cbx-bottom-margin:60px;--tw-cbx-bd-color:#EEEDED;--tw-cbx-bd-top-width:0px;--tw-cbx-bd-right-width:0px;--tw-cbx-bd-bottom-width:0px;--tw-cbx-bd-left-width:0px;--tw-cbx-title-color:#F30D0D;--tw-cbx-title-margin:0 0 4px 0;}.elementor-18735 .elementor-element.elementor-element-9f90fb4 .twae-wrapper, .elementor-18735 .elementor-element.elementor-element-9f90fb4 .twae-navigationBar{--tw-ibx-bg:#32DAE0;}.elementor-18735 .elementor-element.elementor-element-9f90fb4 .twae-label-big,.elementor-18735 .elementor-element.elementor-element-9f90fb4 .twae_icon_text{font-family:"Sarabun", Sans-serif;font-weight:900;}.elementor-18735 .elementor-element.elementor-element-9f90fb4 .twae-year-text{font-size:1px;}.elementor-18735 .elementor-element.elementor-element-3565e96:not(.elementor-motion-effects-element-type-background), .elementor-18735 .elementor-element.elementor-element-3565e96 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#EB5D0B;background-image:url("https://admisiones.ucompensar.edu.co/wp-content/uploads/2025/03/dia-contador-fondo.webp");}.elementor-18735 .elementor-element.elementor-element-3565e96{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;margin-top:47px;margin-bottom:47px;}.elementor-18735 .elementor-element.elementor-element-3565e96 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-18735 .elementor-element.elementor-element-8c29583 > .elementor-widget-container{margin:33px 33px 33px 33px;padding:23px 63px 63px 63px;}.elementor-18735 .elementor-element.elementor-element-8c29583{text-align:center;}.elementor-18735 .elementor-element.elementor-element-8c29583 .elementor-heading-title{font-family:"Sarabun", Sans-serif;font-size:40px;font-weight:900;-webkit-text-stroke-color:#000;stroke:#000;color:#F7F4F3;}.elementor-18735 .elementor-element.elementor-element-b3bfc06{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;margin-top:-118px;margin-bottom:0px;}.elementor-18735 .elementor-element.elementor-element-b3bfc06 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-18735 .elementor-element.elementor-element-b6a6ebe:not(.elementor-motion-effects-element-type-background) > .elementor-widget-wrap, .elementor-18735 .elementor-element.elementor-element-b6a6ebe > .elementor-widget-wrap > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FDFCFC;}.elementor-18735 .elementor-element.elementor-element-b6a6ebe:hover > .elementor-element-populated{background-color:#A8CFDD;}.elementor-18735 .elementor-element.elementor-element-b6a6ebe > .elementor-element-populated, .elementor-18735 .elementor-element.elementor-element-b6a6ebe > .elementor-element-populated > .elementor-background-overlay, .elementor-18735 .elementor-element.elementor-element-b6a6ebe > .elementor-background-slideshow{border-radius:10px 10px 10px 10px;}.elementor-18735 .elementor-element.elementor-element-b6a6ebe > .elementor-element-populated{box-shadow:0px 0px 10px 0px rgba(0,0,0,0.5);transition:background 0.2s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;margin:5px 5px 60px 5px;--e-column-margin-right:5px;--e-column-margin-left:5px;}.elementor-18735 .elementor-element.elementor-element-b6a6ebe > .elementor-element-populated > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-18735 .elementor-element.elementor-element-0369ca5{width:100%;max-width:100%;align-self:center;text-align:center;font-family:"Sarabun", Sans-serif;font-size:16px;font-weight:400;}.elementor-18735 .elementor-element.elementor-element-a904a26:not(.elementor-motion-effects-element-type-background) > .elementor-widget-wrap, .elementor-18735 .elementor-element.elementor-element-a904a26 > .elementor-widget-wrap > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-18735 .elementor-element.elementor-element-a904a26:hover > .elementor-element-populated{background-color:#A8CFDD;}.elementor-18735 .elementor-element.elementor-element-a904a26 > .elementor-element-populated, .elementor-18735 .elementor-element.elementor-element-a904a26 > .elementor-element-populated > .elementor-background-overlay, .elementor-18735 .elementor-element.elementor-element-a904a26 > .elementor-background-slideshow{border-radius:10px 10px 10px 10px;}.elementor-18735 .elementor-element.elementor-element-a904a26 > .elementor-element-populated{box-shadow:0px 0px 10px 0px rgba(0,0,0,0.5);transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;margin:5px 5px 60px 5px;--e-column-margin-right:5px;--e-column-margin-left:5px;}.elementor-18735 .elementor-element.elementor-element-a904a26 > .elementor-element-populated > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-18735 .elementor-element.elementor-element-e45aad0{font-family:"Sarabun", Sans-serif;font-size:16px;font-weight:400;}.elementor-18735 .elementor-element.elementor-element-099a3a4:not(.elementor-motion-effects-element-type-background) > .elementor-widget-wrap, .elementor-18735 .elementor-element.elementor-element-099a3a4 > .elementor-widget-wrap > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-18735 .elementor-element.elementor-element-099a3a4:hover > .elementor-element-populated{background-color:#A8CFDD;}.elementor-18735 .elementor-element.elementor-element-099a3a4 > .elementor-element-populated, .elementor-18735 .elementor-element.elementor-element-099a3a4 > .elementor-element-populated > .elementor-background-overlay, .elementor-18735 .elementor-element.elementor-element-099a3a4 > .elementor-background-slideshow{border-radius:10px 10px 10px 10px;}.elementor-18735 .elementor-element.elementor-element-099a3a4 > .elementor-element-populated{box-shadow:0px 0px 10px 0px rgba(0,0,0,0.5);transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;margin:5px 5px 60px 5px;--e-column-margin-right:5px;--e-column-margin-left:5px;}.elementor-18735 .elementor-element.elementor-element-099a3a4 > .elementor-element-populated > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-18735 .elementor-element.elementor-element-767b698{font-family:"Sarabun", Sans-serif;font-size:16px;font-weight:400;}.elementor-18735 .elementor-element.elementor-element-5e706f2:not(.elementor-motion-effects-element-type-background) > .elementor-widget-wrap, .elementor-18735 .elementor-element.elementor-element-5e706f2 > .elementor-widget-wrap > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-18735 .elementor-element.elementor-element-5e706f2:hover > .elementor-element-populated{background-color:#A8CFDD;}.elementor-18735 .elementor-element.elementor-element-5e706f2 > .elementor-element-populated, .elementor-18735 .elementor-element.elementor-element-5e706f2 > .elementor-element-populated > .elementor-background-overlay, .elementor-18735 .elementor-element.elementor-element-5e706f2 > .elementor-background-slideshow{border-radius:10px 10px 10px 10px;}.elementor-18735 .elementor-element.elementor-element-5e706f2 > .elementor-element-populated{box-shadow:0px 0px 10px 0px rgba(0,0,0,0.5);transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;margin:5px 5px 60px 5px;--e-column-margin-right:5px;--e-column-margin-left:5px;}.elementor-18735 .elementor-element.elementor-element-5e706f2 > .elementor-element-populated > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-18735 .elementor-element.elementor-element-84b3696{text-align:center;font-family:"Sarabun", Sans-serif;font-size:16px;font-weight:400;}.elementor-18735 .elementor-element.elementor-element-6e3f150:not(.elementor-motion-effects-element-type-background) > .elementor-widget-wrap, .elementor-18735 .elementor-element.elementor-element-6e3f150 > .elementor-widget-wrap > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-18735 .elementor-element.elementor-element-6e3f150:hover > .elementor-element-populated{background-color:#A8CFDD;}.elementor-18735 .elementor-element.elementor-element-6e3f150 > .elementor-element-populated, .elementor-18735 .elementor-element.elementor-element-6e3f150 > .elementor-element-populated > .elementor-background-overlay, .elementor-18735 .elementor-element.elementor-element-6e3f150 > .elementor-background-slideshow{border-radius:10px 10px 10px 10px;}.elementor-18735 .elementor-element.elementor-element-6e3f150 > .elementor-element-populated{box-shadow:0px 0px 10px 0px rgba(0,0,0,0.5);transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;margin:5px 5px 60px 5px;--e-column-margin-right:5px;--e-column-margin-left:5px;}.elementor-18735 .elementor-element.elementor-element-6e3f150 > .elementor-element-populated > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-18735 .elementor-element.elementor-element-dc5c011{text-align:center;font-family:"Sarabun", Sans-serif;font-size:16px;font-weight:400;}@media(max-width:1600px){.elementor-bc-flex-widget .elementor-18735 .elementor-element.elementor-element-7ff3bce.elementor-column .elementor-widget-wrap{align-items:center;}.elementor-18735 .elementor-element.elementor-element-7ff3bce.elementor-column.elementor-element[data-element_type="column"] > .elementor-widget-wrap.elementor-element-populated{align-content:center;align-items:center;}.elementor-18735 .elementor-element.elementor-element-7ff3bce.elementor-column > .elementor-widget-wrap{justify-content:center;}.elementor-18735 .elementor-element.elementor-element-5b6396d > .elementor-widget-container{padding:15px 15px 15px 15px;}.elementor-18735 .elementor-element.elementor-element-c1abcbd{width:var( --container-widget-width, 717.088px );max-width:717.088px;--container-widget-width:717.088px;--container-widget-flex-grow:0;}}@media(max-width:1024px){.elementor-18735 .elementor-element.elementor-element-9f90fb4 .twae-wrapper{--tw-lbl-big-size:20px;--tw-lbl-small-size:14px;--tw-ybx-size:80px;}.elementor-18735 .elementor-element.elementor-element-b3bfc06{margin-top:-115px;margin-bottom:-0px;}}@media(max-width:767px){.elementor-18735 .elementor-element.elementor-element-9f90fb4 .twae-wrapper{--tw-lbl-big-size:18px;--tw-lbl-small-size:14px;--tw-ybx-size:80px;}.elementor-18735 .elementor-element.elementor-element-8c29583{width:100%;max-width:100%;}.elementor-18735 .elementor-element.elementor-element-8c29583 > .elementor-widget-container{margin:25px 0px 25px 0px;}.elementor-18735 .elementor-element.elementor-element-8c29583 .elementor-heading-title{font-size:23px;line-height:1em;letter-spacing:-1px;}}@media(min-width:768px){.elementor-18735 .elementor-element.elementor-element-805dc6c{width:38%;}.elementor-18735 .elementor-element.elementor-element-47f9d73{width:62%;}}@media(max-width:1024px) and (min-width:768px){.elementor-18735 .elementor-element.elementor-element-805dc6c{width:100%;}.elementor-18735 .elementor-element.elementor-element-47f9d73{width:100%;}}@media(min-width:2400px){.elementor-18735 .elementor-element.elementor-element-d7df3b4 > .elementor-container{max-width:1400px;}.elementor-18735 .elementor-element.elementor-element-9941ea5{padding:20px 10px 30px 10px;}}/* Start custom CSS *//* CSS LIMPIO Y OPTIMIZADO - Agregar en Elementor > Personalizar > CSS Adicional */

/* ============================================
   SECCIÓN: PROGRAMAS (CARDS)
   ============================================ */
.programas-lumni-container {
  padding: 60px 0;
  position: relative;
  overflow: hidden;
}

.programas-lumni-container::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: 
    radial-gradient(circle at 20% 50%, rgba(255,255,255,0.1) 0%, transparent 50%),
    radial-gradient(circle at 80% 80%, rgba(255,255,255,0.1) 0%, transparent 50%);
  pointer-events: none;
}

.programas-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 24px;
  max-width: 1600px;
  margin: 0 auto;
  padding: 0 20px;
  position: relative;
  z-index: 1;
  justify-items: center;
}

.programa-card {
  perspective: 1000px;
  width: 100%;
  max-width: 300px;
  min-height: 420px;
}

.card-inner {
  position: relative;
  width: 100%;
  height: 100%;
  transition: transform 0.6s;
  transform-style: preserve-3d;
}

.programa-card:hover .card-inner {
  transform: translateY(-12px);
}

.card-front {
  position: relative;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.98);
  backdrop-filter: blur(10px);
  border-radius: 24px;
  padding: 0;
  box-shadow: 
    0 20px 60px rgba(0, 0, 0, 0.15),
    0 0 1px rgba(0, 0, 0, 0.1);
  overflow: hidden;
  transition: all 0.4s ease;
  display: flex;
  flex-direction: column;
}

.programa-card:hover .card-front {
  box-shadow: 
    0 30px 80px rgba(0, 0, 0, 0.25),
    0 0 1px rgba(0, 0, 0, 0.1);
}

.programa-header {
  position: relative;
  height: 180px;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.programa-card[data-programa="finanzas"] .programa-header {
  background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);
}

.programa-card[data-programa="diseno"] .programa-header {
  background: linear-gradient(135deg, #fa709a 0%, #fee140 100%);
}

.programa-card[data-programa="mercadeo"] .programa-header {
  background: linear-gradient(135deg, #30cfd0 0%, #330867 100%);
}

.programa-card[data-programa="administracion"] .programa-header {
  background: linear-gradient(135deg, #a8edea 0%, #fed6e3 100%);
}

.programa-card[data-programa="multimedia"] .programa-header {
  background: linear-gradient(135deg, #ff9a56 0%, #ff6a88 100%);
}

.programa-icon-wrapper {
  position: relative;
  z-index: 2;
}

.icon-bg {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 120px;
  height: 120px;
  background: rgba(255, 255, 255, 0.2);
  border-radius: 50%;
  animation: pulse 3s ease-in-out infinite;
}

@keyframes pulse {
  0%, 100% {
    transform: translate(-50%, -50%) scale(1);
    opacity: 0.5;
  }
  50% {
    transform: translate(-50%, -50%) scale(1.2);
    opacity: 0.3;
  }
}

.programa-icon {
  width: 64px;
  height: 64px;
  stroke: #ffffff;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.2));
  position: relative;
  z-index: 2;
  transition: transform 0.4s ease;
}

.programa-card:hover .programa-icon {
  transform: scale(1.15) rotate(5deg);
}

.programa-particles {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.particle {
  position: absolute;
  width: 4px;
  height: 4px;
  background: rgba(255, 255, 255, 0.6);
  border-radius: 50%;
  animation: float 4s ease-in-out infinite;
}

.particle:nth-child(1) {
  top: 20%;
  left: 20%;
  animation-delay: 0s;
}

.particle:nth-child(2) {
  top: 60%;
  left: 80%;
  animation-delay: 1.5s;
}

.particle:nth-child(3) {
  top: 80%;
  left: 40%;
  animation-delay: 3s;
}

@keyframes float {
  0%, 100% {
    transform: translateY(0) translateX(0);
    opacity: 0.3;
  }
  50% {
    transform: translateY(-20px) translateX(10px);
    opacity: 0.8;
  }
}

.programa-content {
  padding: 20px;
  flex: 1;
  display: flex;
  flex-direction: column;
  text-align: center;
  align-items: center;
}

.programa-titulo {
  font-size: 20px;
  font-weight: 700;
  color: #1a202c;
  margin: 0 0 16px 0;
  line-height: 1.3;
  min-height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.programa-meta {
  margin-bottom: 16px;
  display: flex;
  justify-content: center;
}

.badge-presencial {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 16px;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
  border-radius: 20px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}

.badge-presencial svg {
  width: 14px;
  height: 14px;
  stroke-width: 2.5;
}

.programa-description {
  flex: 1;
  display: flex;
  align-items: center;
}

.programa-description p {
  font-size: 15px;
  line-height: 1.6;
  color: #4a5568;
  margin: 0;
  text-align: center;
}

/* ============================================
   SECCIÓN: BOTÓN CTA
   ============================================ */
.lumni-cta-container {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 40px 20px;
}

.lumni-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 30px 70px;
  background: linear-gradient(135deg, #0066cc 0%, #004c99 100%);
  color: #ffffff;
  font-size: 30px;
  font-weight: 700;
  text-decoration: none;
  border-radius: 50px;
  overflow: hidden;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 10px 30px rgba(0, 102, 204, 0.3), 0 0 0 0 rgba(0, 102, 204, 0.5);
  cursor: pointer;
  text-transform: none;
  letter-spacing: 0.3px;
  isolation: isolate;
  animation: pulse-ring 2.5s ease-in-out infinite;
}

.lumni-btn::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #0077ee 0%, #0055bb 100%);
  opacity: 0;
  transition: opacity 0.4s ease;
  z-index: -1;
}

.lumni-btn:hover {
  transform: translateY(-4px) scale(1.02);
  box-shadow: 0 20px 50px rgba(0, 102, 204, 0.4), 0 0 0 8px rgba(0, 102, 204, 0.1);
  animation: none;
}

.lumni-btn:hover::before {
  opacity: 1;
}

.lumni-btn:active {
  transform: translateY(-2px) scale(1);
}

.btn-content {
  position: relative;
  display: flex;
  align-items: center;
  gap: 12px;
  z-index: 2;
}

.btn-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  flex-shrink: 0;
}

.btn-icon svg {
  width: 24px;
  height: 24px;
  stroke-width: 2.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.lumni-btn:hover .btn-icon {
  transform: scale(1.2) rotate(5deg);
  animation: bounce 0.6s ease infinite;
}

@keyframes bounce {
  0%, 100% {
    transform: scale(1.2) rotate(5deg) translateY(0);
  }
  50% {
    transform: scale(1.2) rotate(5deg) translateY(-3px);
  }
}

.btn-text {
  position: relative;
  font-weight: 700;
}

.btn-shine {
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);
  transition: left 0.6s ease;
  z-index: 1;
}

.lumni-btn:hover .btn-shine {
  left: 100%;
}

@keyframes pulse-ring {
  0% {
    box-shadow: 0 10px 30px rgba(0, 102, 204, 0.3), 0 0 0 0 rgba(0, 102, 204, 0.5);
  }
  50% {
    box-shadow: 0 10px 30px rgba(0, 102, 204, 0.3), 0 0 0 12px rgba(0, 102, 204, 0);
  }
  100% {
    box-shadow: 0 10px 30px rgba(0, 102, 204, 0.3), 0 0 0 0 rgba(0, 102, 204, 0);
  }
}

/* ============================================
   SECCIÓN: REQUISITOS
   ============================================ */
.requisitos-section {
  position: relative;
  border-radius: 32px;
  padding: 48px 40px;
  overflow: hidden;
}

.requisitos-section::before {
  content: '';
  position: absolute;
  top: -50%;
  right: -20%;
  width: 500px;
  height: 500px;
  background: radial-gradient(circle, rgba(255,255,255,0.1) 0%, transparent 70%);
  border-radius: 50%;
  pointer-events: none;
}

.requisitos-header {
  text-align: center;
  margin-bottom: 40px;
}

.requisitos-title {
  display: inline-block;
  background: rgba(26, 32, 44, 0.95);
  color: #ffffff;
  padding: 16px 40px;
  border-radius: 50px;
  font-size: 26px;
  font-weight: 700;
  margin: 0;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
  position: relative;
  z-index: 2;
}

.requisitos-content {
  position: relative;
  z-index: 2;
  margin-bottom: 40px;
}

.requisito-item {
  display: flex;
  gap: 20px;
  align-items: flex-start;
  margin-bottom: 24px;
  background: rgba(255, 255, 255, 0.15);
  backdrop-filter: blur(10px);
  padding: 20px;
  border-radius: 16px;
  transition: all 0.3s ease;
  border: 1px solid rgba(255, 255, 255, 0.2);
}

.requisito-item:hover {
  background: rgba(255, 255, 255, 0.25);
  transform: translateX(8px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
}

.requisito-item:last-child {
  margin-bottom: 0;
}

.requisito-icon {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  background: rgba(255, 255, 255, 0.95);
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.requisito-icon svg {
  width: 24px;
  height: 24px;
  stroke: #667eea;
  stroke-width: 2.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.requisito-text {
  flex: 1;
}

.requisito-text p {
  margin: 0;
  color: #333333;
  font-size: 16px;
  line-height: 1.6;
  font-weight: 400;
}

.requisito-text strong {
  font-weight: 700;
  color: #333333;
}

.requisitos-image {
  position: relative;
  width: 100%;
  height: 280px;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.2);
  z-index: 2;
}

.requisitos-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* ============================================
   SECCIÓN: SISTEMA DE PAGO
   ============================================ */
.sistema-pago-section {
  position: relative;
  border-radius: 32px;
  padding: 48px 0 48px;
  overflow: hidden;
}

.sistema-pago-section::before {
  content: '';
  position: absolute;
  bottom: -30%;
  left: -10%;
  width: 400px;
  height: 400px;
  background: radial-gradient(circle, rgba(255,255,255,0.15) 0%, transparent 70%);
  border-radius: 50%;
  pointer-events: none;
}

.sistema-header {
  text-align: center;
  margin-bottom: 32px;
  position: relative;
  z-index: 2;
}

.sistema-title {
  display: inline-block;
  background: rgba(99, 102, 241, 0.95);
  color: #ffffff;
  padding: 16px 40px;
  border-radius: 50px;
  font-size: 26px;
  font-weight: 700;
  margin: 0;
  box-shadow: 0 8px 24px rgba(99, 102, 241, 0.4);
}

.sistema-content {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin-bottom: 32px;
}

.epoca-card {
  background: rgba(255, 255, 255, 0.98);
  border-radius: 20px;
  padding: 28px;
  display: flex;
  gap: 24px;
  align-items: flex-start;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
  border: 2px solid rgba(255, 255, 255, 0.8);
}

.epoca-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.15);
  border-color: rgba(99, 102, 241, 0.3);
}

.epoca-icon {
  flex-shrink: 0;
  width: 64px;
  height: 64px;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 16px rgba(102, 126, 234, 0.3);
}

.epoca-icon svg {
  width: 32px;
  height: 32px;
  stroke: #ffffff;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.epoca-text {
  flex: 1;
}

.epoca-label {
  font-size: 20px;
  font-weight: 700;
  color: #1a202c;
  margin: 0 0 8px 0;
}

.epoca-text p {
  margin: 0;
  color: #4a5568;
  font-size: 16px;
  line-height: 1.6;
}

.epoca-text strong {
  font-weight: 700;
  color: #1a202c;
}

.valor-agregado-section {
  position: relative;
  background: rgba(26, 32, 44, 0.95);
  border-radius: 24px;
  padding: 36px 32px;
  z-index: 2;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.2);
}

.valor-header {
  text-align: center;
  margin-bottom: 28px;
}

.valor-title {
  display: inline-block;
  background: rgba(255, 255, 255, 0.15);
  backdrop-filter: blur(10px);
  color: #ffffff;
  padding: 12px 32px;
  border-radius: 50px;
  font-size: 22px;
  font-weight: 700;
  margin: 0;
  border: 2px solid rgba(255, 255, 255, 0.2);
}

.valor-content {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.valor-item {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  padding: 16px;
  background: rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  transition: all 0.3s ease;
  border-left: 4px solid rgba(79, 172, 254, 0.5);
}

.valor-item:hover {
  background: rgba(255, 255, 255, 0.12);
  border-left-color: rgba(79, 172, 254, 1);
  transform: translateX(4px);
}

.valor-bullet {
  flex-shrink: 0;
  width: 12px;
  height: 12px;
  background: #4facfe;
  border-radius: 50%;
  margin-top: 6px;
  box-shadow: 0 0 12px rgba(79, 172, 254, 0.6);
}

.valor-item p {
  margin: 0;
  color: #ffffff;
  font-size: 15px;
  line-height: 1.6;
  flex: 1;
}

/* ============================================
   SECCIÓN: TARJETA DE PRESENTACIÓN
   ============================================ */
.tarjeta-presentacion-section {
  padding: 60px 20px;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  position: relative;
  overflow: hidden;
}

.tarjeta-presentacion-section::before {
  content: '';
  position: absolute;
  top: -50%;
  right: -20%;
  width: 600px;
  height: 600px;
  background: radial-gradient(circle, rgba(255,255,255,0.1) 0%, transparent 70%);
  border-radius: 50%;
  animation: float-bg 8s ease-in-out infinite;
}

@keyframes float-bg {
  0%, 100% { transform: translate(0, 0); }
  50% { transform: translate(-30px, -30px); }
}

.tarjeta-container {
  max-width: 480px;
  margin: 0 auto;
  position: relative;
  z-index: 2;
}

.tarjeta-card {
  background: #ffffff;
  border-radius: 32px;
  overflow: hidden;
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.25), 0 0 1px rgba(0, 0, 0, 0.1);
  position: relative;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.tarjeta-card:hover {
  transform: translateY(-12px);
  box-shadow: 0 40px 100px rgba(0, 0, 0, 0.3), 0 0 1px rgba(0, 0, 0, 0.1);
}

.tarjeta-header {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  padding: 24px 32px;
  position: relative;
  overflow: hidden;
  display: flex;
  justify-content: center;
}

.tarjeta-header::before {
  content: '';
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: radial-gradient(circle, rgba(255,255,255,0.2) 0%, transparent 60%);
  animation: rotate-bg 15s linear infinite;
}

@keyframes rotate-bg {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

.tarjeta-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(255, 255, 255, 0.25);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.3);
  padding: 8px 16px;
  border-radius: 20px;
  position: relative;
  z-index: 2;
}

.tarjeta-badge svg {
  width: 16px;
  height: 16px;
  stroke: #ffffff;
  stroke-width: 2.5;
}

.tarjeta-badge span {
  font-size: 13px;
  font-weight: 700;
  color: #ffffff;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.tarjeta-body {
  padding: 40px 32px 32px;
  text-align: center;
  position: relative;
}

.tarjeta-avatar {
  position: relative;
  display: inline-block;
  margin-bottom: 20px;
}

.avatar-circle {
  width: 120px;
  height: 120px;
  background: #ffffff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.15), 0 0 0 6px rgba(102, 126, 234, 0.1);
  border: 4px solid #ffffff;
  position: relative;
  padding: 20px;
}

.avatar-logo {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.avatar-status {
  position: absolute;
  bottom: 8px;
  right: 8px;
  width: 24px;
  height: 24px;
  background: #25d366;
  border-radius: 50%;
  border: 4px solid #ffffff;
  box-shadow: 0 2px 8px rgba(37, 211, 102, 0.4);
  animation: pulse-status 2s ease-in-out infinite;
}

@keyframes pulse-status {
  0%, 100% {
    box-shadow: 0 2px 8px rgba(37, 211, 102, 0.4);
  }
  50% {
    box-shadow: 0 2px 8px rgba(37, 211, 102, 0.4), 0 0 0 8px rgba(37, 211, 102, 0.2);
  }
}

.tarjeta-nombre {
  font-size: 26px;
  font-weight: 800;
  color: #1a202c;
  margin: 0 0 8px 0;
  line-height: 1.2;
}

.tarjeta-cargo {
  font-size: 16px;
  color: #718096;
  margin: 0;
  font-weight: 500;
}

.tarjeta-divider {
  height: 2px;
  background: linear-gradient(90deg, transparent, #e2e8f0, transparent);
  margin: 28px 0;
}

.tarjeta-contactos {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-bottom: 24px;
}

.contacto-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 16px 20px;
  border-radius: 16px;
  text-decoration: none;
  font-weight: 700;
  font-size: 15px;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  overflow: hidden;
  min-height: 56px;
}

.contacto-btn::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.3);
  transform: translate(-50%, -50%);
  transition: width 0.4s ease, height 0.4s ease;
}

.contacto-btn:hover::before {
  width: 300px;
  height: 300px;
}

.contacto-phone {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
  box-shadow: 0 8px 24px rgba(102, 126, 234, 0.3);
}

.contacto-phone:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 32px rgba(102, 126, 234, 0.4);
}

.contacto-whatsapp {
  background: linear-gradient(135deg, #25d366 0%, #128c7e 100%);
  color: #ffffff;
  box-shadow: 0 8px 24px rgba(37, 211, 102, 0.3);
}

.contacto-whatsapp:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 32px rgba(37, 211, 102, 0.4);
}

.btn-text {
  position: relative;
  z-index: 2;
  white-space: nowrap;
}

.tarjeta-footer {
  background: linear-gradient(135deg, #f7fafc 0%, #edf2f7 100%);
  padding: 16px;
  border-radius: 12px;
}

.footer-text {
  margin: 0;
  font-size: 14px;
  color: #4a5568;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.tarjeta-decoration {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 200px;
  height: 200px;
  background: linear-gradient(135deg, rgba(102, 126, 234, 0.05) 0%, rgba(118, 75, 162, 0.05) 100%);
  border-radius: 50%;
  transform: translate(50%, 50%);
  pointer-events: none;
}

/* ============================================
   RESPONSIVE
   ============================================ */

/* Programas */
@media (max-width: 1400px) {
  .programas-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

@media (max-width: 1100px) {
  .programas-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
  }
}

@media (max-width: 768px) {
  .programas-lumni-container {
    padding: 40px 0;
  }
  
  .programas-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }
  
  .programa-card {
    min-height: 380px;
  }
  
  .programa-header {
    height: 150px;
  }
  
  .programa-icon {
    width: 56px;
    height: 56px;
  }
  
  .programa-titulo {
    font-size: 18px;
    min-height: 48px;
  }
  
  .programa-content {
    padding: 24px 16px;
  }
  
  .programa-description p {
    font-size: 14px;
  }

  /* Botón CTA */
  .lumni-btn {
    padding: 16px 40px;
    font-size: 18px;
  }

  /* Requisitos y Sistema */
  .requisitos-section,
  .sistema-pago-section {
    padding: 32px 24px;
    border-radius: 24px;
  }

  .requisitos-title,
  .sistema-title {
    font-size: 22px;
    padding: 14px 32px;
  }

  .requisito-item {
    gap: 16px;
    padding: 16px;
    margin-bottom: 16px;
  }

  .requisito-icon {
    width: 36px;
    height: 36px;
  }

  .requisito-icon svg {
    width: 20px;
    height: 20px;
  }

  .requisito-text p {
    font-size: 15px;
  }

  .requisitos-image {
    height: 220px;
  }

  .epoca-card {
    flex-direction: column;
    gap: 16px;
    padding: 24px;
  }

  .epoca-icon {
    width: 56px;
    height: 56px;
  }

  .epoca-icon svg {
    width: 28px;
    height: 28px;
  }

  .epoca-label {
    font-size: 18px;
  }

  .epoca-text p {
    font-size: 15px;
  }

  .valor-agregado-section {
    padding: 28px 24px;
  }

  .valor-title {
    font-size: 20px;
    padding: 10px 24px;
  }

  .valor-item {
    padding: 14px;
  }

  .valor-item p {
    font-size: 14px;
  }

  /* Tarjeta */
  .tarjeta-presentacion-section {
    padding: 40px 20px;
  }

  .tarjeta-card {
    border-radius: 24px;
  }

  .tarjeta-header {
    padding: 20px 24px;
  }

  .tarjeta-body {
    padding: 32px 24px 24px;
  }

  .avatar-circle {
    width: 100px;
    height: 100px;
    padding: 16px;
  }

  .avatar-status {
    width: 20px;
    height: 20px;
    bottom: 6px;
    right: 6px;
  }

  .tarjeta-nombre {
    font-size: 22px;
  }

  .tarjeta-cargo {
    font-size: 15px;
  }

  .contacto-btn {
    padding: 14px 16px;
    font-size: 14px;
    gap: 8px;
  }

  .btn-icon {
    width: 20px;
    height: 20px;
  }

  .btn-icon svg {
    width: 20px;
    height: 20px;
  }
}

@media (max-width: 480px) {
  .programas-grid {
    grid-template-columns: 1fr;
  }
  
  .programa-card {
    max-width: 100%;
  }

  /* Botón CTA */
  .lumni-cta-container {
    padding: 30px 15px;
  }
  
  .lumni-btn {
    padding: 14px 32px;
    font-size: 16px;
    width: 100%;
    max-width: 320px;
  }
  
  .btn-content {
    gap: 10px;
  }

  /* Requisitos y Sistema */
  .requisitos-section,
  .sistema-pago-section {
    padding: 24px 16px;
  }

  .requisitos-title,
  .sistema-title {
    font-size: 20px;
    padding: 12px 24px;
  }

  .requisito-item {
    flex-direction: row;
    gap: 12px;
  }

  .requisito-text p {
    font-size: 14px;
  }

  .epoca-card {
    padding: 20px;
  }

  .valor-agregado-section {
    padding: 24px 16px;
  }

  .valor-title {
    font-size: 18px;
    padding: 10px 20px;
  }

  /* Tarjeta */
  .tarjeta-container {
    max-width: 100%;
  }

  .tarjeta-body {
    padding: 28px 20px 20px;
  }

  .avatar-circle {
    width: 90px;
    height: 90px;
    padding: 14px;
  }

  .tarjeta-nombre {
    font-size: 20px;
  }

  .tarjeta-contactos {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  
  .contacto-btn {
    padding: 16px 20px;
    font-size: 15px;
    gap: 12px;
  }
  
  .btn-icon {
    width: 24px;
    height: 24px;
  }
  
  .btn-icon svg {
    width: 24px;
    height: 24px;
  }

  .btn-text {
    white-space: normal;
  }
}

/* COLORES MEJORADOS PARA PROGRAMAS - Reemplazar en el CSS */

.programa-card[data-programa="finanzas"] .programa-header {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}

.programa-card[data-programa="diseno"] .programa-header {
  background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
}

.programa-card[data-programa="mercadeo"] .programa-header {
  background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);
}

.programa-card[data-programa="administracion"] .programa-header {
  background: linear-gradient(135deg, #43e97b 0%, #38f9d7 100%);
}

.programa-card[data-programa="multimedia"] .programa-header {
  background: linear-gradient(135deg, #fa709a 0%, #fee140 100%);
}/* End custom CSS */