h1,h2,h3,h4,p{margin-bottom:1rem}.footer-column ul,.program-list{list-style:none}.btn,.footer-column a,.language-option{text-decoration:none}.hero-overlay,.hero-video,.parallax-section .parallax-bg,.parallax-section .parallax-overlay{inset:0;position:absolute}.bg-caption,.btn,.final-cta,.footer-bottom{text-align:center}

/* palette adapted from logo: yellow #FFC802, black #000000, white #FFFFFF */
:root{
  --primary:#000000;        /* used previously as main primary color (now black) */
  --primary-light:#fff8e6;  /* very light yellowish for hover backgrounds */
  --secondary:#FFC802;      /* accent yellow from logo (replaces orange) */
  --accent:#128603;         /* keep WhatsApp/green accent */
  --white:#ffffff;
  --black:#000000;
  --gray-light:#f8f9fa;
  --gray-border:#e9ecef;
  --gray-text:#6c757d;
  --shadow-sm:0 2px 4px rgba(0, 0, 0, 0.05);
  --shadow-md:0 4px 6px rgba(0, 0, 0, 0.05);
  --shadow-lg:0 10px 15px rgba(0, 0, 0, 0.07);
  --radius:8px;
  --radius-lg:12px;
  --transition:all .3s ease;
  --strip-overlap:22vh
}

.btn,.footer-column a,.language-btn,.language-option,.program-media img{transition:var(--transition)}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:Montserrat,sans-serif;color:var(--black);background-color:var(--white);line-height:1.6;overflow-x:hidden}
.bg-caption h2,h1,h2,h3,h4{font-family:Poppins,sans-serif}
h1,h2,h3,h4{font-weight:700;line-height:1.2}
h1{font-size:2.6rem}
h2{font-size:2rem}
h3{font-size:1.5rem}
.container{width:100%;max-width:1200px;margin:0 auto;padding:0 20px}
.language-switcher{position:fixed;top:18px;right:18px;z-index:50}
.language-btn{background:#fff;border:1px solid var(--gray-border);border-radius:var(--radius);padding:.5rem 1rem;cursor:pointer;display:flex;align-items:center;gap:.5rem;font-weight:600;box-shadow:var(--shadow-sm)}
.hero-image img,.language-dropdown,.program-media img{box-shadow:var(--shadow-lg)}
.language-btn:hover{background:var(--gray-light)}
.language-dropdown{position:absolute;top:110%;right:0;background:#fff;border-radius:var(--radius);margin-top:.5rem;width:160px;display:none;overflow:hidden}
.language-dropdown.show{display:block}
.language-option{display:block;padding:.8rem 1rem;color:var(--black)}
.language-option:hover{background:var(--primary-light);color:var(--primary)}
.hero{position:relative;min-height:78vh;display:flex;align-items:center}
.hero-content,.program-grid{display:grid;align-items:center}
.hero-video{width:100%;height:100%;object-fit:cover;z-index:-2;filter:brightness(.85)}
/* overlay adjusted to neutral/dark so yellow accents read well, preserving position/size */
.hero-overlay{background:linear-gradient(90deg, rgba(0,0,0,.75), rgba(0,0,0,.15));z-index:-1}
.hero-content{grid-template-columns:1.1fr .9fr;gap:3rem}
.brand-logo{height:60px;margin-bottom:1.2rem;filter:drop-shadow(0 2px 4px rgba(0, 0, 0, .1))}
.footer-column a:hover,.hero-text h1{color:#fff}
/* highlight color on spans: slightly lighter yellow for good contrast */
.final-cta .highlight,.hero-text h1 span{color:#FFC802}
.hero-subtitle{font-size:1.1rem;color:#fff;font-weight:600;margin-bottom:1rem}
/* keep white quote box but use brand yellow for left border */
.hero-quote{background-color:rgba(255,255,255,.95);border-left:4px solid var(--secondary);padding:1rem;margin:1.2rem 0;border-radius:var(--radius);box-shadow:var(--shadow-md)}
.hero-image img{max-width:100%;border-radius:var(--radius-lg)}
.program-section{padding:5rem 0;position:relative;background:#fff}
.program-section.alt{background-color:var(--gray-light)}
.program-grid{grid-template-columns:1fr 1fr;gap:3.2rem}
.btn,.program-badge{display:inline-block;font-weight:700}
.program-media img{width:100%;border-radius:var(--radius-lg)}
.program-media img:hover{transform:translateY(-4px)}
.program-copy{padding:1rem}
/* badges/buttons use the brand yellow (secondary) and keep text color rules */
.program-badge{background:var(--primary);color:#fff;padding:.5rem 1rem;border-radius:30px;font-size:.9rem;margin-bottom:1rem}
.btn-primary,.program-badge.orange{background:var(--secondary)}
.program-badge.green{background:var(--accent)}
.program-badge.cyan{background:#128603}
.program-copy h2{color:var(--primary);margin-bottom:1rem}
.program-list{margin:1rem 0}
.program-list li{display:flex;align-items:center;margin-bottom:.8rem}
.program-list i{color:var(--primary);margin-right:.7rem;font-size:1.1rem}
.btn{padding:.85rem 1.5rem;border-radius:var(--radius);cursor:pointer;border:none}
.btn-primary{color:#000000}
.btn-primary:hover{filter:brightness(.95);transform:translateY(-2px)}
.btn.big{padding:1rem 2rem;font-size:1.06rem}
/* final CTA uses primary (black) gradient to keep contrast with yellow accents */
.final-cta{background:linear-gradient(135deg,var(--primary) 0,#0b0b0b 100%);color:#fff;padding:4rem 0}
.final-cta h2{margin-bottom:2rem;font-size:2.1rem}
.flags{display:flex;justify-content:center;gap:2rem;margin-top:2rem}
.flags img{height:60px;border-radius:8px;box-shadow:var(--shadow-md)}

/* ==================== FOOTER MODERNIZADO ==================== */
.footer {
    background: linear-gradient(135deg, #000000 0%, var(--primary) 100%);
    color: var(--white);
    padding: 60px 0 0;
    margin-top: 80px;
    position: relative;
    overflow: hidden;
}

.footer::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: var(--secondary);
}

.footer-content {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 40px;
    margin-bottom: 40px;
}

.footer-logo {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.footer-logo img {
    height: 50px;
    margin-bottom: 20px;
    transition: var(--transition);
}

.footer-logo p {
    font-size: 1rem;
    line-height: 1.7;
    color: rgba(255, 255, 255, 0.9);
    max-width: 300px;
}

.footer-column h3 {
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--secondary);
    position: relative;
    padding-bottom: 10px;
    font-size: 1.2rem;
}

.footer-column h3::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 40px;
    height: 2px;
    background-color: var(--secondary);
}

.footer-column h3 i {
    color: var(--secondary);
    font-size: 1.1rem;
}

.footer-column ul {
    list-style: none;
}

.footer-column ul li {
    margin-bottom: 12px;
    padding-left: 20px;
    position: relative;
    transition: var(--transition);
    color: rgba(255, 255, 255, 0.9);
}

.footer-column ul li:hover {
    color: var(--secondary);
    transform: translateX(5px);
}

.footer-column ul li::before {
    content: '•';
    position: absolute;
    left: 0;
    color: var(--secondary);
    font-weight: bold;
}

.footer-column.footer-contact ul li {
    padding-left: 0;
}

.footer-column.footer-contact ul li::before {
    display: none;
}

/* Legal Block */
.legal {
    border-top: 1px solid rgba(255, 255, 255, 0.15);
    padding: 30px 0;
    font-size: 0.85rem;
    color: rgba(255, 255, 255, 0.8);
}

.legal p {
    margin-bottom: 15px;
    line-height: 1.6;
}

.legal p:last-child {
    margin-bottom: 0;
}

.legal .disclaimer {
    font-style: italic;
    padding: 15px;
    background-color: rgba(255, 255, 255, 0.05);
    border-radius: 8px;
    border-left: 3px solid var(--secondary);
    font-size: .85rem;
    color: rgba(255, 255, 255, 0.9);
    line-height: 1.5;
    margin-top: .5rem;
}

/* Responsive Footer */
@media (max-width: 768px) {
    .footer-content {
        grid-template-columns: 1fr;
        gap: 30px;
        text-align: center;
    }
    
    .footer-logo {
        align-items: center;
        text-align: center;
    }
    
    .footer-logo p {
        max-width: 100%;
    }
}
/* ==================== FIN FOOTER MODERNIZADO ==================== */

.parallax-section{position:relative;overflow:hidden;isolation:isolate;background:0 0!important}
/* parallax overlays adjusted to dark neutrals (positions/transform preserved) */
.parallax-section .parallax-bg{z-index:-2;background-size:cover;background-position:center center;will-change:transform;transform:translate3d(0,0,0);filter:brightness(.85)}
.parallax-section.alt .parallax-bg{filter:brightness(.9)}
.parallax-section .parallax-overlay{z-index:-1;background:linear-gradient(180deg, rgba(0,0,0,.35) 0, rgba(0,0,0,.15) 40%, rgba(0,0,0,.1) 100%)}
@media (prefers-reduced-motion:reduce){.parallax-section .parallax-bg{transform:none!important}}
@media (max-width:768px){h1{font-size:2.15rem}.final-cta h2{font-size:1.8rem}.flags{flex-direction:column;align-items:center}}
@media (max-width:480px){h1{font-size:1.8rem}.final-cta,.program-section{padding:3rem 0}.final-cta h2{font-size:1.55rem}}
.program-wrap{position:relative;z-index:1;margin-inline:auto;max-width:1100px}
.program-card{background:#fff;border-radius:18px;box-shadow:0 22px 60px rgba(0,0,0,.15);padding:2.2rem 2.4rem}
.parallax-section{padding:7rem 0}
.parallax-section .top-mask{position:absolute;inset:0 auto auto 0;height:120px;width:100%;z-index:0;background:#fff;clip-path:polygon(0 0,100% 0,100% 55%,0 100%);opacity:.96}
.bg-caption,.bg-slab::before{inset:0;inset:0;position:absolute}
.program-card .program-grid{display:grid;grid-template-columns:1fr 1fr;gap:2.2rem;align-items:center}.only-desktop{display:none}
@media (min-width:768px){.only-desktop{display:initial}}
.bg-slab{position:relative;overflow:hidden}
.bg-slab::before{content:"";background:linear-gradient(180deg,rgba(0,0,0,.35),rgba(0,0,0,.2));z-index:1;pointer-events:none}
.bg-caption{inset:0;display:flex;align-items:center;justify-content:center}
.bg-caption.left{justify-content:flex-start}
.bg-caption.center{justify-content:center}
.bg-caption.right{justify-content:flex-end}
.bg-caption .container{width:100%;text-align:center}
.bg-caption h2{color:#fff;font-weight:800;text-transform:uppercase;line-height:1.05;letter-spacing:.02em;font-size:clamp(28px, 6vw, 72px);text-shadow:0 10px 30px rgba(0,0,0,.45);margin:0}
.bg-kicker{display:inline-block;color:#fff;font-weight:700;padding:.35rem .75rem;border:1px solid rgba(255,255,255,.6);border-radius:999px;backdrop-filter:blur(2px);font-size:clamp(12px, 1.8vw, 14px);letter-spacing:.04em}
.program-strip{margin-top:calc(var(--strip-overlap) * -1);margin-bottom:calc(var(--strip-overlap) * -1)}
@media (max-width:992px){.hero-content,.program-card .program-grid{grid-template-columns:1fr;text-align:center}.program-grid{grid-template-columns:1fr;gap:2rem}.program-media{order:1}.program-copy{order:2;text-align:center}:root{--strip-overlap:14vh}}
@media (max-width:600px){:root{--strip-overlap:10vh}}
.bg-caption{z-index:2;display:grid;place-items:center}
.bg-slab:first-of-type .bg-caption{transform:translateY(calc(var(--strip-overlap)/ -2))}
.bg-slab:last-of-type .bg-caption,.bg-slab[data-edge=last] .bg-caption{transform:translateY(calc(var(--strip-overlap)/ 2))}