 :root {
            --primary-color: #5C2E91; /* Morado */
            --seconday-color: #7A1C5A;
            --accent-color: #FFD700; /* Dorado/Amarillo */
            --text-color: #333333; /* Gris Oscuro */
            --light-gray: #f8f9fa; /* Gris Claro para fondos de secciones */
        }
        .bg-primary { background-color: var(--primary-color) !important; }
        .text-primary { color: var(--primary-color) !important; }
        .btn-accent {
            background-color: var(--accent-color);
            border-color: var(--accent-color);
            color: var(--text-color);
            font-weight: bold;
        }
        .btn-accent:hover {
            background-color: #e6c500;
            border-color: #e6c500;
        }
        
        /* Navbar & Logo */
        .navbar-brand .logo-text { font-size: 1.25rem; font-weight: bold; color: var(--primary-color); margin-left: 0.5rem; }
        .navbar-brand .logo-icon { font-size: 2rem; color: var(--primary-color); }
        .nav-link { color: var(--text-color) !important; font-weight: 500; margin: 0 0.5rem; }
        .nav-link.active, .nav-link:hover { color: var(--primary-color) !important; }
        
        /* Carrusel Styles */
        .carousel-item-custom { height: 80vh; min-height: 400px; background-size: cover; background-position: center; position: relative; }
        .carousel-overlay { background-color: rgba(0, 0, 0, 0.45); display: flex; align-items: center; justify-content: flex-start; padding-left: 10%; position: absolute; top: 0; left: 0; right: 0; bottom: 0; }
        .carousel-caption-content { text-align: left; max-width: 600px; }
        .carousel-caption-content h1 { font-size: 3.5rem; font-weight: 700; line-height: 1.1; }
        .carousel-caption-content h2 { font-size: 1.8rem; font-weight: 500; }
        .carousel-indicators [data-bs-target] { background-color: white; opacity: 0.5; width: 10px; height: 10px; border-radius: 50%; }
        .carousel-indicators .active { opacity: 1; background-color: var(--accent-color); }

        /* Impacto Metrics Styles */
        .impact-header h1 { color: var(--text-color); }
        .impact-header span { color: var(--primary-color); }
        .impact-card {
            border: none;
            box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.05);
            border-radius: 0.75rem;
            padding: 2rem 1rem;
            text-align: center;
        }
        .impact-icon-container {
            width: 70px;
            height: 70px;
            border-radius: 50%;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            margin-bottom: 1rem;
            font-size: 1.75rem;
        }
        /* Colores de los íconos */
        .impact-icon-1 { color: #ff0073; background-color: #ffe0eb; } /* Rosa */
        .impact-icon-2 { color: #5C2E91; background-color: #e0d0f7; } /* Morado Claro */
        .impact-icon-3 { color: #00b894; background-color: #e6fff7; } /* Verde Aqua */
        .impact-icon-4 { color: #a29bfe; background-color: #f0f0ff; } /* Morado Púrpura */
        
        .impact-card h2 {
            font-size: 2.25rem;
            font-weight: 800;
            color: var(--text-color);
            margin-bottom: 0.5rem;
        }
        .impact-card p {
            font-size: 1rem;
            color: #6c757d;
        }

        /* Ejes de Acción Cards Styles */
        .page-header { padding: 4rem 0 2rem; text-align: center; }
        .page-header h1 { color: var(--primary-color); font-weight: bold; font-size: 2.5rem; }
        .page-header p { color: var(--text-color); font-size: 1.15rem; margin-top: 0.5rem; }
        .card-custom { border: none; box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.05); border-radius: 0.75rem; overflow: hidden; display: flex; flex-direction: column; height: 100%; }
        .card-img-top-gradient { height: 200px; background-size: cover; background-position: center; position: relative; display: flex; align-items: flex-start; justify-content: flex-start; padding: 1.5rem; border-bottom: 1px solid rgba(0,0,0,.05); }
        .card-img-top-gradient::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; opacity: 0.5; pointer-events: none; }
        .card-img-top-gradient .icon { font-size: 2.5rem; color: white; z-index: 2; background-color: rgba(255, 255, 255, 0.3); border-radius: 50%; width: 50px; height: 50px; display: flex; align-items: center; justify-content: center; }
        .card-salud .card-img-top-gradient::before { background: linear-gradient(to right top, #ff0073, #ff4c94); }
        .card-deporte .card-img-top-gradient::before { background: linear-gradient(to right top, #00c6ff, #0072ff); }
        .card-educacion .card-img-top-gradient::before { background: linear-gradient(to right top, #32cd32, #6be633); }
        .card-body-custom { padding: 1.5rem; flex-grow: 1; display: flex; flex-direction: column; }
        .card-body-custom h5 { color: var(--primary-color); font-weight: bold; margin-bottom: 1rem; }
        .card-body-custom ul { list-style: none; padding-left: 0; margin-bottom: 1.5rem; color: var(--text-color); font-size: 0.9rem; }
        .card-body-custom ul li::before { content: "\f0da"; font-family: "Font Awesome 6 Free"; font-weight: 900; color: var(--primary-color); margin-right: 0.5rem; }
        .card-body-custom .btn-link-custom { color: var(--primary-color); text-decoration: none; font-weight: 600; margin-top: auto; align-self: flex-start; }
        
        /* Últimas Noticias Styles */
        .news-header h1 { color: var(--text-color); }
        .news-header span { color: var(--primary-color); }
        .news-card-tag { font-size: 0.75rem; font-weight: 700; padding: 0.2rem 0.5rem; border-radius: 0.25rem; }
        .tag-salud { background-color: #ffe0eb; color: #ff0073; } 
        .tag-deporte { background-color: #e0f7ff; color: #0072ff; } 
        .tag-educacion { background-color: #e6ffe6; color: #32cd32; } 
        .news-card-date { font-size: 0.75rem; color: #999; margin-left: 0.5rem; }
        .news-read-more { color: var(--primary-color); font-weight: 600; text-decoration: none; }
        .news-read-more:hover { text-decoration: underline; }
        .btn-outline-primary-custom {
            color: var(--primary-color);
            border: 2px solid var(--primary-color);
            font-weight: bold;
            border-radius: 0.5rem;
            padding: 0.75rem 2rem;
        }
        .btn-outline-primary-custom:hover {
            background-color: var(--primary-color);
            color: white;
        }

        /* Final CTA and Footer Styles */
        .cta-section { background-color: var(--primary-color); position: relative; padding: 5rem 0; color: white; text-align: center; overflow: hidden; }
        .cta-title { font-size: 2.5rem; font-weight: 700; color: white; margin-bottom: 1rem; }
        .cta-subtitle { font-size: 1.25rem; margin-bottom: 2rem; }
        .footer-main { background-color: #4A2575; color: white; padding-top: 3rem; }
        .footer-main a { color: white; text-decoration: none; display: block; margin-bottom: 0.5rem; font-size: 0.95rem; }
        .footer-main a:hover { color: var(--accent-color); }
        .footer-main h5 { font-weight: bold; margin-bottom: 1rem; border-bottom: 2px solid rgba(255, 255, 255, 0.2); padding-bottom: 0.5rem; }
        .footer-logo { font-size: 1.5rem; font-weight: bold; display: flex; align-items: center; margin-bottom: 1rem; }
        .footer-bottom { background-color: var(--primary-color); padding: 1rem 0; font-size: 0.85rem; }



        /* HERO Section (Quienes Somos) */
        .hero-quienes-somos {
            background-color: var(--primary-color);
            position: relative;
            padding: 8rem 0 4rem;
            color: white;
            text-align: center;
            /* Usar imagen de fondo similar al diseño */
            background-image: url('placeholder-fondo-quienes-somos.jpg'); 
            background-size: cover;
            background-position: center;
        }
        .hero-quienes-somos::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background-color: rgba(92, 46, 145, 0.7); /* Morado con opacidad */
            z-index: 1;
        }
        .hero-quienes-somos .container { position: relative; z-index: 2; }
        .hero-quienes-somos h1 { font-size: 3rem; font-weight: bold; margin-bottom: 0.5rem; }

        /* Historia, Misión y Visión Cards */
        .section-history h2 { font-weight: bold; color: var(--text-color); margin-bottom: 0.5rem; }
        .section-history span { color: var(--primary-color); }
        .section-history p { color: #6c757d; font-size: 1.05rem; line-height: 1.6; }
        
        .card-mission-vision { border: 1px solid #eee; box-shadow: 0 0.25rem 1rem rgba(0, 0, 0, 0.05); border-radius: 0.75rem; padding: 2rem; height: 100%; }
        .mv-icon-container { width: 60px; height: 60px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; margin-bottom: 1rem; font-size: 1.75rem; }
        .mv-icon-container.mission { color: var(--primary-color); background-color: #f0e6ff; } /* Similar al morado pastel */
        .mv-icon-container.vision { color: #FFD700; background-color: #fff9e6; } /* Similar al amarillo pastel */
        .card-mission-vision h4 { font-weight: bold; color: var(--text-color); margin-bottom: 0.75rem; }
        .card-mission-vision p { color: #6c757d; font-size: 0.95rem; }

        /* Valores Cards */
        .section-valores .card {
            border: none;
            box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.05);
            padding: 1.5rem 1rem;
            text-align: center;
            border-radius: 0.75rem;
            height: 100%;
        }
        .valor-icon {
            width: 50px;
            height: 50px;
            border-radius: 50%;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            font-size: 1.5rem;
            margin-bottom: 0.75rem;
        }
        /* Ajuste de colores de íconos para simular el diseño */
        .valor-service .valor-icon { background-color: #ffeff3; color: #ff0073; } /* Rosa */
        .valor-compromiso .valor-icon { background-color: #f0e6ff; color: #5C2E91; } /* Morado */
        .valor-excelencia .valor-icon { background-color: #e0f7ff; color: #0072ff; } /* Azul */
        .valor-innovacion .valor-icon { background-color: #fff9e6; color: #FFD700; } /* Amarillo */

        .section-valores h5 { font-weight: bold; color: var(--text-color); font-size: 1.15rem; }
        .section-valores p { font-size: 0.9rem; color: #6c757d; }

        /* Ejes de Acción Section */
        .section-ejes-accion { padding-top: 5rem; }
        .eje-card {
            border: 1px solid #eee;
            border-radius: 0.75rem;
            overflow: hidden;
            box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.05);
            height: 100%;
        }
        .eje-card-header {
            background-color: var(--primary-color);
            color: white;
            padding: 1.5rem;
            display: flex;
            align-items: center;
        }
        .eje-icon { font-size: 2rem; margin-right: 1rem; }
        .eje-card-body { padding: 1.5rem; }
        .eje-card-body h5 { color: var(--primary-color); font-weight: bold; margin-bottom: 1rem; }
        .eje-card-body ul { list-style: none; padding-left: 0; }
        .eje-card-body ul li { margin-bottom: 0.5rem; color: #6c757d; }
        .eje-card-body ul li::before { content: "\f058"; font-family: "Font Awesome 6 Free"; font-weight: 900; color: #5C2E91; margin-right: 0.5rem; }

        /* Mensaje del Fundador */
        .founder-message { background-color: var(--light-gray); padding: 4rem 0; }
        .founder-card-photo {
            background-color: var(--primary-color);
            color: white;
            padding: 2rem;
            border-radius: 0.75rem;
            display: flex;
            flex-direction: column;
            align-items: center;
            text-align: center;
            height: 100%;
        }
        .founder-card-photo .founder-icon {
            font-size: 4rem;
            color: white;
            margin-bottom: 1rem;
            background-color: rgba(255, 255, 255, 0.2);
            border-radius: 50%;
            width: 100px;
            height: 100px;
            display: flex;
            align-items: center;
            justify-content: center;
        }
        .founder-card-photo h4 { font-weight: bold; margin-bottom: 0; }
        .founder-card-text {
            border: 1px solid #ddd;
            border-radius: 0.75rem;
            padding: 2rem;
            background-color: white;
            box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.05);
            height: 100%;
        }
        .founder-card-text blockquote {
            font-style: italic;
            border-left: 3px solid var(--accent-color);
            padding-left: 1rem;
            margin-bottom: 1.5rem;
            color: var(--text-color);
        }
        .founder-signature p { margin: 0; line-height: 1.2; }
        .founder-signature .name { font-weight: bold; color: var(--primary-color); }