@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&display=swap');

:root { --brand-green: #0BBA6F; --brand-gold: #D0A344; --brand-blue: #09013A; --font-family: 'DM Sans', sans-serif; }
* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: var(--font-family); background-color: var(--brand-blue); color: #ffffff; overflow-x: hidden;font-family: 'DM Sans', sans-serif; }

.os-animation{opacity: 0; }  
.os-animation.animated{opacity: 1; }  
 *:focus {outline: none; } 


.floating-contact{position:fixed;right:20px;bottom:20px;width:290px;background:#00bf6f;border-radius:18px;padding:22px 18px 18px 22px;color:#ffffff;box-shadow:0 10px 30px rgba(0,0,0,.25);z-index:999;box-sizing:border-box;transition:.4s cubic-bezier(.4,0,.2,1);text-decoration:none;display:block}
.floating-contact.closed{transform:translateY(30px) scale(0.9);opacity:0;visibility:hidden;pointer-events:none}
.floating-close{position:absolute;top:4px;right:10px;font-size:14px;cursor:pointer;opacity:.8;color:#ffffff;font-family:sans-serif;font-weight:700;padding:6px;z-index:1000}
.floating-close:hover{opacity:1;transform:scale(1.1)}
.whatsapp-content{display:flex;align-items:center;justify-content:space-between;gap:12px}
.whatsapp-content .text-main{text-align:left;font-size:15px;line-height:1.25;margin-bottom:0;color:#ffffff;font-weight:500}
.btn-wa-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;text-decoration:none;transition:transform .3s ease}
.btn-wa-icon:hover{transform:scale(1.08)}
.btn-wa-icon img{width:48px;height:48px;object-fit:contain;display:block}
.floating-handle{position:fixed;right:20px;bottom:20px;width:48px;height:48px;background:#00bf6f;color:#ffffff;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 8px 25px rgba(0,0,0,.25);z-index:998;opacity:0;visibility:hidden;pointer-events:none;transition:.3s;font-size:22px;font-weight:700;font-family:sans-serif;text-decoration:none;outline:none;border:none}
.floating-handle, .floating-handle:hover, .floating-handle:focus, .floating-handle:active, .floating-handle-arrow{text-decoration:none !important;outline:none !important;border:none !important}
.floating-handle-arrow{display:inline-block;line-height:1}
.floating-handle.active{opacity:1;visibility:visible;pointer-events:auto}

@media (max-width: 760px) {
    .floating-contact { display: none !important; }
    .floating-handle { opacity: 1 !important; visibility: visible !important; pointer-events: auto !important; width: 60px; height: 60px; right: 20px; bottom: 20px; box-shadow: 0 8px 25px rgba(0,0,0,.3); transition: transform 0.3s ease, box-shadow 0.3s ease; }
    .floating-handle::before { content: ''; display: block; width: 44px; height: 44px; background: url('../imagenes/whats.png') no-repeat center center / contain; }
    .floating-handle-arrow { display: none; }
    .floating-handle:hover, .floating-handle:active { animation: pulseBreathe 1.5s ease-in-out infinite; }
}

@keyframes pulseBreathe {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.1); }
}

.site-header { position: absolute; top: 0; left: 0; width: 100%; z-index: 100; display: flex; align-items: center; justify-content: space-between; padding: 25px 35px; }
.logo-container img { height: 60px; width: auto; display: block; }
.main-nav { position: relative; }

.nav-list { list-style: none; display: flex; align-items: center; position: relative; padding-bottom: 0; }
.nav-list::after { content: ''; position: absolute; bottom: 0; left: 0; width: 100%; height: 3px; background-color: #ffffff; z-index: 1; transform-origin: left center; animation: growLineLeftToRight 1.5s cubic-bezier(0.25, 1, 0.5, 1) forwards; }
@keyframes growLineLeftToRight { 0% { transform: scaleX(0); } 100% { transform: scaleX(1); } }
.nav-item { position: relative; }
.nav-link { text-decoration: none; color: #ffffff; font-size: 16px; font-weight: 500; padding: 10px 14px 14px 14px; display: block; white-space: nowrap; transition: color 0.3s ease; }
.nav-item::after { content: ''; position: absolute; bottom: 0; left: 0; width: 100%; height: 3px; background-color: var(--brand-green); z-index: 2; opacity: 0; transform: scaleX(0); transition: transform 0.25s ease, opacity 0.25s ease; transform-origin: center; }
.nav-item:hover::after { opacity: 1; transform: scaleX(1); }
.nav-item:hover .nav-link { color: #ffffff; }


.dropdown-menu { position: absolute; top: 100%; left: 50%; background-color: #00BF6F; border-radius: 0 0 16px 16px; padding: 6px 8px 8px 8px; min-width: 175px; list-style: none; display: flex; flex-direction: column; gap: 4px; opacity: 0; visibility: hidden; transform: translateX(-50%) translateY(8px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s ease; z-index: 100; box-shadow: 0 10px 25px rgba(0, 0, 0, 0.25); }
.dropdown-menu::before { content: ''; position: absolute; top: -10px; left: 0; width: 100%; height: 10px; }
.nav-item.dropdown:hover .dropdown-menu, .nav-item.dropdown:focus-within .dropdown-menu { opacity: 1; visibility: visible; transform: translateX(-50%) translateY(0); }
.dropdown-item { display: flex; align-items: center; gap: 6px; padding: 6px 12px; color: #ffffff; text-decoration: none; font-size: 14px; font-weight: 500; border-radius: 18px; white-space: nowrap; transition: background-color 0.25s ease, transform 0.2s ease; }
.dropdown-item span { font-size: 15px; font-weight: 700; line-height: 1; }
.dropdown-item:hover { background-color: rgba(0, 0, 0, 0.15); color: #ffffff; }


.nav-item.dropdown-mega { position: relative; }
.mega-menu { position: absolute; top: 100%; left: 50%; transform: translateX(-50%) translateY(8px); opacity: 0; visibility: hidden; transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s ease; z-index: 100; }
.mega-menu::before { content: ''; position: absolute; top: -10px; left: 0; width: 100%; height: 10px; }
.nav-item.dropdown-mega:hover .mega-menu, .nav-item.dropdown-mega:focus-within .mega-menu { opacity: 1; visibility: visible; transform: translateX(-50%) translateY(0); }
.mega-categories { position: relative; background-color: #00BF6F; border-radius: 20px; padding: 8px; min-width: 175px; display: flex; flex-direction: column; gap: 4px; box-shadow: 0 10px 25px rgba(0, 0, 0, 0.25); }
.mega-cat-item { position: relative; }
.mega-cat-item .dropdown-item { cursor: pointer; display: flex; align-items: center; gap: 6px; padding: 8px 14px; color: #ffffff; text-decoration: none; font-size: 14px; font-weight: 500; border-radius: 16px; white-space: nowrap; transition: background-color 0.25s ease; }
.mega-cat-item:hover .dropdown-item { background-color: rgba(0, 0, 0, 0.15); }
.mega-sub-panel { position: absolute; top: -2px; left: calc(100% + 8px); height: auto; background-color: #ffffff; border-radius: 16px; padding: 12px 16px; width: 195px; box-shadow: 0 10px 28px rgba(0, 0, 0, 0.2); display: flex; flex-direction: column; gap: 8px; opacity: 0; visibility: hidden; pointer-events: none; transition: opacity 0.2s ease, visibility 0.2s ease; z-index: 101; }
.mega-sub-panel::before { content: ''; position: absolute; top: -10px; bottom: -10px; left: -20px; width: 25px; background: transparent; }
.mega-cat-item:hover .mega-sub-panel { opacity: 1; visibility: visible; pointer-events: auto; }
.mega-sub-item { display: flex; align-items: flex-start; gap: 5px; color: #555555; text-decoration: none; font-size: 13.5px; font-weight: 500; line-height: 1.3; transition: color 0.2s ease, transform 0.2s ease; }
.mega-sub-item span { color: #00BF6F; font-size: 14px; font-weight: 700; line-height: 1.2; flex-shrink: 0; }
.mega-sub-item:hover { color: #00BF6F; transform: translateX(2px); }



.mobile-menu-btn { display: none; background: none; border: none; cursor: pointer; padding: 10px; z-index: 101; }
.mobile-menu-btn span { display: block; width: 28px; height: 3px; margin: 5px 0; background-color: #ffffff; transition: all 0.3s ease; border-radius: 2px; }
.mobile-menu-btn.active span:nth-child(1) { transform: rotate(45deg) translate(6px, 6px); }
.mobile-menu-btn.active span:nth-child(2) { opacity: 0; }
.mobile-menu-btn.active span:nth-child(3) { transform: rotate(-45deg) translate(5px, -5px); }


.hero-banner { position: relative; width: 100%; aspect-ratio: 16 / 9;  overflow: hidden; display: flex; align-items: center; background-color: var(--brand-blue); }
.bg-video { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; z-index: 1; }
.hero-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(to right, rgba(0, 0, 0, 0.75) 0%, rgba(0, 0, 0, 0.35) 60%, rgba(0, 0, 0, 0.1) 100%); z-index: 2; }
.hero-content { position: relative; z-index: 3; max-width: 1200px; width: 96%; margin: 0 auto; padding: 0 0px; margin-top: 40px; }
.hero-title { font-size: 42px; font-weight: 400; line-height: 1.25; color: #ffffff; max-width: 650px; margin-bottom: 24px; letter-spacing: -0.5px; display: block; }
.hero-title h1 { display: inline; font-size: inherit; font-weight: 500; color: var(--brand-gold); }
.hero-title span { color: var(--brand-gold); font-weight: 500; }
.hero-subtitle { font-size: 16px; line-height: 1.6; color: #e0e0e0; margin-bottom: 32px; }
.hero-subtitle strong { display: block; color: #ffffff; font-weight: 700; font-size: 17px; margin-top: 4px; }

.btn-oferta { display: inline-flex; align-items: center; gap: 14px; padding: 12px 30px; border: 1.5px solid var(--brand-gold); border-radius: 50px; color: #ffffff; text-decoration: none; font-size: 15px; font-weight: 500; transition: all .6s ease; background-color: transparent; backdrop-filter: blur(5px); }
.btn-oferta h1 { font-size: inherit !important; font-weight: inherit !important; color: inherit !important; font-family: inherit !important; display: inline-block !important; margin: 0 !important; padding: 0 !important; line-height: inherit !important; }
.btn-oferta:hover { background-color: var(--brand-gold); color: var(--brand-blue);   }
.btn-oferta svg { width: 22px; height: 22px; stroke: var(--brand-gold); transition: all .6s ease; }
.btn-oferta:hover svg { stroke: var(--brand-blue); transform: translateX(5px); }
.btn-galeria-down:hover svg { transform: translateY(5px) !important; }

.ticker-bar { position: absolute; bottom: 0; left: 0; width: 100%; height: 60px; background-color: var(--brand-green); z-index: 10; display: flex; align-items: center; overflow: hidden; white-space: nowrap; }
.ticker-track { display: flex; align-items: center; width: max-content; animation: scrollTicker 40s linear infinite; }
.ticker-item { display: flex; align-items: center; padding: 0 40px; font-size: 20px; font-weight: 500; color: #ffffff; letter-spacing: 0.2px; }
.ticker-symbol { margin-left: 80px; font-size: 20px; font-weight: 900; color: #09013A; }

@keyframes scrollTicker { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }
.mobile-nav-header, .mobile-nav-footer { display: none; }


#somos{ width: 100%; text-align: center; background-color: #fffbf0;}

#misionvision{ width: 100%; text-align: center; background-color: #faf4e4;}

.valores{width:96%;max-width:1200px;margin:auto;color:#09013A;}
.valores-superior{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start;margin-bottom:55px;}
.valores-bloque{}
.valores-titulo{font-size:22px;font-weight:700;color:#09013A;margin-bottom:18px;text-align:left;}
.valores-bloque p{margin:0;font-size:18px;line-height:1.3;text-align:justify;color:#09013A;}
.valores-grid{display:grid;grid-template-columns:repeat(5,232px);justify-content:space-between;gap:18px 0;}
.valor-card{width:232px;height:205px;display:flex;justify-content:center;align-items:center;overflow:hidden;}
.valor-card img{width:232px;height:205px;display:block;transform:translateY(0) scale(1);filter:drop-shadow(0 2px 4px rgba(0,0,0,.08));transition:transform .8s cubic-bezier(.25,.46,.45,.94),filter .8s cubic-bezier(.25,.46,.45,.94);will-change:transform;}
.valor-card:hover img{transform:translateY(-6px) scale(1.04);filter:drop-shadow(0 12px 22px rgba(0,0,0,.18));}


#separador{ width:100%; height: 700px; position:relative; display:flex; align-items:center; background:url("../imagenes/banner1.jpg") no-repeat center center fixed; background-size:cover; overflow:hidden; }

#separador2{ width:100%; height: 700px; position:relative; display:flex; align-items:center; background:url("../imagenes/banner2.jpg") no-repeat center center fixed; background-size:cover; overflow:hidden; }

.separador-overlay{ position:absolute; top:0; left:0; width:100%; height:100%; background:linear-gradient(to right, rgba(0,0,0,0.30) 0%, rgba(0,0,0,0.15) 60%, rgba(0,0,0,0.1) 100%); z-index:1; }
.separador-content{ position:relative; z-index:2; max-width:1200px; width:96%; margin:0 auto; padding:0 0px; text-align:left; }


#eldecalogo{ width: 100%; text-align: center; background-color: #faf4e4;}

.decalogo{width:96%;max-width:1200px;margin:auto;color:#09013A; text-align: left}

.decalogo-titulo{font-size:42px;font-weight:400;color:#09013A;margin-bottom:45px;line-height:1.1;text-align:left;}
.decalogo-grid{display:grid;grid-template-columns:repeat(4,1fr);column-gap:40px;row-gap:55px;}
.decalogo-card p{margin:0;font-size:17px;line-height:1.4;text-align:left;color:#09013A;}
.decalogo-card{display:flex;flex-direction:column;align-items:flex-start;}
.decalogo-icono{height:120px;display:flex;align-items:center;justify-content:flex-start;margin-bottom:18px;}
.decalogo-icono img{max-width:110px;max-height:110px;width:auto;height:auto;display:block;}
.decalogo-subtitulo{font-size:22px;font-weight:700;color:#09013A;margin-bottom:5px;line-height:1.2;min-height:52px;display:flex;align-items:flex-start;}

.decas{animation: bop 3s infinite linear;}

 @keyframes bop {
            0% { 
                transform:  scale(1) rotate(0deg); 
            }
             50% { 
                transform:  scale(.9) rotate(0deg) ; 
            }
            100% { 
                transform:  scale(1) rotate(0deg); 
            }
        }

.decasdos{animation: bopdos 2.5s infinite linear;}

 @keyframes bopdos {
            0% { 
                transform:  scale(1) rotate(0deg); 
            }
             50% { 
                transform:  scale(.97) rotate(0deg) ; 
            }
            100% { 
                transform:  scale(1) rotate(0deg); 
            }
        }

.infotexti{ display: inline-block; text-align: left; width: 96%; max-width: 1260px;}
.infotext{ display: inline-block; text-align: left; width: 96%; max-width: 1200px;}
.infotext2{ display: inline-block; text-align: left; width: 96%; margin-left: 2%; max-width: 615px;}
.infotext3{ display: inline-block; text-align: left; width: 96%; margin-left: 2%;  max-width: 1045px;}

.texto1{ font-size: 21px; font-weight: 400; color: #09013A; line-height: 1.3;}
.texto2{ font-size: 45px; font-weight: 400; color: #09013A; line-height: 1.1;}
.texto3{ font-size: 21px; font-weight: 400; color: #0BBA6F; line-height: 1.3;}
.texto4{ font-size: 21px; font-weight: 400; color: #D0A344; line-height: 1.3;}
.texto5{font-size:22px;font-weight:700;color:#09013A;}

h1,h2,h3,h4,h5,h6{ display:inline !important;}


#oferta { width: 100%; background-color: #E2B35B; padding-top: 60px; text-align: left; }
.oferta-container { width: 96%; max-width: 1200px; margin: 0 auto; padding-bottom: 20px; }
.oferta-header { max-width: 720px; }
.oferta-titulo { font-size: 45px; font-weight: 400; color: #ffffff; margin-bottom: 24px; display: block !important; }
.oferta-descripcion { font-size: 19px; line-height: 1.6; color: #09013A; margin-bottom: 35px; font-weight: 400; }
.btn-oferta-banner { display: inline-flex; align-items: center; gap: 14px; padding: 12px 30px; border: 1.5px solid #ffffff; border-radius: 0 50px 50px 0; color: #ffffff; text-decoration: none; font-size: 15px; font-weight: 500; transition: all 0.3s ease; background-color: transparent; backdrop-filter: blur(5px); }
.btn-oferta-banner:hover { background-color: #ffffff; color: #09013A; }
.btn-oferta-banner svg { width: 22px; height: 22px; stroke: #ffffff; transition: all 0.3s ease; }
.btn-oferta-banner:hover svg { stroke: #09013A; transform: translateX(5px); }

.oferta-grid { display: grid; grid-template-columns: repeat(3, 1fr); width: 100%; }
.oferta-card { position: relative; display: block; text-decoration: none; width: 100%; height: 480px; overflow: hidden; border-right: 2px solid #E2B35B; }
.oferta-card:last-child { border-right: none; }
.oferta-card img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 1s ease; }
.oferta-card:hover img { transform: scale(1.05); }

.oferta-card-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 25px 20px; background-color: rgba(9, 1, 58, 0.45); transition: background-color 0.5s ease; }
.oferta-card:hover .oferta-card-overlay { background-color: rgba(9, 1, 58, 0.88); }

.oferta-card-title { font-size: 34px; font-weight: 700; color: #ffffff; line-height: 1.2; margin-bottom: 0; transition: color 0.5s ease, transform 0.5s ease; display: block !important; }
.oferta-card:hover .oferta-card-title { color: #D0A344; transform: translateY(-4px); }

.oferta-card-sub { font-size: 24px; color: #FFFFFF; margin-top: 10px; margin-bottom: 6px; font-weight: 600; opacity: 0; transform: translateY(10px); transition: opacity 0.4s ease, transform 0.4s ease; text-shadow: 0 1px 3px rgba(0,0,0,0.5); }
.oferta-card:hover .oferta-card-sub,
.oferta-card:focus-within .oferta-card-sub { opacity: 1; transform: translateY(0); }

.oferta-links-container { margin-top: 8px; opacity: 0; visibility: hidden; max-height: 0; overflow: hidden; transform: translateY(15px); transition: opacity 0.4s ease, transform 0.4s ease, max-height 0.4s ease, visibility 0.4s ease; display: flex; flex-direction: column; align-items: center; gap: 5px; width: 100%; }
.oferta-card:hover .oferta-links-container,
.oferta-card:focus-within .oferta-links-container { opacity: 1; visibility: visible; max-height: 350px; transform: translateY(0); }

.oferta-group-title { font-size: 17px; font-weight: 700; text-transform: uppercase; color: #00BF6F; margin-top: 4px; letter-spacing: 0.5px; }
.oferta-link { color: #ffffff; text-decoration: none; font-size: 16px; font-weight: 500; transition: color 0.25s ease; display: inline-flex; align-items: center; gap: 6px; text-align: center; line-height: 1.2; transform: none !important; }
.oferta-link span { color: #00BF6F; font-weight: 700; font-size: 16px; transition: color 0.25s ease; }
.oferta-link:hover { color: #00BF6F !important; transform: none !important; }
.oferta-link:hover span { color: #ffffff !important; }



#fundamento { width: 100%; background-color: #1F1B4E;  text-align: center; }
.fundamento-container { width: 96%; max-width: 1200px; display: inline-block; text-align: left;  }
.fundamento-titulo { font-size: 42px; font-weight: 400; color: #ffffff; margin-bottom: 24px; display: block !important; }
.fundamento-descripcion { font-size: 19px; line-height: 1.6; color: rgba(255, 255, 255, 0.8); font-weight: 300; }
.fundamento-descripcion strong { color: #D0A344; font-weight: 700; }



#reglamento { width: 100%; background-color: #00BF6F; display: flex; align-items: center; }
.reglamento-left { width: 200px; min-width: 200px; background-color: #ffffff; height: 140px; display: flex; align-items: center; justify-content: center; }
.reglamento-descargar-btn { display: flex; flex-direction: column; align-items: center; gap: 8px; text-decoration: none; color: #09013A; font-weight: 700; font-size: 13px; transition: transform 0.3s ease; }
.reglamento-descargar-btn:hover { transform: translateY(-3px); }
.reglamento-descargar-btn img { width: 45px; height: 45px; object-fit: contain; animation: bounceDown 1.6s ease-in-out infinite; }
@keyframes bounceDown { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(8px); } }
.reglamento-right { padding: 30px 50px; color: #ffffff; }
.reglamento-right h5 { font-size: 26px; font-weight: 400; color: #ffffff; display: block !important; margin-bottom: 6px; }
.reglamento-right h5 strong { font-weight: 700; }
.reglamento-right p { font-size: 19px; color: #09013A; margin: 0; }
.reglamento-right p strong { font-weight: 700; }


.mobile-nav-header, .mobile-nav-footer { display: none; }

@media(max-width:1420px){
#separador,#separador2{height: 650px;} 
}


@media(max-width:1280px){
#separador,#separador2{height: 600px;}  
    
.valores-grid{grid-template-columns:repeat(4,232px);justify-content:center;gap:20px;}
}


@media(max-width:1110px){
.decalogo-grid{grid-template-columns:repeat(3,1fr);column-gap:30px;row-gap:45px;}
.decalogo-subtitulo{font-size:21px;min-height:48px;}
.decalogo-card p{font-size:16px;}    
    
    
#separador,#separador2{height: 550px;}    
    
.valores-superior{grid-template-columns:1fr;gap:45px;}
.valores-grid{grid-template-columns:repeat(3,232px);justify-content:center;gap:20px;}
.valores-titulo{text-align:center;}
.valores-bloque p{text-align:center;}

    .texto2{ font-size: 40px;}
    
    .site-header { padding: 25px; }
    .logo-container img { height: 60px; width: auto; }
    .mobile-menu-btn { display: block; }
    .main-nav { position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; background: rgba(9, 1, 58, 0.94); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); display: none; flex-direction: column; justify-content: space-between; padding: 25px 25px 40px 25px; opacity: 0; visibility: hidden; transition: opacity 0.3s ease, visibility 0.3s ease; z-index: 99; overflow-y: auto; }
    .main-nav.open { display: flex; opacity: 1; visibility: visible; }
    .mobile-nav-header { display: flex; align-items: center; justify-content: space-between; width: 100%; height: 60px; margin-bottom: 20px; }
    .mobile-logo { height: 60px; width: auto; display: block; }
    .nav-list { flex-direction: column; align-items: center; justify-content: center; width: 100%; padding-bottom: 0; margin: auto 0; }
    .nav-list::after { display: none; }
    .nav-item { width: 100%; text-align: center; border-bottom: 1px solid rgba(255, 255, 255, 0.15); }
    .nav-item:first-child { border-top: 1px solid rgba(255, 255, 255, 0.15); }
    .nav-link { font-size: 24px; font-weight: 400; padding: 18px 0; color: #ffffff; transition: color 0.3s ease; }
    .nav-item::after { display: none; }
    .nav-item:hover .nav-link { color: var(--brand-green); }
    .dropdown-menu { display: flex; flex-direction: column; align-items: center; position: static; opacity: 0; visibility: hidden; max-height: 0; overflow: hidden; transform: none !important; left: auto; top: auto; right: auto; box-shadow: none; background-color: transparent; padding: 0; min-width: auto; width: 100%; gap: 4px; margin: 0 auto; transition: max-height 0.35s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s ease, visibility 0.3s ease, padding 0.35s ease; }
    .dropdown-menu::before { display: none; }
    .nav-item.dropdown:hover .dropdown-menu,
    .nav-item.dropdown:focus-within .dropdown-menu,
    .nav-item.dropdown.open .dropdown-menu { opacity: 1; visibility: visible; max-height: 140px; padding: 4px 0 12px 0; transform: none !important; }
    .dropdown-item { background: transparent; padding: 10px 0; font-size: 22px; border-radius: 0; color: #ffffff; border: none; font-weight: 400; transition: color 0.3s ease; display: inline-flex; align-items: center; justify-content: center; gap: 8px; }
    .dropdown-item span { color: var(--brand-green); font-size: 22px; font-weight: 700; }
    .dropdown-item:hover { background: transparent; color: var(--brand-green); transform: none; }

    /* Mobile Mega-Menu */
    .mega-menu { display: flex; flex-direction: column; align-items: center; position: static; opacity: 0; visibility: hidden; max-height: 0; overflow: hidden; transform: none !important; left: auto; top: auto; right: auto; box-shadow: none; background-color: transparent; padding: 0; min-width: auto; width: 100%; gap: 4px; margin: 0 auto; transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s ease, visibility 0.3s ease, padding 0.35s ease; }
    .mega-menu::before { display: none; }
    .nav-item.dropdown-mega:hover .mega-menu,
    .nav-item.dropdown-mega:focus-within .mega-menu,
    .nav-item.dropdown-mega.open .mega-menu { opacity: 1; visibility: visible; max-height: 1000px; padding: 4px 0 16px 0; transform: none !important; }
    .mega-categories { background: transparent; border-radius: 0; padding: 0; min-width: auto; box-shadow: none; display: flex; flex-direction: column; gap: 8px; width: 100%; align-items: center; }
    .mega-cat-item { width: 100%; display: flex; flex-direction: column; align-items: center; position: relative; }
    .mega-cat-item .dropdown-item { background: transparent !important; padding: 6px 0; font-size: 20px; border-radius: 0; color: #ffffff; border: none; font-weight: 700; transition: color 0.3s ease; display: inline-flex; align-items: center; justify-content: center; gap: 8px; cursor: pointer; }
    .mega-cat-item .dropdown-item span { color: var(--brand-green); font-size: 20px; font-weight: 700; }
    .mega-cat-item.active .dropdown-item { color: var(--brand-green) !important; }

    .mega-sub-panel { position: static; opacity: 0; visibility: hidden; max-height: 0; overflow: hidden; pointer-events: none; background: transparent; border-radius: 0; padding: 0; width: 100%; box-shadow: none; display: flex; flex-direction: column; align-items: center; gap: 4px; transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s ease, visibility 0.3s ease, padding 0.3s ease; }
    .mega-sub-panel::before { display: none; }
    .mega-cat-item.active .mega-sub-panel { opacity: 1 !important; visibility: visible !important; pointer-events: auto !important; max-height: 300px; padding: 4px 0 8px 0; }
    .mega-sub-panel .mega-sub-item:first-child:not(:hover) { color: rgba(255, 255, 255, 0.85); }
    .mega-sub-item { color: rgba(255, 255, 255, 0.85); font-size: 15px; font-weight: 400; text-decoration: none; padding: 3px 0; display: inline-flex; align-items: center; justify-content: center; gap: 6px; text-align: center; }
    .mega-sub-item span { color: var(--brand-green); font-size: 15px; font-weight: 700; }
    .mega-sub-item:hover { color: var(--brand-green) !important; transform: none; }
    .mobile-nav-footer { display: block; text-align: center; margin-top: 20px; width: 100%; }
    .mobile-copy { font-size: 12px; color: rgba(255, 255, 255, 0.7); margin-bottom: 8px; font-weight: 400; }
    .mobile-subtext { font-size: 12px; color: rgba(255, 255, 255, 0.85); margin-bottom: 16px; }
    .mobile-socials { display: flex; align-items: center; justify-content: center; gap: 20px; margin-bottom: 16px; }
    .mobile-socials a { color: #ffffff; text-decoration: none; transition: color 0.3s ease; }
    .mobile-socials a:hover { color: var(--brand-green); }
    .mobile-socials svg { width: 22px; height: 22px; fill: currentColor; }
    .mobile-legal { font-size: 11px; color: rgba(255, 255, 255, 0.6); text-decoration: underline; }
    .hero-banner { aspect-ratio: auto; height: 100vh; min-height: 560px; }
    .hero-content { padding: 0 25px; }
    .hero-title { font-size: 33px; }
    .hero-subtitle { font-size: 14px; }
    .ticker-item { font-size: 17px; padding: 0 25px; }
    .ticker-symbol { margin-left: 50px; }
}



@media (max-width: 992px) {
    .oferta-container { width: 90%; text-align: center;}
    .oferta-grid { grid-template-columns: 1fr; }
    .oferta-card { position: relative; height: 380px; width: 100%; border-right: none; border-bottom: 2px solid #E2B35B; overflow: hidden; cursor: pointer; }
    .oferta-card img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.8s ease; }
    .oferta-card:hover img,
    .oferta-card.active img { transform: scale(1.05); }

    .oferta-card-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 25px 20px; background-color: rgba(9, 1, 58, 0.45); transition: background-color 0.5s ease; z-index: 2; }
    .oferta-card:hover .oferta-card-overlay,
    .oferta-card.active .oferta-card-overlay { background-color: rgba(9, 1, 58, 0.9); }

    .oferta-card-title { font-size: 32px; font-weight: 700; color: #ffffff; transition: color 0.5s ease, transform 0.5s ease; }
    .oferta-card:hover .oferta-card-title,
    .oferta-card.active .oferta-card-title { color: #D0A344 !important; transform: translateY(-4px) !important; }

    .oferta-card-sub { opacity: 0; visibility: hidden; transform: translateY(10px); transition: opacity 0.4s ease, transform 0.4s ease, visibility 0.4s ease; font-size: 22px !important; color: #E2B35B !important; font-weight: 600 !important; margin-top: 8px; margin-bottom: 6px; }
    .oferta-card:hover .oferta-card-sub,
    .oferta-card:focus-within .oferta-card-sub,
    .oferta-card.active .oferta-card-sub { opacity: 1 !important; visibility: visible !important; transform: translateY(0) !important; }

    .oferta-links-container { opacity: 0; visibility: hidden; max-height: 0; overflow: hidden; transform: translateY(15px); transition: opacity 0.4s ease, transform 0.4s ease, max-height 0.4s ease, visibility 0.4s ease; margin-top: 6px; width: 100%; display: flex; flex-direction: column; align-items: center; gap: 4px; }
    .oferta-card:hover .oferta-links-container,
    .oferta-card:focus-within .oferta-links-container,
    .oferta-card.active .oferta-links-container { opacity: 1 !important; visibility: visible !important; max-height: 500px !important; transform: translateY(0) !important; }

    .oferta-link { font-size: 15px; padding: 3px 0; }
    
    .fundamento-container { margin: 0 auto; padding: 0 0px; text-align: center; width: 90%; }
    
    #reglamento { flex-direction: column; }
    .reglamento-left { width: 100%; height: 100px; }
    .reglamento-right { text-align: center; padding: 30px 20px; }
}

@media (max-width: 920px) {
.decalogo{width:94%; text-align: center}
.decalogo-titulo{font-size:40px;text-align:center;}
.decalogo-grid{grid-template-columns:repeat(2,1fr);gap:35px 25px;}
.decalogo-card{align-items:center;}
.decalogo-icono{height:110px;justify-content:center;}
.decalogo-icono img{max-width:100px;max-height:100px;}
.decalogo-subtitulo{text-align:center;font-size:20px;min-height:auto;justify-content:center;}
.decalogo-card p{text-align:center;font-size:17px;}    
    
    
.infotext{ display: inline-block; text-align: center; width: 96%; max-width: 1200px;}
.infotext2,.infotext3{text-align: center; width: 100%; margin-left: 0%; max-width:100%;}

.texto1{ font-size: 19px;}
.texto2{ font-size: 33px;}    

.btn-oferta { padding: 10px 22px; font-size: 14px; }
.ticker-bar { height: 50px; }
.ticker-item { font-size: 15px; }
.nav-link { font-size: 20px; padding: 14px 0; }
.dropdown-item { font-size: 19px; padding: 8px 0; }
.dropdown-item span { font-size: 19px; }
}

@media(max-width:760px){
.oferta-card-title { font-size: 30px;}    
    
#separador{height: 500px;background:url("../imagenes/banner1.jpg") no-repeat center center; }    
#separador2{height: 600px;background:url("../imagenes/banner2.jpg") no-repeat center center; }    

.hero-content { text-align: center; }
.separador-content{ margin:0 auto; padding:0 0px; text-align:center; width: 96%; }    
    
.valores{width:94%;}
.valores-grid{grid-template-columns:repeat(2,232px);justify-content:center;}
}

@media(max-width:600px){
.decalogo-grid{grid-template-columns:1fr;gap:35px;}
.decalogo-titulo{font-size:32px;}
.decalogo-icono{height:100px;}
.decalogo-icono img{max-width:90px;max-height:90px;}
.decalogo-subtitulo{font-size:19px;}
    
.valores-grid{grid-template-columns:repeat(2,180px);justify-content:center;gap:10px;}
.valor-card{width:180px;height:auto;}
.valor-card img{width:180px;height:auto;transition:transform .8s cubic-bezier(.25,.46,.45,.94),filter .8s cubic-bezier(.25,.46,.45,.94);}
.valor-card:hover img{transform:translateY(-4px);filter:drop-shadow(0 8px 14px rgba(0,0,0,.15));}
}


.site-footer { background-color: #ffffff; color: #09013A; padding: 70px 0 30px 0; font-family: var(--font-family); }
.footer-container { max-width: 1200px; width: 96%; margin: 0 auto; padding: 0 0px; display: grid; grid-template-columns: 440px 1fr; gap: 60px; align-items: start; }


.footer-title { font-size: 32px; font-weight: 400; color: #09013A; line-height: 1.2; margin-bottom: 16px; display: block !important; letter-spacing: -0.5px; }
.footer-title h6 { font-size: 32px !important; font-weight: 700 !important; color: #09013A !important; line-height: 1.2 !important; display: inline !important; letter-spacing: -0.5px !important; margin: 0 !important; padding: 0 !important; font-family: inherit !important; }
.footer-title strong { font-weight: 700; color: #09013A; }
.footer-subtitle { font-size: 15px; color: #09013A; line-height: 1.5; margin-bottom: 25px; }

.btn-incribete { display: inline-flex; align-items: center; justify-content: space-between; background-color: #00BF6F; color: #ffffff; text-decoration: none; padding: 14px 18px 14px 24px; border-radius: 16px; width: 100%; max-width: 360px; transition: all 0.3s ease; box-shadow: 0 4px 15px rgba(0, 191, 111, 0.2); }
.btn-incribete:hover { background-color: #0BBA6F; transform: translateY(-2px); box-shadow: 0 8px 25px rgba(0, 191, 111, 0.35); }
.btn-incribete-text { display: flex; flex-direction: column; gap: 2px; }
.btn-incribete-text span { font-size: 11px; font-weight: 400; opacity: 0.95; }
.btn-incribete-text strong { font-size: 15px; font-weight: 800; letter-spacing: 0.5px; }
.btn-incribete-icon { width: 38px; height: 38px; border-radius: 50%; border: 1.5px solid #ffffff; display: flex; align-items: center; justify-content: center; }
.btn-incribete-icon svg { width: 18px; height: 18px; stroke: #ffffff; animation: bounceRight 1.6s ease-in-out infinite; }
@keyframes bounceRight { 0%, 100% { transform: translateX(0); } 50% { transform: translateX(6px); } }


.footer-right { display: flex; flex-direction: column; }
.footer-nav-wrap { display: flex; align-items: center; justify-content: space-between; margin-bottom: 25px; }
.footer-nav { list-style: none; display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px 25px; width: 100%; }
.footer-nav a { text-decoration: none; color: #09013A; font-size: 15px; font-weight: 500; transition: color 0.3s ease; }
.footer-nav a:hover { color: #00BF6F; }

.btn-footer-contacto { display: inline-flex; align-items: center; justify-content: center; padding: 10px 28px; border: 1.5px solid #09013A; border-radius: 0 50px 50px 0; color: #09013A; text-decoration: none; font-size: 14px; font-weight: 600; transition: all 0.3s ease; }
.btn-footer-contacto:hover { background-color: #09013A; color: #ffffff; }

.footer-divider { width: 100%; height: 1px; background-color: #EADCB9; margin: 15px 0 25px 0; }


.footer-socials-wrap { display: flex; flex-direction: column; gap: 15px; }
.footer-socials-title { font-size: 14px; font-weight: 500; color: #09013A; }
.footer-socials-list { display: flex; align-items: center; gap: 20px; }

.social-circle { width: 44px; height: 44px; border-radius: 50%; border: 1.5px solid #09013A; display: flex; align-items: center; justify-content: center; color: #09013A; text-decoration: none; transition: all 0.3s ease; }
.social-circle:hover { background-color: #09013A; color: #ffffff; transform: translateY(-3px); }
.social-circle svg { width: 20px; height: 20px; fill: currentColor; }

.scroll-top-btn { width: 44px; height: 44px; border-radius: 50%; border: 1.5px solid #09013A; display: flex; align-items: center; justify-content: center; color: #09013A; text-decoration: none; margin-left: auto; transition: all 0.3s ease; }
.scroll-top-btn:hover { background-color: #00BF6F; border-color: #00BF6F; color: #ffffff; transform: translateY(-3px); }
.scroll-top-btn svg { width: 20px; height: 20px; stroke: currentColor; animation: bounceUp 1.6s ease-in-out infinite; }

@keyframes bounceUp { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-6px); } }

.footer-bottom-line { width: 100%; max-width: 1200px; height: 1px; background-color: #EADCB9; margin: 40px auto 25px auto; padding: 0 40px; }
.footer-legal { max-width: 1200px; margin: 0 auto; padding: 0 40px; display: flex; align-items: center; justify-content: space-between; font-size: 13px; color: #09013A; }
.footer-legal .copyright { margin: 0; font-weight: 500; }
.footer-legal .legal-link { color: #09013A; text-decoration: none; font-weight: 500; transition: color 0.3s ease; }
.footer-legal .legal-link:hover { color: #00BF6F; }

@media (max-width: 992px) {
    .footer-container { grid-template-columns: 1fr; gap: 40px; padding: 0 25px; text-align: center; }
    .btn-incribete { max-width: 360px; margin: 0 auto; }
    .footer-nav-wrap { flex-direction: column; align-items: center; gap: 20px; width: 100%; }
    .footer-nav { text-align: center; justify-items: center; }
    .footer-socials-wrap { align-items: center; text-align: center; }
    .footer-socials-list { justify-content: center; }
    .footer-bottom-line, .footer-legal { padding: 0 25px; }
    .footer-legal { flex-direction: column; gap: 12px; text-align: center; justify-content: center; }
}

@media (max-width: 760px) {
    .footer-nav { grid-template-columns: repeat(2, 1fr); gap: 16px 20px; text-align: center; }
}


#home { width: 100%; position: relative; }
#galeriaprincipal { position: relative; width: 100%; aspect-ratio: 16 / 9; overflow: hidden; background-color: #000000; }
.carousel-slides { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: #09013a; }
.carousel-slide { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-size: cover; background-position: center; opacity: 0; transform: scale(1); pointer-events: none; }
.carousel-slide.active { opacity: 1; z-index: 2; animation: kenBurnsZoom 6s linear forwards; }
.carousel-slide.leaving { opacity: 0; z-index: 3; animation: kenBurnsZoom 6s linear forwards; transition: opacity 1.5s ease-in-out; }

@keyframes kenBurnsZoom {
    0% { transform: scale(1); }
    100% { transform: scale(1.1); }
}

.galeria-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(to right, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.1) 60%, rgba(0, 0, 0, 0.1) 100%); z-index: 3; pointer-events: none; }

.galeria-content { position: relative; z-index: 4; max-width: 1200px; width: 96%; margin: 0 auto; padding: 0 0px; top: 42%; transform: translateY(-50%); }

.galeria-controls { position: absolute; bottom: 0; left: 0; width: 100%; height: 85px; background: transparent; z-index: 5; display: flex; align-items: center; border-top: 1.5px solid rgba(255, 255, 255, 0.7); }
.galeria-nav-btn { flex: 1; height: 100%; background: transparent; border: none; color: #ffffff; font-family: var(--font-family); font-size: 22px; font-weight: 400; cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 14px; transition: color 0.3s ease, background 0.3s ease; text-shadow: 0 2px 4px rgba(0,0,0,0.5); }
.galeria-nav-btn:hover { color: var(--brand-gold); background: rgba(0, 0, 0, 0.15); }
.galeria-nav-btn .arrow { font-size: 24px; color: var(--brand-gold); transition: transform 0.3s ease; }
.galeria-nav-btn.prev-btn:hover .arrow { transform: translateX(-6px); }
.galeria-nav-btn.next-btn:hover .arrow { transform: translateX(6px); }
.controls-divider { width: 1.5px; height: 100%; background-color: rgba(255, 255, 255, 0.7); }

@media (max-width: 1110px) {
    #galeriaprincipal { aspect-ratio: auto; height: 100vh; min-height: 560px; }
    .galeria-content { padding: 0 25px; top: 40%; }
    .galeria-controls { height: 65px; }
    .galeria-nav-btn { font-size: 17px; gap: 8px; }
    .galeria-nav-btn .arrow { font-size: 19px; }
}

@media (max-width: 760px) {
    .galeria-content { text-align: center; }
    #galeriaprincipal .carousel-slide:first-child { background-image: url('../galeria/principal0.jpg') !important; }
}




#galeriacompleta{ width: 100%; text-align: center; background-color: #fffbf0;}


.gallery-grid-container { width: 96%; max-width: 1260px; margin: 40px auto 0 auto; padding: 0 10px; }
.gallery-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 25px; }

.gallery-thumb-item { cursor: pointer; border-radius: 0; overflow: hidden; background-color: transparent; box-shadow: 0 6px 18px rgba(9, 1, 58, 0.08); transition: transform 0.8s cubic-bezier(0.25, 1, 0.5, 1), box-shadow 0.8s cubic-bezier(0.25, 1, 0.5, 1); }
.gallery-thumb-item:hover { transform: translateY(-4px); box-shadow: 0 14px 28px rgba(9, 1, 58, 0.16); }

.thumb-img-wrapper { position: relative; width: 100%; aspect-ratio: 16 / 10; overflow: hidden; border-radius: 0; }
.thumb-img-wrapper img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.8s cubic-bezier(0.25, 1, 0.5, 1); will-change: transform; }
.gallery-thumb-item:hover .thumb-img-wrapper img { transform: scale(1.08); }

.thumb-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(11, 186, 111, 0.45); display: flex; align-items: flex-end; justify-content: flex-end; padding: 16px; opacity: 0; transition: opacity 0.8s cubic-bezier(0.25, 1, 0.5, 1); }
.gallery-thumb-item:hover .thumb-overlay { opacity: 1; }

.expand-detail-img { width: 26px !important; height: 26px !important; object-fit: contain !important; transform: scale(0.85); transition: transform 0.8s cubic-bezier(0.25, 1, 0.5, 1); filter: drop-shadow(0 2px 4px rgba(0,0,0,0.5)); }
.gallery-thumb-item:hover .expand-detail-img { transform: scale(1); }

.lightbox-modal { position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; z-index: 10000; display: flex; align-items: center; justify-content: center; opacity: 0; visibility: hidden; transition: opacity 0.4s ease, visibility 0.4s ease; }
.lightbox-modal.active { opacity: 1; visibility: visible; }
.lightbox-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.95); }

.lightbox-close { position: absolute; top: 25px; right: 30px; z-index: 10002; background: transparent; border: none; color: #ffffff; font-size: 38px; font-weight: 300; cursor: pointer; line-height: 1; width: 48px; height: 48px; border-radius: 50%; display: flex; align-items: center; justify-content: center; transition: background 0.3s ease, transform 0.3s ease, color 0.3s ease; }
.lightbox-close:hover { background: rgba(255, 255, 255, 0.15); color: var(--brand-gold); transform: rotate(90deg); }

.lightbox-nav { position: absolute; top: 50%; transform: translateY(-50%); z-index: 10002; background: rgba(255, 255, 255, 0.08); border: 1px solid rgba(255, 255, 255, 0.2); color: #ffffff; width: 54px; height: 54px; border-radius: 50%; display: flex; align-items: center; justify-content: center; cursor: pointer; backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
.lightbox-prev { left: 30px; }
.lightbox-next { right: 30px; }

.lightbox-nav svg { width: 26px; height: 26px; stroke: currentColor; transition: transform 0.3s ease; }
.lightbox-prev:hover svg { transform: translateX(-4px); }
.lightbox-next:hover svg { transform: translateX(4px); }

.lightbox-content { position: relative; z-index: 10001; max-width: 90vw; max-height: 85vh; display: flex; align-items: center; justify-content: center; padding: 10px; }
.lightbox-content img { max-width: 100%; max-height: 85vh; width: auto; height: auto; object-fit: contain; border-radius: 0; box-shadow: 0 20px 50px rgba(0, 0, 0, 0.8); opacity: 0; transform: scale(0.96); transition: opacity 0.3s ease, transform 0.3s ease; }
.lightbox-modal.active .lightbox-content img { opacity: 1; transform: scale(1); }

@media (max-width: 992px) {
    .gallery-grid { grid-template-columns: repeat(2, 1fr); gap: 20px; }
}

@media (max-width: 600px) {
    .gallery-grid { grid-template-columns: 1fr; gap: 16px; }
    .lightbox-prev { left: 10px; }
    .lightbox-next { right: 10px; }
    .lightbox-nav { width: 44px; height: 44px; }
    .lightbox-close { top: 15px; right: 15px; }
}


.idiomas-banner-section { position: relative; width: 100%; height: 580px; background-image: url('../imagenes/idiomas.jpg'); background-size: cover; background-position: center; display: flex; align-items: center; justify-content: flex-start; padding: 0; }
.idiomas-banner-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(90deg, rgba(0, 0, 0, 0.72) 0%, rgba(0, 0, 0, 0.35) 60%, rgba(0, 0, 0, 0.1) 100%); }
.idiomas-banner-content { position: relative; z-index: 2; width: 96%; max-width: 1200px; margin: 0 auto; text-align: left; }
.idiomas-banner-box { width: 100%; max-width: 500px; }
.idiomas-banner-content .hero-title { font-size: 26px; line-height: 1.4; color: #ffffff; display: inline; margin-bottom: 28px; font-weight: 300; }
.idiomas-banner-content h2.hero-title { display: inline !important; font-size: inherit !important; font-weight: inherit !important; color: inherit !important; }
.idiomas-banner-content .hero-title span { font-weight: 700; color: #ffffff; }

.modalidades-section { width: 100%; background-color: #FFFBF0; padding: 60px 0 50px 0; text-align: left; }
.modalidades-container { width: 96%; max-width: 1200px; margin: 0 auto; }
.modalidades-header h2 { font-size: 38px; color: #09013A; font-weight: 400; margin-bottom: 35px; text-align: left; }
.modalidades-header h2 span { color: #D0A344; font-weight: 700; }
.modalidades-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 30px; }
.modalidad-card { background-color: #fffaef; border: 1.5px solid #D0A344; border-radius: 14px; padding: 24px 30px; text-align: left; box-shadow: 0 4px 15px rgba(208, 163, 68, 0.08); transition: transform 0.3s ease, box-shadow 0.3s ease; }
.modalidad-card:hover { transform: translateY(-4px); box-shadow: 0 10px 25px rgba(208, 163, 68, 0.18); }
.modalidad-card-header { display: flex; align-items: center; gap: 18px; margin-bottom: 16px; border-bottom: 1px solid rgba(208, 163, 68, 0.3); padding-bottom: 16px; }
.modalidad-icon { width: 96px; height: 91px; object-fit: contain; }
.modalidad-card-header h3 { font-size: 22px; color: #09013A; font-weight: 700; line-height: 1.2; }
.modalidad-card-body { display: flex; flex-direction: column; gap: 8px; }
.horario-row { font-size: 19px; color: #09013A; font-weight: 500; background-color:#f5edda; padding: 8px 16px; border-radius: 6px; }
.horario-row strong { font-weight: 700; }

.beneficios-section { width: 100%; background-color: #FAF5E8; padding: 20px 0 60px 0; }
.beneficios-container { width: 92%; max-width: 1280px; margin: 0 auto; }
.beneficios-grid { display: grid; grid-template-columns: repeat(6, 193px); justify-content: center; gap: 18px; }
.flip-card { background-color: transparent; width: 193px; height: 228px; perspective: 1000px; cursor: pointer; margin: 0 auto; }
.flip-card-inner { position: relative; width: 193px; height: 228px; text-align: center; transition: transform 0.7s cubic-bezier(0.4, 0, 0.2, 1); transform-style: preserve-3d; }
.flip-card:hover .flip-card-inner { transform: rotateY(180deg); }
.flip-card-front, .flip-card-back { width: 193px; height: 228px; -webkit-backface-visibility: hidden; backface-visibility: hidden; border-radius: 0; border: none; background: transparent; padding: 0; box-shadow: none; display: block; position: absolute; top: 0; left: 0; }
.flip-card-front img { width: 193px; height: 228px; display: block; object-fit: contain; }
.flip-card-back { transform: rotateY(180deg); }
.flip-card-back img { width: 193px; height: 228px; display: block; object-fit: contain; }
.flip-card-back p { position: absolute; bottom: 22px; left: 50%; transform: translateX(-50%); width: 85%; color: #09013A; font-size: 14px; font-weight: 700; line-height: 1.2; margin: 0; text-align: center; pointer-events: none; }

@media (max-width: 1280px) {
    .beneficios-grid { grid-template-columns: repeat(3, 193px); gap: 24px; }
}

@media (max-width: 992px) {
    .modalidades-grid { grid-template-columns: 1fr; }
    .idiomas-banner-section { height: 500px; padding: 0; }
}

@media (max-width: 760px) {
    .idiomas-banner-section { background-image: url('../imagenes/idiomasmovil.jpg'); }
    .idiomas-banner-content { text-align: center; }
    .idiomas-banner-box { width: 96%; max-width: none; margin: 0 auto; }
    .idiomas-banner-content .hero-title { font-size: 22px; }
    .modalidades-section { text-align: center; }
    .modalidades-header h2 { text-align: center; }
}

@media (max-width: 650px) {
    .beneficios-grid { grid-template-columns: repeat(2, 193px); gap: 16px; }
    .modalidades-header h2 { font-size: 28px; }
    .modalidad-card-header h3 { font-size: 19px; }
    .horario-row { font-size: 16px; }
}


.contacto-page-section { position: relative; width: 100%; min-height: 100vh; background-image: url('../imagenes/contacto.jpg'); background-size: cover; background-position: center; background-attachment: fixed; display: flex; flex-direction: column; justify-content: center; padding: 140px 0 70px 0; }
.contacto-page-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%;  z-index: 1; }
.contacto-container { position: relative; z-index: 2; width: 96%; max-width: 1140px; margin: 0 auto; }

.contacto-header-grid { display: grid; grid-template-columns: 1.15fr 1fr; gap: 40px; align-items: center; margin-bottom: 35px; }
.contacto-title { font-size: 38px; line-height: 1.2; font-weight: 400; color: #ffffff; letter-spacing: -0.5px; margin: 0; }
.contacto-title span { color: #00BF6F; font-weight: 500; }
.contacto-header-desc { font-size: 15px; line-height: 1.5; color: #FFFFFF; font-weight: 400; margin: 0; }
.contacto-header-desc span { color: #00BF6F; font-weight: 500; }

.contacto-card { background-color: #ffffff; border-radius: 24px; padding: 35px 35px 25px 35px; box-shadow: 0 15px 35px rgba(0, 0, 0, 0.25); margin-bottom: 45px; }
.contacto-form-grid { display: flex; flex-direction: column; gap: 18px; }
.contacto-form-row-1 { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.contacto-form-row-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.contacto-form-row-3 { display: flex; align-items: center; justify-content: flex-end; gap: 15px; width: 100%; }
.contacto-captcha-wrapper { width: 140px; flex-shrink: 0; }
.contacto-captcha-input { text-align: center; padding: 0 12px; font-size: 14px; }

.contacto-input, .contacto-select { width: 100%; height: 50px; border: 1.5px solid #00BF6F; border-radius: 50px; padding: 0 24px; font-family: var(--font-family); font-size: 15px; color: #00BF6F; background-color: #ffffff; outline: none; transition: border-color 0.3s ease, box-shadow 0.3s ease; }
.contacto-input::placeholder { color: #00BF6F; opacity: 0.9; }
.contacto-input:focus, .contacto-select:focus { border-color: #00BF6F; box-shadow: 0 0 0 3px rgba(0, 191, 111, 0.2); }

.contacto-select-wrapper { position: relative; width: 100%; }
.contacto-select { appearance: none; -webkit-appearance: none; -moz-appearance: none; cursor: pointer; padding-right: 45px; }
.contacto-select-wrapper::after { content: ''; position: absolute; right: 20px; top: 50%; transform: translateY(-50%); width: 0; height: 0; border-left: 6px solid transparent; border-right: 6px solid transparent; border-top: 7px solid #00BF6F; pointer-events: none; }

.contacto-submit-btn { height: 50px; background-color: #00BF6F; color: #ffffff; border: none; border-radius: 50px; padding: 0 20px 0 28px; font-family: var(--font-family); font-size: 15px; font-weight: 500; cursor: pointer; display: inline-flex; align-items: center; justify-content: space-between; gap: 12px; transition: all 0.3s ease; width: 100%; }
.contacto-submit-btn:hover { background-color: #0BBA6F; transform: translateY(-2px); box-shadow: 0 6px 20px rgba(0, 191, 111, 0.35); }

.btn-arrow-circle { width: 32px; height: 32px; border-radius: 50%; border: 1.5px solid rgba(255, 255, 255, 0.9); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.btn-arrow-circle svg { width: 16px; height: 16px; stroke: #ffffff; transition: transform 0.3s ease; }
.contacto-submit-btn:hover .btn-arrow-circle svg { transform: translateX(3px); }
.contacto-card-subtext { font-size: 12.5px; color: #888888; text-align: center; margin-top: 20px; line-height: 1.4; font-weight: 400; }
.contacto-response-msg { font-size: 14px; padding: 12px 18px; border-radius: 8px; margin-top: 15px; text-align: center; font-weight: 500; }
.contacto-response-msg.success { background-color: #e8f8f0; color: #00bf6f; border: 1px solid #00bf6f; }
.contacto-response-msg.error { background-color: #fde8e8; color: #e53e3e; border: 1px solid #e53e3e; }

.contacto-info-bar { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; align-items: center; }
.contacto-info-item { display: flex; align-items: center; gap: 16px; color: #ffffff; }
.contacto-info-icon { width: 54px; height: 54px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; }
.contacto-info-icon img { width: 100%; height: 100%; object-fit: contain; display: block; }
.contacto-info-content { display: flex; flex-direction: column; justify-content: center; }
.contacto-info-text { font-size: 15px; line-height: 1.35; color: #ffffff; font-weight: 400; }
.contacto-email-link { color: #ffffff; text-decoration: underline; font-weight: 500; transition: color 0.3s ease; }
.contacto-email-link:hover { color: #00BF6F; }
.contacto-phone-link { font-size: 22px; font-weight: 700; color: #ffffff; text-decoration: none; letter-spacing: 0.5px; transition: color 0.3s ease; }
.contacto-phone-link:hover { color: #00BF6F; }
.contacto-location-link { color: #ffffff; text-decoration: none; display: flex; flex-direction: column; transition: color 0.3s ease; }
.contacto-location-link:hover { color: #00BF6F; }
.contacto-location-link .contacto-info-text { color: inherit; }

@media (max-width: 1024px) {
    .contacto-header-grid { grid-template-columns: 1fr; gap: 15px; margin-bottom: 25px; }
    .contacto-title { font-size: 32px; }
    .contacto-form-row-2 { grid-template-columns: 1fr 1fr; }
    .contacto-submit-btn { grid-column: span 2; }
    .contacto-info-bar { gap: 20px; }
    .contacto-phone-link { font-size: 19px; }
}

@media (max-width: 768px) {
    .contacto-container { position: relative; z-index: 2; width: 90%; max-width: 1140px; margin: 0 auto; }
    .contacto-page-section { padding: 110px 0 50px 0; background-attachment: scroll; }
    .contacto-title { font-size: 26px; }
    .contacto-header-desc { font-size: 14px; }
    .contacto-card { padding: 25px 20px 20px 20px; border-radius: 18px; margin-bottom: 35px; }
    .contacto-form-row-1 { grid-template-columns: 1fr; gap: 15px; }
    .contacto-form-row-2 { grid-template-columns: 1fr; gap: 15px; }
    .contacto-form-row-3 { flex-direction: column; gap: 15px; }
    .contacto-captcha-wrapper { width: 100%; }
    .contacto-submit-btn { grid-column: auto; width: 100%; margin-top: 5px; }
    .contacto-info-bar { grid-template-columns: 1fr; gap: 25px; }
    .contacto-info-item { justify-content: flex-start; }
}

#ecoHeroCarousel { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 1; overflow: hidden; }
.eco-slide-1 { background-image: url('../imagenes/eco1.jpg'); }
.eco-slide-2 { background-image: url('../imagenes/eco2.jpg'); }
.eco-slide-3 { background-image: url('../imagenes/eco3.jpg'); }


.eco-aktal-btn { display: inline-flex; align-items: center; gap: 14px; background-color: transparent; border: 1.5px solid #ffffff; border-radius: 50px; padding: 10px 14px 10px 24px; color: #ffffff; font-family: var(--font-family); font-size: 15px; font-weight: 500; text-decoration: none; transition: all 0.3s ease; }
.eco-aktal-btn:hover { background-color: #ffffff; color: #09013A; border-color: #ffffff; }
.eco-aktal-btn .btn-arrow-circle { width: 34px; height: 34px; border-radius: 50%; background-color: #ffffff; color: #09013A; display: flex; align-items: center; justify-content: center; transition: all 0.3s ease; }
.eco-aktal-btn .btn-arrow-circle svg { width: 16px; height: 16px; }
.eco-aktal-btn:hover .btn-arrow-circle { background-color: #09013A; color: #ffffff; }

.adn-section { width: 100%; background-color: #FFFBF0; padding: 80px 0 70px 0; }
.adn-container { width: 96%; max-width: 1200px; margin: 0 auto; }
.adn-title { font-size: 42px; line-height: 1.25; font-weight: 400; color: #09013A; margin-bottom: 40px; text-align: left; letter-spacing: -0.5px; }
.adn-title span { color: #09013A; font-weight: 400; }
.adn-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; }
.adn-col p, .adn-text-p { font-size: 20px; line-height: 1.6; color: #09013A; margin: 0; font-weight: 400; }
.adn-col p strong, .adn-text-p strong { color: #D0A344; font-weight: 700; }
.adn-col h3, .adn-text-p h3 { display: inline !important; font-size: inherit !important; font-weight: inherit !important; color: #09013A !important; font-family: inherit !important; margin: 0 !important; padding: 0 !important; line-height: inherit !important; }

.eco-banner-middle { position: relative; width: 100%; height: 520px; background: url('../imagenes/ecobanner.jpg') no-repeat center center fixed; background-size: cover; display: flex; align-items: center; }
.eco-banner-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(90deg, rgba(0, 0, 0, 0.75) 0%, rgba(0, 0, 0, 0.45) 50%, rgba(0, 0, 0, 0.2) 100%); z-index: 1; }
.eco-banner-container { position: relative; z-index: 2; width: 96%; max-width: 1200px; margin: 0 auto; padding: 0; }
.eco-banner-title { font-size: 42px; line-height: 1.25; color: #ffffff; max-width: 540px; font-weight: 400; margin-bottom: 28px; letter-spacing: -0.5px; text-shadow: 0 2px 10px rgba(0,0,0,0.5); }
.eco-banner-title span { color: #D0A344; font-weight: 400; }

.aktal-section { width: 100%; background-color: #171142; padding: 75px 0 30px 0; }
.aktal-container { width: 96%; max-width: 1200px; margin: 0 auto; }
.aktal-title { font-size: 42px; line-height: 1.25; color: #ffffff; font-weight: 400; margin-bottom: 24px; letter-spacing: -0.5px; }
.aktal-title span { color: #D0A344; font-weight: 700; }
.aktal-desc { font-size: 20px; line-height: 1.6; color: #e0e0e0; max-width: 780px; font-weight: 300; margin: 0; }
.aktal-desc strong { color: #ffffff; font-weight: 600; }

.eco-features-section { width: 100%; background-color: #FFFBF0; padding: 65px 0 75px 0; }
.eco-features-container { width: 96%; max-width: 1200px; margin: 0 auto; }
.eco-features-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 30px; }
.eco-feature-card { background: transparent; text-align: center; display: flex; flex-direction: column; align-items: center; }
.eco-feature-icon { width: 80px; height: 80px; margin-bottom: 18px; display: flex; align-items: center; justify-content: center; }
.eco-feature-icon img { width: 100%; height: 100%; object-fit: contain; }
.eco-feature-title { font-size: 19px; line-height: 1.3; color: #09013A; font-weight: 700; margin-bottom: 12px; min-height: 52px; display: flex; align-items: flex-start; justify-content: center; text-align: center; }
.eco-feature-desc { font-size: 17px; line-height: 1.5; color: #09013A; margin: 0; }

.eco-logos-section { width: 100%; background-color: #ffffff; padding: 45px 0; overflow: hidden;  }
.eco-logos-marquee { width: 100%; overflow: hidden; display: flex; }
.eco-logos-track { display: flex; align-items: center; gap: 45px; animation: logoMarquee 40s linear infinite; width: max-content; }
.eco-logo-item { flex-shrink: 0; width: 105px; height: 100px; display: flex; align-items: center; justify-content: center; }
.eco-logo-item img { max-width: 100%; object-fit: contain; filter: grayscale(100%); opacity: 1; transition: filter 0.35s ease, opacity 0.35s ease, transform 0.35s ease; }
.eco-logo-item:hover img { filter: grayscale(0%); opacity: 1; transform: scale(1.1); }
@keyframes logoMarquee { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }

@media (max-width: 1110px) {
    #ecoHeroCarousel { aspect-ratio: auto; height: 100vh; min-height: 560px; }
    .eco-features-grid { grid-template-columns: repeat(2, 1fr); gap: 35px; }
}

@media (max-width: 768px) {
    .adn-header { text-align: center; }
    .adn-title { font-size: 33px; text-align: center; margin-bottom: 25px; }

    .adn-grid { grid-template-columns: 1fr; gap: 20px; text-align: center; }
    .adn-col p, .adn-text-p { font-size: 16px; }
    .eco-banner-middle { height: 420px; background-attachment: scroll; }
    .eco-banner-title { font-size: 33px; text-align: center; margin: 0 auto 24px auto; }
    .eco-banner-title br { display: none; }
    .eco-banner-container { text-align: center; padding: 0 20px; }
    .aktal-header { text-align: center; }
    .aktal-title { font-size: 33px; text-align: center; margin: 0 auto 22px auto; }
    .aktal-desc { font-size: 16px; text-align: center; margin: 0 auto; }
    .eco-features-grid { grid-template-columns: 1fr; gap: 30px; }
    .eco-feature-title { font-size: 18px; min-height: auto; }
    .eco-feature-desc { font-size: 15px; }
    .eco-logos-track { gap: 25px; animation-duration: 35s; }
}


.program-header { width: 100%; background-color: #09013A; padding: 125px 0 35px 0; color: #ffffff; }
.program-header-container { width: 96%; max-width: 1200px; margin: 0 auto; }
.program-title { font-size: 42px; font-weight: 700; color: #ffffff; line-height: 1.25; margin-bottom: 18px; font-family: inherit; }
.rvoe-badge { display: inline-block; border: 1.5px solid #00BF6F; color: #00BF6F; border-radius: 50px; padding: 6px 22px; font-size: 14px; font-weight: 500; letter-spacing: 0.3px; }

.program-ticker-bar { width: 100%; background-color: #E2B35B; padding: 12px 0; overflow: hidden; box-shadow: 0 2px 8px rgba(0,0,0,0.15); }
.program-ticker-container { width: 96%; max-width: 1200px; margin: 0 auto; display: flex; align-items: center; justify-content: center; gap: 30px; color: #09013A; font-size: 19px; font-weight: 700; text-align: center; flex-wrap: wrap; }
.program-ticker-item { display: inline-flex; align-items: center; gap: 30px; }
.program-ticker-symbol { color: #09013A; font-size: 16px; }

.program-hero-section { position: relative; width: 100%; min-height: 520px; background-size: cover; background-position: center; background-attachment: fixed; display: flex; align-items: center; }
.program-hero-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%;  z-index: 1; }
.program-hero-container { position: relative; z-index: 2; width: 96%; max-width: 1200px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; padding: 60px 0; }
.program-hero-left { max-width: 580px; }
.program-hero-heading { display: block !important; font-size: 40px; line-height: 1.25; color: #ffffff; font-weight: 700; margin-bottom: 22px !important; }
.program-hero-left .btn-oferta { margin-top: 0 !important; }
.program-hero-heading span { color: #E2B35B; font-weight: 700; }
.program-hero-heading span.hero-span-green { color: #00BF6F !important; }
.program-hero-right { display: flex; align-items: center; justify-content: center; }
.sisi-badge-img {  height: auto; object-fit: contain;  }

.egresado-section { width: 100%; background-color: #fffbf0; padding: 0 0 90px 0; }
.egresado-header { width: 100%; background-color: #171142; padding: 24px 0; margin-bottom: 60px; }
.egresado-header-container { width: 96%; max-width: 1200px; margin: 0 auto; }
.egresado-title { font-size: 40px; font-weight: 700; color: #00BF6F; margin: 0; }
.egresado-container { width: 96%; max-width: 1200px; margin: 0 auto; }
.egresado-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 50px 45px; align-items: start; }
.egresado-grid-2 { grid-template-columns: repeat(2, 1fr) !important; gap: 50px 80px !important; }
.egresado-card { display: flex; flex-direction: column; align-items: flex-start; text-align: left; }
.egresado-icon-wrap { height: 130px; margin-bottom: 20px; display: flex; align-items: flex-end; justify-content: flex-start; }
.egresado-icon-wrap img { max-width: 100%; max-height: 125px; width: auto; height: auto; object-fit: contain; }
.egresado-card p { font-size: 16px; line-height: 1.55; color: #09013A; font-weight: 400; margin: 0; }
.branding-formate { display: flex; flex-direction: column; justify-content: flex-start; text-align: left; padding-top: 80px; }
.branding-formate .os-animation { display: block; }
.branding-formate .line-dark { font-size: 44px; font-weight: 800; color: #09013A; line-height: 1.1; margin: 0; }
.branding-formate .line-green { font-size: 44px; font-weight: 800; color: #00BF6F; line-height: 1.1; margin: 0; }
.branding-formate .line-gold { font-size: 44px; font-weight: 800; color: #E2B35B; line-height: 1.1; margin: 0; }

.emprecelsus-section { width: 100%; background-color: #FAF5EA; padding: 75px 0 90px 0; }
.emprecelsus-container { width: 96%; max-width: 1200px; margin: 0 auto; }
.emprecelsus-title { font-size: 42px; font-weight: 500; color: #00BF6F; margin-bottom: 50px; display: block !important; }
.emprecelsus-svg-wrap { width: 100%; max-width: 1196px; margin: 0 auto; display: flex; justify-content: center; align-items: center; }
.emprecelsus-diagram-img { width: 100%; height: auto; object-fit: contain; }
.emprecelsus-diagram-img.mobile-img { display: none; }
.emprecelsus-diagram-img.desktop-img { display: block; }

@media (max-width: 992px) {
    .program-top-home { padding-top: 175px; min-height: 380px; text-align: center; }
    .program-top-home .hero-content { text-align: center; margin: 0 auto; }
    .program-top-home .hero-title { margin: 0 auto; text-align: center; }
    .program-hero-section { background-attachment: scroll !important; }
    .program-hero-container { flex-direction: column; text-align: center; align-items: center; justify-content: center; gap: 35px; padding: 50px 20px; }
    .program-hero-left { max-width: 100%; display: flex; flex-direction: column; align-items: center; text-align: center; }
    .program-hero-heading { display: block !important; font-size: 28px; text-align: center; margin-bottom: 20px !important; }
    .program-hero-right { order: 2; width: 100%; display: flex; justify-content: center; margin-top: 10px; }
    .egresado-header { text-align: center; }
    .egresado-title { text-align: center; }
    .egresado-grid { grid-template-columns: 1fr; gap: 35px; }
    .egresado-card { align-items: center; text-align: center; }
    .egresado-icon-wrap { height: auto; justify-content: center; align-items: center; }
    .branding-formate { padding-top: 0; align-items: center; text-align: center; margin-top: 20px; }
    .emprecelsus-title { text-align: center; font-size: 36px; margin-bottom: 40px; }
    .mapa-banner-container { justify-content: center; text-align: center; flex-direction: column; gap: 20px; }
    .mapa-banner-text { text-align: center; font-size: 26px; }
    .btn-mapa-curricular { margin: 0 auto; }
}

@media (max-width: 768px) {
    .emprecelsus-title { text-align: center; font-size: 34px; margin-bottom: 35px; }
    .emprecelsus-diagram-img.desktop-img { display: none !important; }
    .emprecelsus-diagram-img.mobile-img { display: block !important; width: 100%; max-width: 420px; margin: 0 auto; }

    .mapa-banner-container { justify-content: center; text-align: center; flex-direction: column; gap: 20px; }
    .mapa-banner-text { text-align: center; font-size: 23px; }
    .btn-mapa-curricular { margin: 0 auto; }
}

.mapa-banner-section { width: 100%; background-color: #00BF6F; padding: 45px 0; }
.mapa-banner-gold { background-color: #D0A344 !important; }
.mapa-banner-container { width: 96%; max-width: 1200px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 25px; }
.mapa-banner-text { font-size: 32px; color: #ffffff; font-weight: 400; line-height: 1.25; margin: 0; }
.mapa-banner-text strong { font-weight: 800; color: #09013A; }

.btn-mapa-curricular { display: inline-flex; align-items: center; gap: 16px; padding: 10px 10px 10px 30px; border: 1.5px solid #ffffff; border-radius: 50px; text-decoration: none; font-size: 18px; transition: all 0.3s ease; background-color: transparent; }
.btn-mapa-curricular strong { font-weight: 800; color: #09013A; }
.btn-mapa-curricular span.white-text { color: #ffffff; font-weight: 500; }
.btn-mapa-arrow-circle { width: 38px; height: 38px; border-radius: 50%; border: 1.5px solid #ffffff; display: flex; align-items: center; justify-content: center; flex-shrink: 0; transition: transform 0.3s ease; }
.btn-mapa-arrow-circle svg { width: 18px; height: 18px; stroke: #ffffff; stroke-width: 2.5; fill: none; transition: transform 0.3s ease; }
.btn-mapa-curricular:hover { background-color: rgba(255, 255, 255, 0.1); }
.btn-mapa-curricular:hover .btn-mapa-arrow-circle { transform: translateX(3px); }

.program-top-home { position: relative; width: 100%; min-height: 440px; background-color: #09013A; display: flex; flex-direction: column; justify-content: space-between; padding-top: 140px; }
.program-top-home .hero-title, .program-top-home .hero-title h1 { color: #ffffff !important; font-weight: 400; }
.estudia { font-size: 42px; color: #0BBA6F !important; font-weight: 700; }
.rvoe-badge { display: inline-block; border: 1.5px solid #00BF6F; border-radius: 50px; padding: 8px 28px; font-size: 15px; font-weight: 500; letter-spacing: 0.3px; margin-top: 22px; }
.rvoe-badge .rvoe-green { color: #00BF6F; }
.rvoe-badge .rvoe-white { color: #ffffff; font-weight: 600; }
.ticker-gold { background-color: #E2B35B !important; }
.ticker-gold .ticker-item { color: #ffffff !important; font-weight: 600 !important; }
.ticker-gold .ticker-item.item-blue { color: #09013A !important; font-weight: 700 !important; }
.ticker-gold .ticker-symbol { color: #09013A !important; }

.ticker-green { background-color: #00BF6F !important; }
.ticker-green .ticker-item { color: #ffffff !important; font-weight: 600 !important; }
.ticker-green .ticker-item.item-blue { color: #09013A !important; font-weight: 800 !important; }
.ticker-green .ticker-symbol { color: #09013A !important; font-weight: 900 !important; }

.ticker-purple { background-color: #5144D3 !important; }
.ticker-purple .ticker-item { color: #ffffff !important; font-weight: 600 !important; }
.ticker-purple .ticker-item.item-blue { color: #ffffff !important; font-weight: 800 !important; }
.ticker-purple .ticker-symbol { color: #00BF6F !important; font-weight: 900 !important; }

.egresado-header-purple { background-color: #211951 !important; }

.mapa-banner-purple { background-color: #5144D3 !important; }
.mapa-banner-purple .mapa-banner-text strong { color: #00BF6F !important; }
.mapa-banner-purple .btn-mapa-curricular strong { color: #ffffff !important; }

.egresado-grid-4 { grid-template-columns: repeat(4, 1fr) !important; gap: 40px 25px !important; }
@media (max-width: 992px) {
    .egresado-grid-4 { grid-template-columns: repeat(2, 1fr) !important; gap: 35px 25px !important; }
}
@media (max-width: 576px) {
    .egresado-grid-4 { grid-template-columns: 1fr !important; gap: 30px !important; }
}


