        :root {
            --primary-blue: #003B6D;
            --primary-blue-light: #0056A3;
            --accent-orange: #F5A623;
            --accent-yellow: #FFD700;
            --white: #FFFFFF;
            --light-gray: #F8F9FA;
            --dark-gray: #333333;
            --text-gray: #666666;
        }

        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        html, body {
            overflow-x: hidden;
            max-width: 100%;
        }

        body {
            font-family: 'Montserrat', sans-serif;
            color: var(--dark-gray);
            line-height: 1.7;
            font-size: 1.05rem;
        }

        /* ===== HEADER ===== */
        .top-bar {
            background: var(--primary-blue);
            color: var(--white);
            padding: 8px 0;
            font-size: 0.85rem;
        }

        .top-bar .container {
            display: flex;
            justify-content: space-between;
            align-items: center;
        }

        .top-bar a {
            color: var(--white);
            text-decoration: none;
            margin-left: 20px;
            transition: opacity 0.3s;
        }

        .top-bar a:hover {
            opacity: 0.8;
        }

        .top-bar .social-links i {
            margin-left: 15px;
            font-size: 1rem;
        }

        header {
            background: var(--white);
            box-shadow: 0 2px 20px rgba(0,0,0,0.1);
            position: sticky;
            top: 0;
            z-index: 1000;
        }

        .container {
            max-width: 1400px;
            margin: 0 auto;
            padding: 0 20px;
        }

        .header-main {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 15px 0;
        }

        .logo {
            display: flex;
            align-items: center;
            text-decoration: none;
        }

        .logo-img {
            height: 48px;
            width: auto;
            object-fit: contain;
            display: block;
        }

        nav ul {
            display: flex;
            list-style: none;
            gap: 35px;
        }

        nav a {
            text-decoration: none;
            color: var(--dark-gray);
            font-weight: 500;
            font-size: 0.95rem;
            transition: color 0.3s;
            position: relative;
        }

        nav a:hover {
            color: var(--primary-blue);
        }

        nav a::after {
            content: '';
            position: absolute;
            bottom: -5px;
            left: 0;
            width: 0;
            height: 2px;
            background: var(--accent-orange);
            transition: width 0.3s;
        }

        nav a:hover::after {
            width: 100%;
        }

        .header-buttons {
            display: flex;
            gap: 10px;
            align-items: center;
        }

        .header-cta {
            padding: 10px 22px;
            font-size: 0.85rem;
            white-space: nowrap;
            animation: pulse-cta 2s infinite;
        }

        @keyframes pulse-cta {
            0%, 100% { box-shadow: 0 0 0 0 rgba(245, 166, 35, 0.4); }
            50% { box-shadow: 0 0 0 8px rgba(245, 166, 35, 0); }
        }

        /* Dropdown Menu */
        .dropdown {
            position: relative;
        }

        .dropdown-toggle {
            display: flex;
            align-items: center;
            gap: 8px;
            padding: 12px 25px;
            border-radius: 30px;
            font-weight: 600;
            font-size: 0.9rem;
            text-decoration: none;
            cursor: pointer;
            border: 2px solid var(--primary-blue);
            background: var(--primary-blue);
            color: var(--white);
            transition: all 0.3s;
        }

        .dropdown-toggle:hover {
            background: var(--primary-blue-light);
            border-color: var(--primary-blue-light);
        }

        .dropdown-toggle i {
            transition: transform 0.3s;
        }

        .dropdown:hover .dropdown-toggle i {
            transform: rotate(180deg);
        }

        .dropdown-menu {
            position: absolute;
            top: 100%;
            right: 0;
            min-width: 220px;
            background: var(--white);
            border-radius: 15px;
            box-shadow: 0 10px 40px rgba(0,0,0,0.15);
            opacity: 0;
            visibility: hidden;
            transform: translateY(10px);
            transition: all 0.3s;
            z-index: 1001;
            overflow: hidden;
            margin-top: 10px;
        }

        .dropdown:hover .dropdown-menu {
            opacity: 1;
            visibility: visible;
            transform: translateY(0);
        }

        .dropdown-menu a {
            display: flex;
            align-items: center;
            gap: 12px;
            padding: 15px 20px;
            color: var(--dark-gray);
            text-decoration: none;
            font-weight: 500;
            font-size: 0.9rem;
            transition: all 0.3s;
            border-bottom: 1px solid #f0f0f0;
        }

        .dropdown-menu a:last-child {
            border-bottom: none;
        }

        .dropdown-menu a:hover {
            background: var(--light-gray);
            color: var(--primary-blue);
            padding-left: 25px;
        }

        .dropdown-menu a i {
            width: 20px;
            color: var(--accent-orange);
        }

        .btn {
            padding: 12px 25px;
            border-radius: 30px;
            font-weight: 600;
            font-size: 0.9rem;
            text-decoration: none;
            transition: all 0.3s;
            cursor: pointer;
            border: none;
        }

        .btn-outline {
            border: 2px solid var(--primary-blue);
            color: var(--primary-blue);
            background: transparent;
        }

        .btn-outline:hover {
            background: var(--primary-blue);
            color: var(--white);
        }

        .btn-primary {
            background: var(--primary-blue);
            color: var(--white);
        }

        .btn-primary:hover {
            background: var(--primary-blue-light);
            transform: translateY(-2px);
            box-shadow: 0 5px 20px rgba(0,59,109,0.3);
        }

        .btn-orange {
            background: linear-gradient(135deg, var(--accent-orange), #FF8C00);
            color: var(--white);
        }

        .btn-orange:hover {
            transform: translateY(-2px);
            box-shadow: 0 5px 20px rgba(245,166,35,0.4);
        }

        /* ===== HERO SECTION ===== */
        .hero {
            position: relative;
            min-height: 85vh;
            background: linear-gradient(135deg, var(--primary-blue) 0%, var(--primary-blue-light) 50%, #0077BE 100%);
            overflow: hidden;
            display: flex;
            align-items: center;
        }

        .hero-wave {
            position: absolute;
            bottom: 0;
            left: 0;
            width: 100%;
            height: 150px;
        }

        .hero-wave svg {
            width: 100%;
            height: 100%;
        }

        .hero-pattern {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            opacity: 0.1;
            background-image: 
                radial-gradient(circle at 20% 50%, rgba(255,255,255,0.3) 0%, transparent 50%),
                radial-gradient(circle at 80% 20%, rgba(255,255,255,0.2) 0%, transparent 40%);
        }

        .hero-content {
            position: relative;
            z-index: 10;
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 60px;
            align-items: center;
            padding: 80px 0;
        }

        .hero-text {
            color: var(--white);
            opacity: 0;
            transform: translateY(30px);
            transition: opacity 0.8s cubic-bezier(.22,1,.36,1), transform 0.8s cubic-bezier(.22,1,.36,1);
        }

        .hero-text.entered {
            opacity: 1;
            transform: translateY(0);
        }

        .hero-badge {
            display: inline-block;
            background: rgba(255,255,255,0.15);
            backdrop-filter: blur(10px);
            padding: 10px 25px;
            border-radius: 30px;
            font-size: 1.1rem;
            font-weight: 600;
            letter-spacing: 1px;
            margin-bottom: 20px;
            border: 1px solid rgba(255,255,255,0.2);
        }

        .hero-title {
            font-family: 'Archivo Black', 'Playfair Display', serif;
            font-size: 4.5rem;
            font-weight: 700;
            line-height: 1.05;
            margin-bottom: 25px;
            text-shadow: 2px 2px 4px rgba(0,0,0,0.2);
            text-transform: uppercase;
            letter-spacing: 2px;
        }

        .hero-title span {
            color: var(--accent-orange);
        }

        .hero-description {
            font-size: 1.25rem;
            opacity: 0.9;
            margin-bottom: 35px;
            line-height: 1.8;
        }

        .hero-buttons {
            display: flex;
            gap: 15px;
            flex-wrap: wrap;
        }

        .hero-image {
            position: relative;
            opacity: 0;
            transform: translateX(40px);
            transition: opacity 0.8s cubic-bezier(.22,1,.36,1) 0.2s, transform 0.8s cubic-bezier(.22,1,.36,1) 0.2s;
        }

        .hero-image.entered {
            opacity: 1;
            transform: translateX(0);
        }

        .hero-image-wrapper {
            position: relative;
            display: flex;
            justify-content: center;
            align-items: center;
        }

        .hero-img-card {
            background: var(--white);
            border-radius: 20px;
            padding: 12px;
            box-shadow: 0 20px 60px rgba(0,0,0,0.3);
            animation: float 6s ease-in-out infinite;
            display: inline-block;
            line-height: 0;
        }

        .hero-img-card img {
            display: block;
            width: auto;
            height: auto;
            max-width: 100%;
            max-height: 460px;
            border-radius: 15px;
        }

        @keyframes float {
            0%, 100% { transform: translateY(0); }
            50% { transform: translateY(-20px); }
        }

        /* ===== HERO CARD LABELS ===== */
        .hero-img-card {
            position: relative;
            text-decoration: none;
            color: var(--white);
        }

        .hero-img-label {
            position: absolute;
            bottom: 12px;
            left: 12px;
            right: 12px;
            background: rgba(0,0,0,0.6);
            backdrop-filter: blur(6px);
            color: var(--white);
            font-size: 0.78rem;
            font-weight: 600;
            padding: 8px 12px;
            border-radius: 10px;
            line-height: 1.3;
            opacity: 0;
            transform: translateY(6px);
            transition: opacity 0.3s, transform 0.3s;
        }

        .hero-img-card:hover .hero-img-label {
            opacity: 1;
            transform: translateY(0);
        }

        /* ===== ABOUT SECTION ===== */
        .about {
            padding: 100px 0;
            background: var(--white);
        }

        .about-grid {
            display: grid;
            grid-template-columns: 1fr 1.2fr;
            gap: 80px;
            align-items: center;
        }

        .about-image {
            position: relative;
        }

        .about-image-main {
            position: relative;
            z-index: 2;
        }

        .about-image-main img {
            width: 100%;
            border-radius: 20px;
            box-shadow: 0 20px 60px rgba(0,0,0,0.15);
        }

        .about-logo-badge {
            position: absolute;
            top: -30px;
            left: -30px;
            background: var(--white);
            padding: 20px;
            border-radius: 20px;
            box-shadow: 0 10px 40px rgba(0,0,0,0.1);
            z-index: 3;
        }

        .about-logo-badge img {
            width: 80px;
        }

        .section-subtitle {
            display: block;
            color: var(--accent-orange);
            font-weight: 600;
            font-size: 0.9rem;
            text-transform: uppercase;
            letter-spacing: 2px;
            margin-bottom: 15px;
        }

        .section-title {
            font-family: 'Archivo Black', 'Playfair Display', serif;
            font-size: 3rem;
            color: var(--primary-blue);
            margin-bottom: 25px;
            line-height: 1.2;
            letter-spacing: 1px;
        }

        .about-text p {
            color: var(--text-gray);
            margin-bottom: 20px;
            font-size: 1.15rem;
        }

        .about-stats {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 30px;
            margin-top: 40px;
        }

        .stat-item {
            text-align: center;
            padding: 25px;
            background: var(--light-gray);
            border-radius: 15px;
            transition: transform 0.3s, box-shadow 0.3s;
        }

        .stat-item:hover {
            transform: translateY(-5px);
            box-shadow: 0 10px 30px rgba(0,0,0,0.1);
        }

        .stat-number {
            font-size: 2.5rem;
            font-weight: 800;
            color: var(--primary-blue);
            display: block;
        }

        .stat-label {
            font-size: 0.9rem;
            color: var(--text-gray);
        }

        /* ===== MISSION VISION VALUES ===== */
        .mvv {
            padding: 100px 0;
            background: linear-gradient(180deg, var(--light-gray) 0%, var(--white) 100%);
        }

        .mvv-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 40px;
        }

        .mvv-card {
            text-align: center;
            padding: 50px 35px;
            background: var(--white);
            border-radius: 25px;
            box-shadow: 0 10px 40px rgba(0,0,0,0.08);
            transition: transform 0.3s, box-shadow 0.3s;
            position: relative;
            overflow: hidden;
        }

        .mvv-card::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 5px;
            background: linear-gradient(90deg, var(--primary-blue), var(--accent-orange));
        }

        .mvv-card:hover {
            transform: translateY(-10px);
            box-shadow: 0 20px 60px rgba(0,0,0,0.15);
        }

        .mvv-icon {
            width: 100px;
            height: 100px;
            background: linear-gradient(135deg, var(--primary-blue), var(--primary-blue-light));
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            margin: 0 auto 25px;
            font-size: 2.5rem;
            color: var(--white);
            position: relative;
        }

        .mvv-icon::after {
            content: '';
            position: absolute;
            width: 120px;
            height: 120px;
            border: 2px dashed var(--primary-blue);
            border-radius: 50%;
            opacity: 0.3;
            animation: rotate 20s linear infinite;
        }

        @keyframes rotate {
            from { transform: rotate(0deg); }
            to { transform: rotate(360deg); }
        }

        .mvv-card h3 {
            font-size: 1.5rem;
            color: var(--primary-blue);
            margin-bottom: 20px;
            font-weight: 700;
        }

        .mvv-card p {
            color: var(--text-gray);
            font-size: 0.95rem;
            line-height: 1.8;
        }

        /* ===== PLAN DE CARRERA ===== */
        .career-plan {
            padding: 100px 0;
            background: var(--primary-blue);
            position: relative;
            overflow: hidden;
        }

        .career-plan::before {
            content: '';
            position: absolute;
            top: -50%;
            right: -20%;
            width: 600px;
            height: 600px;
            background: radial-gradient(circle, rgba(255,255,255,0.1) 0%, transparent 70%);
            border-radius: 50%;
        }

        .career-content {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 80px;
            align-items: center;
            position: relative;
            z-index: 2;
        }

        .career-text {
            color: var(--white);
        }

        .career-text .section-subtitle {
            color: var(--accent-orange);
        }

        .career-text .section-title {
            color: var(--white);
        }

        .career-text p {
            opacity: 0.9;
            margin-bottom: 30px;
            font-size: 1.05rem;
        }

        .partner-logos {
            display: flex;
            gap: 30px;
            align-items: center;
            margin-top: 30px;
            flex-wrap: wrap;
        }

        .partner-logo {
            background: var(--white);
            padding: 15px 25px;
            border-radius: 10px;
            display: flex;
            align-items: center;
            gap: 10px;
            font-weight: 700;
            color: var(--dark-gray);
        }

        .career-image {
            position: relative;
        }

        .career-image img {
            width: 100%;
            border-radius: 20px;
            box-shadow: 0 20px 60px rgba(0,0,0,0.3);
        }

        .career-badge {
            position: absolute;
            top: -20px;
            right: -20px;
            background: linear-gradient(135deg, var(--accent-orange), #FF8C00);
            color: var(--white);
            padding: 20px 30px;
            border-radius: 15px;
            font-weight: 700;
            font-size: 1.1rem;
            box-shadow: 0 10px 30px rgba(245,166,35,0.4);
        }

        /* ===== OFERTAS EDUCATIVAS ===== */
        .programs {
            padding: 100px 0;
            background: url('../img/Portada/Banner 1.png') center center / 100% 100% no-repeat;
            position: relative;
        }
        .programs::before {
            content: '';
            position: absolute;
            inset: 0;
            background: rgba(255,255,255,0.88);
            z-index: 0;
        }
        .programs > .container {
            position: relative;
            z-index: 1;
        }

        .programs-header {
            text-align: center;
            max-width: 700px;
            margin: 0 auto 60px;
        }

        .programs-grid {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 25px;
        }

        .program-card {
            background: var(--white);
            border-radius: 20px;
            overflow: hidden;
            box-shadow: 0 10px 40px rgba(0,0,0,0.08);
            transition: transform 0.3s, box-shadow 0.3s;
            border: 1px solid rgba(0,0,0,0.05);
        }

        .program-card:hover {
            transform: translateY(-10px);
            box-shadow: 0 20px 60px rgba(0,0,0,0.15);
        }

        .program-image {
            position: relative;
            height: 200px;
            overflow: hidden;
        }

        .program-image img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform 0.5s;
        }

        .program-card:hover .program-image img {
            transform: scale(1.1);
        }

        .program-badge {
            position: absolute;
            top: 15px;
            left: 15px;
            background: var(--accent-orange);
            color: var(--white);
            padding: 5px 15px;
            border-radius: 20px;
            font-size: 0.8rem;
            font-weight: 600;
        }

        .program-content {
            padding: 30px;
        }

        .program-content h3 {
            font-size: 1.2rem;
            color: var(--primary-blue);
            margin-bottom: 15px;
            font-weight: 700;
        }

        .program-content p {
            color: var(--text-gray);
            font-size: 0.95rem;
            margin-bottom: 15px;
            line-height: 1.7;
        }

        .program-meta {
            display: flex;
            align-items: center;
            gap: 15px;
            margin-bottom: 15px;
        }

        .program-duration {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            color: var(--primary-blue);
            font-size: 0.85rem;
            font-weight: 500;
            background: rgba(0, 59, 109, 0.08);
            padding: 5px 12px;
            border-radius: 20px;
        }

        .program-duration i {
            font-size: 0.8rem;
        }

        .program-link {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            color: var(--primary-blue);
            font-weight: 600;
            text-decoration: none;
            transition: gap 0.3s;
        }

        .program-link:hover {
            gap: 15px;
        }

        /* También ofrecemos (home) */
        .programs-also {
            margin-top: 50px;
            padding: 30px 35px;
            background: var(--light-gray);
            border-radius: 20px;
        }
        .programs-also h3 {
            font-size: 1.1rem;
            color: var(--primary-blue);
            margin-bottom: 20px;
            display: flex;
            align-items: center;
            gap: 10px;
        }
        .programs-also h3 i {
            color: var(--accent-orange);
        }
        .programs-also-grid {
            display: flex;
            flex-wrap: wrap;
            gap: 12px;
        }
        .also-item {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            padding: 10px 18px;
            background: var(--white);
            border-radius: 10px;
            text-decoration: none;
            color: var(--dark-gray);
            font-size: 0.9rem;
            font-weight: 500;
            border: 1px solid #eee;
            transition: all 0.3s;
        }
        .also-item:hover {
            border-color: var(--primary-blue);
            color: var(--primary-blue);
            transform: translateY(-2px);
            box-shadow: 0 4px 15px rgba(0,0,0,0.08);
        }
        .also-item i {
            color: var(--primary-blue);
            font-size: 0.9rem;
        }

        .programs-cta {
            text-align: center;
            margin-top: 40px;
        }
        .btn-outline-blue {
            border: 2px solid var(--primary-blue);
            color: var(--primary-blue);
            background: transparent;
            padding: 14px 30px;
            border-radius: 30px;
            font-weight: 600;
            font-size: 1rem;
            text-decoration: none;
            display: inline-flex;
            align-items: center;
            gap: 10px;
            transition: all 0.3s;
        }
        .btn-outline-blue:hover {
            background: var(--primary-blue);
            color: var(--white);
            transform: translateY(-2px);
        }

        @media (max-width: 768px) {
            .programs-also { padding: 20px; }
            .programs-also-grid { gap: 8px; }
            .also-item { font-size: 0.82rem; padding: 8px 14px; }
        }

        /* ===== CAMPUS VIRTUAL ===== */
        .campus {
            padding: 100px 0;
            background: linear-gradient(135deg, var(--primary-blue) 0%, #001F3F 100%);
            position: relative;
            overflow: hidden;
        }

        .campus::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
        }

        .campus-content {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 80px;
            align-items: center;
            position: relative;
            z-index: 2;
        }

        .campus-text {
            color: var(--white);
        }

        .campus-text .section-title {
            color: var(--white);
        }

        .campus-text p {
            opacity: 0.9;
            margin-bottom: 30px;
            font-size: 1.1rem;
        }

        .campus-features {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 20px;
            margin-top: 40px;
        }

        .campus-feature {
            display: flex;
            align-items: center;
            gap: 15px;
            padding: 15px 20px;
            background: rgba(255,255,255,0.1);
            border-radius: 12px;
            backdrop-filter: blur(10px);
        }

        .campus-feature i {
            color: var(--accent-orange);
            font-size: 1.5rem;
        }

        .campus-feature span {
            font-weight: 500;
        }

        .campus-image {
            position: relative;
        }

        .campus-image img {
            width: 100%;
            border-radius: 20px;
            box-shadow: 0 20px 60px rgba(0,0,0,0.4);
        }

        /* ===== NIVELES EDUCATIVOS SLIDER ===== */
        .levels {
            padding: 100px 0;
            background: var(--light-gray);
        }

        .levels-slider {
            display: flex;
            gap: 30px;
            overflow-x: auto;
            padding: 20px 0;
            scroll-snap-type: x mandatory;
        }

        .level-card {
            display: block;
            min-width: 400px;
            background: var(--white);
            border-radius: 25px;
            overflow: hidden;
            box-shadow: 0 10px 40px rgba(0,0,0,0.1);
            scroll-snap-align: start;
            transition: transform 0.3s;
        }

        .level-card:hover {
            transform: scale(1.02);
        }

        .level-image {
            position: relative;
            height: 250px;
        }

        .level-image img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        .level-overlay {
            position: absolute;
            bottom: 0;
            left: 0;
            right: 0;
            padding: 30px;
            background: linear-gradient(transparent, rgba(0,59,109,0.9));
            color: var(--white);
        }

        .level-overlay h3 {
            font-size: 1.8rem;
            font-weight: 700;
            margin-bottom: 10px;
        }

        .level-overlay p {
            font-size: 0.95rem;
            opacity: 0.9;
        }

        /* ===== PARTNERS ===== */
        .partners {
            padding: 60px 0;
            background: var(--white);
            border-top: 1px solid rgba(0,0,0,0.05);
        }

        .partners-title {
            text-align: center;
            font-size: 1rem;
            color: var(--text-gray);
            margin-bottom: 40px;
            text-transform: uppercase;
            letter-spacing: 2px;
        }

        .partners-logos {
            display: flex;
            justify-content: center;
            align-items: center;
            gap: 60px;
            flex-wrap: wrap;
        }

        .partners-logos img {
            height: 50px;
            opacity: 0.6;
            transition: opacity 0.3s;
            filter: grayscale(100%);
        }

        .partners-logos img:hover {
            opacity: 1;
            filter: grayscale(0%);
        }

        /* ===== CONTACT FORM ===== */
        .contact {
            padding: 100px 0;
            background: linear-gradient(135deg, #F8F9FA 0%, #E9ECEF 100%);
        }

        .contact-grid {
            display: grid;
            grid-template-columns: 1fr 1.2fr;
            gap: 80px;
            align-items: center;
        }

        .contact-image img {
            width: 100%;
            border-radius: 20px;
            box-shadow: 0 20px 60px rgba(0,0,0,0.15);
        }

        .contact-form {
            background: var(--white);
            padding: 50px;
            border-radius: 25px;
            box-shadow: 0 10px 40px rgba(0,0,0,0.1);
        }

        .contact-form h3 {
            font-size: 1.8rem;
            color: var(--primary-blue);
            margin-bottom: 10px;
        }

        .contact-form > p {
            color: var(--text-gray);
            margin-bottom: 30px;
        }

        .form-row {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 20px;
            margin-bottom: 20px;
        }

        .form-group {
            margin-bottom: 20px;
        }

        .form-group label {
            display: block;
            font-weight: 600;
            color: var(--dark-gray);
            margin-bottom: 8px;
            font-size: 0.9rem;
        }

        .form-group input,
        .form-group select {
            width: 100%;
            padding: 15px 20px;
            border: 2px solid #E9ECEF;
            border-radius: 12px;
            font-size: 1rem;
            font-family: 'Montserrat', sans-serif;
            transition: border-color 0.3s, box-shadow 0.3s;
        }

        .form-group input:focus,
        .form-group select:focus {
            outline: none;
            border-color: var(--primary-blue);
            box-shadow: 0 0 0 4px rgba(0,59,109,0.1);
        }

        .form-checkbox {
            display: flex;
            flex-wrap: wrap;
            gap: 20px;
            margin-bottom: 30px;
        }

        .form-checkbox label {
            display: flex;
            align-items: center;
            gap: 10px;
            cursor: pointer;
        }

        .form-checkbox input[type="checkbox"] {
            width: 20px;
            height: 20px;
            accent-color: var(--primary-blue);
        }

        .contact-form .btn {
            width: 100%;
            padding: 18px;
            font-size: 1.1rem;
        }

        /* ===== FOOTER ===== */
        footer {
            background: var(--primary-blue);
            color: var(--white);
            padding: 80px 0 30px;
        }

        .footer-grid {
            display: grid;
            grid-template-columns: 1.5fr 1fr 1fr 1.2fr;
            gap: 60px;
            margin-bottom: 60px;
        }

        .footer-about .logo {
            margin-bottom: 20px;
        }

        .footer-about .logo-text {
            color: var(--white);
        }

        .footer-about p {
            opacity: 0.8;
            line-height: 1.8;
            margin-bottom: 25px;
        }

        .footer-social {
            display: flex;
            gap: 15px;
        }

        .footer-social a {
            width: 45px;
            height: 45px;
            background: rgba(255,255,255,0.1);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            color: var(--white);
            text-decoration: none;
            transition: background 0.3s, transform 0.3s;
        }

        .footer-social a:hover {
            background: var(--accent-orange);
            transform: translateY(-3px);
        }

        .footer-title {
            font-size: 1.2rem;
            font-weight: 700;
            margin-bottom: 25px;
            position: relative;
            padding-bottom: 15px;
        }

        .footer-title::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 0;
            width: 40px;
            height: 3px;
            background: var(--accent-orange);
        }

        .footer-links {
            list-style: none;
        }

        .footer-links li {
            margin-bottom: 15px;
        }

        .footer-links a {
            color: rgba(255,255,255,0.8);
            text-decoration: none;
            transition: color 0.3s, padding-left 0.3s;
        }

        .footer-links a:hover {
            color: var(--accent-orange);
            padding-left: 10px;
        }

        .footer-contact-item {
            display: flex;
            align-items: flex-start;
            gap: 15px;
            margin-bottom: 20px;
        }

        .footer-contact-item i {
            color: var(--accent-orange);
            font-size: 1.2rem;
            margin-top: 3px;
        }

        .footer-contact-item span {
            opacity: 0.9;
        }

        .footer-bottom {
            text-align: center;
            padding-top: 30px;
            border-top: 1px solid rgba(255,255,255,0.1);
            opacity: 0.7;
            font-size: 0.9rem;
        }

        /* ===== WHATSAPP FLOAT ===== */
        .whatsapp-float {
            position: fixed;
            bottom: 30px;
            right: 30px;
            width: 60px;
            height: 60px;
            background: #25D366;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            color: var(--white);
            font-size: 2rem;
            text-decoration: none;
            box-shadow: 0 5px 25px rgba(37,211,102,0.4);
            z-index: 999;
            transition: transform 0.3s, box-shadow 0.3s;
        }

        .whatsapp-float:hover {
            transform: scale(1.1);
            box-shadow: 0 8px 35px rgba(37,211,102,0.5);
        }

        .whatsapp-float__ring {
            position: absolute;
            inset: -6px;
            border: 2.5px solid #25D366;
            border-radius: 50%;
            animation: wa-pulse 2s ease-out infinite;
            opacity: 0;
        }

        @keyframes wa-pulse {
            0% { transform: scale(0.8); opacity: 0.6; }
            100% { transform: scale(1.6); opacity: 0; }
        }

        /* ===== VIDEO MODAL ===== */
        .video-modal {
            position: fixed;
            inset: 0;
            z-index: 10000;
            display: flex;
            align-items: center;
            justify-content: center;
            opacity: 0;
            visibility: hidden;
            transition: opacity 0.4s, visibility 0.4s;
        }

        .video-modal.active {
            opacity: 1;
            visibility: visible;
        }

        .video-modal__backdrop {
            position: absolute;
            inset: 0;
            background: rgba(0, 0, 0, 0.85);
            backdrop-filter: blur(6px);
        }

        .video-modal__content {
            position: relative;
            width: 90%;
            max-width: 900px;
            transform: scale(0.9) translateY(20px);
            transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
        }

        .video-modal.active .video-modal__content {
            transform: scale(1) translateY(0);
        }

        .video-modal__wrapper {
            border-radius: 12px;
            overflow: hidden;
            box-shadow: 0 25px 80px rgba(0, 0, 0, 0.5);
        }

        .video-modal__close {
            position: absolute;
            top: -44px;
            right: 0;
            background: none;
            border: none;
            color: #fff;
            font-size: 2.2rem;
            cursor: pointer;
            width: 40px;
            height: 40px;
            display: flex;
            align-items: center;
            justify-content: center;
            opacity: 0.7;
            transition: opacity 0.3s, transform 0.3s;
        }

        .video-modal__close:hover {
            opacity: 1;
            transform: scale(1.2);
        }

        /* ===== MOBILE MENU ===== */
        .mobile-menu-btn {
            display: none;
            background: none;
            border: none;
            font-size: 1.5rem;
            color: var(--primary-blue);
            cursor: pointer;
        }
        .mobile-cta-buttons {
            display: none;
        }

        /* ===== RESPONSIVE ===== */
        @media (max-width: 1024px) {
            .hero-content,
            .about-grid,
            .career-content,
            .campus-content,
            .contact-grid,
            .footer-grid {
                grid-template-columns: 1fr;
                gap: 40px;
            }

            .hero-title {
                font-size: 3.5rem;
            }

            .mvv-grid,
            .programs-grid {
                grid-template-columns: repeat(2, 1fr);
            }

            .hero-image {
                order: 1;
            }

            .hero-image-wrapper {
                justify-content: center;
                flex-wrap: wrap;
            }
        }

        @media (max-width: 768px) {
            .top-bar {
                display: none;
            }

            .mobile-menu-btn {
                display: block;
            }

            nav {
                display: none;
                position: absolute;
                top: 100%;
                left: 0;
                right: 0;
                background: var(--white);
                box-shadow: 0 10px 30px rgba(0,0,0,0.15);
                z-index: 1000;
            }

            nav.active {
                display: block;
            }

            nav ul {
                flex-direction: column;
                padding: 15px 20px;
            }

            nav ul li a {
                padding: 12px 15px;
                display: block;
                border-bottom: 1px solid #eee;
                font-size: 1rem;
            }

            .mobile-cta-buttons {
                display: flex;
                flex-direction: column;
                gap: 10px;
                padding: 15px 20px;
                border-top: 2px solid var(--primary-blue);
            }

            .mobile-cta-buttons .btn {
                text-align: center;
                width: 100%;
            }

            .mobile-cta-buttons .btn-whatsapp-mobile {
                background: #25D366;
                color: var(--white);
                padding: 12px 20px;
                border-radius: 10px;
                text-decoration: none;
                font-weight: 600;
                display: flex;
                align-items: center;
                justify-content: center;
                gap: 8px;
            }

            .header-buttons {
                display: none;
            }

            .hero {
                min-height: auto;
                overflow: hidden;
            }

            .hero-content {
                padding: 40px 0;
                gap: 30px;
            }

            .hero-title {
                font-size: 1.8rem;
                letter-spacing: 0.5px;
                word-break: break-word;
            }

            .hero-description {
                font-size: 1rem;
            }

            .hero-image {
                order: 1;
            }

            .hero-img-card {
                padding: 8px;
                border-radius: 14px;
                box-shadow: 0 10px 30px rgba(0,0,0,0.25);
            }

            .hero-img-card img {
                max-height: 280px;
                border-radius: 10px;
            }

            .section-title {
                font-size: 2rem;
            }

            .about-image {
                overflow: hidden;
            }

            .about-logo-badge {
                top: -15px;
                left: 0;
            }

            .about-grid {
                gap: 40px;
            }

            .career-badge {
                right: 10px;
                top: -10px;
                padding: 15px 20px;
                font-size: 0.95rem;
            }

            .career-image {
                overflow: hidden;
            }

            .mvv-grid,
            .programs-grid {
                grid-template-columns: 1fr;
            }

            .form-row {
                grid-template-columns: 1fr;
            }

            .about-stats {
                grid-template-columns: 1fr;
            }

            .campus-features {
                grid-template-columns: 1fr;
            }

            .footer-grid {
                grid-template-columns: 1fr;
                gap: 40px;
            }

            .level-card {
                min-width: 280px;
            }

            .contact-form {
                padding: 30px;
            }
        }

        /* ===== DIFFERENTIATORS ===== */
        .differentiators {
            padding: 60px 0;
            background: var(--light-gray);
        }

        .diff-grid {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 30px;
        }

        .diff-card {
            text-align: center;
            padding: 40px 25px;
            background: var(--white);
            border-radius: 20px;
            box-shadow: 0 5px 25px rgba(0,0,0,0.06);
            transition: transform 0.3s;
        }

        .diff-card:hover {
            transform: translateY(-8px);
        }

        .diff-icon {
            width: 70px;
            height: 70px;
            margin: 0 auto 20px;
            background: linear-gradient(135deg, var(--primary-blue), var(--primary-blue-light));
            border-radius: 20px;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .diff-icon i {
            font-size: 1.8rem;
            color: var(--white);
        }

        .diff-card h3 {
            color: var(--primary-blue);
            font-size: 1.15rem;
            margin-bottom: 12px;
            font-family: 'Archivo Black', sans-serif;
        }

        .diff-card p {
            color: var(--text-gray);
            font-size: 0.95rem;
            line-height: 1.6;
        }

        @media (max-width: 1024px) {
            .diff-grid { grid-template-columns: repeat(2, 1fr); }
        }
        @media (max-width: 768px) {
            .diff-grid { grid-template-columns: 1fr; }
        }

        /* ===== TESTIMONIALS ===== */
        .testimonials {
            padding: 80px 0;
            background: var(--light-gray);
        }

        .testimonials-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 30px;
        }

        .testimonial-card {
            background: var(--white);
            padding: 35px;
            border-radius: 20px;
            box-shadow: 0 5px 30px rgba(0,0,0,0.08);
            position: relative;
            transition: transform 0.3s;
        }

        .testimonial-card:hover {
            transform: translateY(-5px);
        }

        .testimonial-quote {
            color: var(--accent-orange);
            font-size: 2rem;
            margin-bottom: 15px;
            opacity: 0.5;
        }

        .testimonial-text {
            color: var(--text-gray);
            font-size: 1.05rem;
            line-height: 1.7;
            margin-bottom: 25px;
            font-style: italic;
        }

        .testimonial-author {
            display: flex;
            align-items: center;
            gap: 15px;
            border-top: 1px solid #eee;
            padding-top: 20px;
        }

        .testimonial-photo {
            width: 55px;
            height: 55px;
            border-radius: 50%;
            object-fit: cover;
        }

        .testimonial-author strong {
            display: block;
            color: var(--primary-blue);
            font-size: 1rem;
        }

        .testimonial-author span {
            color: var(--text-gray);
            font-size: 0.85rem;
        }

        @media (max-width: 1024px) {
            .testimonials-grid { grid-template-columns: repeat(2, 1fr); }
        }
        @media (max-width: 768px) {
            .testimonials-grid { grid-template-columns: 1fr; }
        }

        /* ===== CTA STRONG ===== */
        .cta-strong {
            padding: 80px 0;
            background: linear-gradient(135deg, var(--primary-blue) 0%, var(--primary-blue-light) 100%);
            text-align: center;
            color: var(--white);
        }

        .cta-content h2 {
            font-family: 'Archivo Black', 'Playfair Display', serif;
            font-size: 2.8rem;
            margin-bottom: 20px;
            letter-spacing: 1px;
        }

        .cta-content p {
            font-size: 1.2rem;
            opacity: 0.9;
            max-width: 700px;
            margin: 0 auto 35px;
        }

        .cta-buttons {
            display: flex;
            gap: 20px;
            justify-content: center;
            flex-wrap: wrap;
        }

        .btn-lg {
            padding: 16px 35px;
            font-size: 1.05rem;
        }

        .btn-outline-white {
            border: 2px solid var(--white);
            color: var(--white);
            background: transparent;
            padding: 16px 35px;
            border-radius: 30px;
            font-weight: 600;
            font-size: 1.05rem;
            text-decoration: none;
            transition: all 0.3s;
            cursor: pointer;
            display: inline-block;
        }

        .btn-outline-white:hover {
            background: var(--white);
            color: var(--primary-blue);
            transform: translateY(-2px);
        }

        @media (max-width: 768px) {
            .cta-content h2 { font-size: 2rem; }
        }

        /* ===== HYPERFOCO ===== */
        .hyperfoco {
            padding: 80px 0;
            background: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%);
            color: var(--white);
        }

        .hyperfoco-content {
            display: grid;
            grid-template-columns: 1fr auto;
            gap: 60px;
            align-items: center;
        }

        .hyperfoco-text .section-title {
            color: var(--white);
        }

        .hyperfoco-text p {
            font-size: 1.15rem;
            opacity: 0.9;
            margin-bottom: 25px;
            line-height: 1.8;
        }

        .hyperfoco-features {
            list-style: none;
            margin-bottom: 30px;
        }

        .hyperfoco-features li {
            padding: 8px 0;
            font-size: 1.05rem;
            display: flex;
            align-items: center;
            gap: 12px;
        }

        .hyperfoco-features li i {
            color: var(--accent-orange);
            font-size: 1.1rem;
        }

        .hyperfoco-icon {
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .hyperfoco-icon i {
            font-size: 10rem;
            color: rgba(245, 166, 35, 0.2);
        }

        @media (max-width: 768px) {
            .hyperfoco-content {
                grid-template-columns: 1fr;
            }
            .hyperfoco-icon {
                display: none;
            }
        }

        /* ===== ANIMATIONS ===== */
        .fade-in {
            opacity: 0;
            transform: translateY(28px);
            transition: opacity 0.6s cubic-bezier(.22,1,.36,1), transform 0.6s cubic-bezier(.22,1,.36,1);
        }

        .fade-in.visible {
            opacity: 1;
            transform: translateY(0);
        }

        /* Staggered section entrance */
        .section-title,
        .section-subtitle {
            opacity: 0;
            transform: translateY(20px);
            transition: opacity 0.6s cubic-bezier(.22,1,.36,1), transform 0.6s cubic-bezier(.22,1,.36,1);
        }

        .section-title.visible,
        .section-subtitle.visible {
            opacity: 1;
            transform: translateY(0);
        }

        /* Slide in from left */
        .fade-in-left {
            opacity: 0;
            transform: translateX(-40px);
            transition: opacity 0.7s cubic-bezier(.22,1,.36,1), transform 0.7s cubic-bezier(.22,1,.36,1);
        }

        .fade-in-left.visible {
            opacity: 1;
            transform: translateX(0);
        }

        /* Slide in from right */
        .fade-in-right {
            opacity: 0;
            transform: translateX(40px);
            transition: opacity 0.7s cubic-bezier(.22,1,.36,1), transform 0.7s cubic-bezier(.22,1,.36,1);
        }

        .fade-in-right.visible {
            opacity: 1;
            transform: translateX(0);
        }

        /* Scale up */
        .fade-in-scale {
            opacity: 0;
            transform: scale(0.92);
            transition: opacity 0.6s cubic-bezier(.22,1,.36,1), transform 0.6s cubic-bezier(.22,1,.36,1);
        }

        .fade-in-scale.visible {
            opacity: 1;
            transform: scale(1);
        }

        /* ===== PAGE HERO (carreras list, etc.) ===== */
        .page-hero {
            background: linear-gradient(135deg, var(--primary-blue) 0%, var(--primary-blue-light) 100%);
            padding: 80px 0;
            color: var(--white);
            text-align: center;
            position: relative;
            overflow: hidden;
        }
        .page-hero::before {
            content: '';
            position: absolute;
            top: 0; left: 0;
            width: 100%; height: 100%;
            background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.05'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
        }
        .page-hero .container {
            position: relative; z-index: 2;
        }
        .page-hero h1 {
            font-family: 'Playfair Display', serif;
            font-size: 3rem;
            margin-bottom: 15px;
        }
        .page-hero p {
            font-size: 1.15rem;
            opacity: 0.9;
            max-width: 600px;
            margin: 0 auto;
        }
        .page-hero-sm {
            padding: 60px 0;
        }
        .page-hero-sm h1 {
            font-size: 2.5rem;
        }
        @media (max-width: 768px) {
            .page-hero h1 { font-size: 2rem; }
            .page-hero-sm h1 { font-size: 1.8rem; }
            .page-hero { padding: 50px 0; }
        }

        /* ===== PÁGINAS INTERIORES ===== */
        .hero-page {
            background: linear-gradient(135deg, var(--primary-blue) 0%, var(--primary-blue-light) 100%);
            padding: 80px 0;
            color: var(--white);
            position: relative;
            overflow: hidden;
        }
        .hero-page::before {
            content: '';
            position: absolute;
            top: 0; left: 0;
            width: 100%; height: 100%;
            background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.05'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
        }
        .hero-page .container {
            position: relative; z-index: 2; text-align: center;
        }
        .hero-page h1 {
            font-family: 'Playfair Display', serif;
            font-size: 3rem; margin-bottom: 20px;
        }
        .hero-page p {
            font-size: 1.2rem; opacity: 0.9;
            max-width: 700px; margin: 0 auto;
        }
        .page-content { padding: 80px 0; }
        .page-content--no-pad { padding: 0; }

        /* Pilares */
        .pillars-section { padding: 80px 0; }
        .pillars-grid {
            display: grid; grid-template-columns: repeat(4, 1fr);
            gap: 30px; margin-top: 50px;
        }
        .pillar-card {
            text-align: center; padding: 40px 25px;
            background: var(--white); border-radius: 20px;
            box-shadow: 0 5px 30px rgba(0,0,0,0.08);
            transition: all 0.3s; border: 2px solid transparent;
        }
        .pillar-card:hover {
            border-color: var(--primary-blue); transform: translateY(-5px);
        }
        .pillar-icon {
            width: 80px; height: 80px;
            background: var(--light-gray); border-radius: 50%;
            display: flex; align-items: center; justify-content: center;
            margin: 0 auto 20px; font-size: 2rem;
            color: var(--primary-blue); transition: all 0.3s;
        }
        .pillar-card:hover .pillar-icon {
            background: var(--primary-blue); color: var(--white);
        }
        .pillar-card h4 { color: var(--primary-blue); margin-bottom: 15px; font-size: 1.1rem; }
        .pillar-card p { color: var(--text-gray); font-size: 0.9rem; }

        /* Valores Section */
        .values-section {
            padding: 80px 0; background: var(--primary-blue); color: var(--white);
        }
        .values-section .section-title { color: var(--white); }
        .values-section .section-subtitle { color: var(--accent-orange); }
        .values-grid {
            display: grid; grid-template-columns: repeat(5, 1fr);
            gap: 30px; margin-top: 50px;
        }
        .value-item {
            text-align: center; padding: 30px 20px;
            background: rgba(255,255,255,0.1); border-radius: 15px;
            transition: all 0.3s;
        }
        .value-item:hover { background: rgba(255,255,255,0.2); transform: scale(1.05); }
        .value-item i { font-size: 2.5rem; color: var(--accent-orange); margin-bottom: 15px; }
        .value-item h4 { font-size: 1rem; margin-bottom: 10px; }
        .value-item p { font-size: 0.85rem; opacity: 0.8; }

        /* Metodología */
        .methodology-section { padding: 80px 0; }
        .methodology-grid {
            display: grid; grid-template-columns: 1fr 1fr;
            gap: 60px; align-items: center; margin-top: 50px;
        }
        .methodology-content h3 { font-size: 1.8rem; color: var(--primary-blue); margin-bottom: 20px; }
        .methodology-content p { color: var(--text-gray); margin-bottom: 20px; font-size: 1.05rem; }
        .methodology-list { list-style: none; }
        .methodology-list li {
            padding: 15px 0; border-bottom: 1px solid #eee;
            display: flex; align-items: center; gap: 15px;
        }
        .methodology-list li i { color: var(--accent-orange); font-size: 1.2rem; }
        .methodology-image img {
            width: 100%; border-radius: 20px;
            box-shadow: 0 20px 60px rgba(0,0,0,0.15);
        }

        /* CTA Section */
        .cta-section {
            padding: 80px 0;
            background: linear-gradient(135deg, var(--accent-orange) 0%, #FF8C00 100%);
            text-align: center; color: var(--white);
        }
        .cta-section h2 { font-family: 'Playfair Display', serif; font-size: 2.5rem; margin-bottom: 20px; }
        .cta-section p { font-size: 1.1rem; margin-bottom: 30px; opacity: 0.9; }
        .cta-section .btn { background: var(--white); color: var(--primary-blue); }
        .cta-section .btn:hover { transform: translateY(-3px); box-shadow: 0 10px 30px rgba(0,0,0,0.2); }

        /* Admisiones - Steps */
        .admission-process { padding: 80px 0; }
        .steps-grid {
            display: grid; grid-template-columns: repeat(4, 1fr);
            gap: 30px; margin-top: 50px;
        }
        .step-card {
            text-align: center; padding: 40px 25px;
            background: var(--white); border-radius: 20px;
            box-shadow: 0 5px 30px rgba(0,0,0,0.08);
            transition: all 0.3s; position: relative;
        }
        .step-card:hover { transform: translateY(-5px); }
        .step-number {
            position: absolute; top: -15px; left: 50%;
            transform: translateX(-50%); width: 35px; height: 35px;
            background: var(--accent-orange); color: var(--white);
            border-radius: 50%; display: flex; align-items: center;
            justify-content: center; font-weight: 700; font-size: 0.9rem;
        }
        .step-card i { font-size: 2.5rem; color: var(--primary-blue); margin-bottom: 15px; }
        .step-card h4 { color: var(--primary-blue); margin-bottom: 10px; }
        .step-card p { color: var(--text-gray); font-size: 0.9rem; }

        /* Requirements */
        .requirements-section { padding: 80px 0; background: var(--light-gray); }
        .requirements-grid {
            display: grid; grid-template-columns: repeat(2, 1fr);
            gap: 40px; margin-top: 50px;
        }
        .requirement-card {
            background: var(--white); border-radius: 20px;
            padding: 40px; box-shadow: 0 5px 30px rgba(0,0,0,0.08);
        }
        .requirement-card h3 {
            color: var(--primary-blue); font-size: 1.3rem;
            margin-bottom: 25px; display: flex; align-items: center; gap: 10px;
        }
        .requirement-card h3 i { color: var(--accent-orange); }
        .requirement-card ul { list-style: none; }
        .requirement-card li {
            padding: 12px 0; border-bottom: 1px solid #eee;
            display: flex; align-items: center; gap: 12px;
            color: var(--text-gray);
        }
        .requirement-card li i { color: var(--accent-orange); font-size: 0.9rem; }

        /* Scholarships */
        .scholarships-section { padding: 80px 0; }
        .scholarships-grid {
            display: grid; grid-template-columns: repeat(3, 1fr);
            gap: 30px; margin-top: 50px;
        }
        .scholarship-card {
            background: var(--white); border-radius: 20px;
            overflow: hidden; box-shadow: 0 5px 30px rgba(0,0,0,0.08);
            transition: all 0.3s;
        }
        .scholarship-card:hover { transform: translateY(-5px); }
        .scholarship-header {
            background: linear-gradient(135deg, var(--primary-blue), var(--primary-blue-light));
            color: var(--white); padding: 30px;
            display: flex; justify-content: space-between; align-items: center;
        }
        .scholarship-header h3 { font-size: 1.1rem; }
        .discount {
            background: var(--accent-orange); padding: 10px 20px;
            border-radius: 30px; font-weight: 800; font-size: 1.3rem;
        }
        .scholarship-body { padding: 30px; }
        .scholarship-body ul { list-style: none; margin-bottom: 25px; }
        .scholarship-body li {
            padding: 10px 0; display: flex; align-items: center; gap: 10px;
            color: var(--text-gray);
        }
        .scholarship-body li i { color: var(--accent-orange); }

        /* Financing */
        .financing-section { padding: 80px 0; background: var(--light-gray); }
        .financing-grid {
            display: grid; grid-template-columns: repeat(3, 1fr);
            gap: 30px; margin-top: 50px;
        }
        .financing-card {
            text-align: center; padding: 40px 25px;
            background: var(--white); border-radius: 20px;
            box-shadow: 0 5px 30px rgba(0,0,0,0.08); transition: all 0.3s;
        }
        .financing-card:hover { transform: translateY(-5px); }
        .financing-card i { font-size: 2.5rem; color: var(--primary-blue); margin-bottom: 15px; }
        .financing-card h4 { color: var(--primary-blue); margin-bottom: 10px; }
        .financing-card p { color: var(--text-gray); font-size: 0.9rem; }

        /* FAQ */
        .faq-grid {
            display: grid; grid-template-columns: 250px 1fr;
            gap: 40px; margin-top: 30px;
        }
        .faq-categories { display: flex; flex-direction: column; gap: 10px; }
        .category-btn {
            display: flex; align-items: center; gap: 10px;
            padding: 15px 20px; border: 2px solid #eee;
            border-radius: 12px; background: var(--white);
            cursor: pointer; font-weight: 500; font-size: 0.95rem;
            color: var(--text-gray); transition: all 0.3s;
            font-family: 'Montserrat', sans-serif;
        }
        .category-btn:hover { border-color: var(--primary-blue); color: var(--primary-blue); }
        .category-btn.active {
            background: var(--primary-blue); color: var(--white);
            border-color: var(--primary-blue);
        }
        .faq-content { min-width: 0; }
        .faq-category { display: none; }
        .faq-category.active { display: block; }
        .faq-item {
            background: var(--white); border-radius: 15px;
            margin-bottom: 15px; box-shadow: 0 2px 15px rgba(0,0,0,0.05);
            overflow: hidden; border: 1px solid #eee;
        }
        .faq-question {
            display: flex; justify-content: space-between; align-items: center;
            padding: 20px 25px; cursor: pointer; transition: all 0.3s;
        }
        .faq-question:hover { background: var(--light-gray); }
        .faq-question h4 { color: var(--primary-blue); font-size: 1rem; }
        .faq-question i { color: var(--accent-orange); transition: transform 0.3s; }
        .faq-item.active .faq-question i { transform: rotate(180deg); }
        .faq-answer {
            max-height: 0; overflow: hidden; transition: max-height 0.3s ease;
        }
        .faq-item.active .faq-answer { max-height: 500px; }
        .faq-answer p { padding: 0 25px 20px; color: var(--text-gray); line-height: 1.8; }

        /* Contact FAQ */
        .contact-faq { padding: 80px 0; background: var(--light-gray); }
        .contact-faq .section-title { text-align: center; margin-bottom: 50px; }
        .contact-faq .contact-grid {
            display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px;
        }
        .contact-card {
            text-align: center; padding: 40px 25px;
            background: var(--white); border-radius: 20px;
            box-shadow: 0 5px 30px rgba(0,0,0,0.08); transition: all 0.3s;
        }
        .contact-card:hover { transform: translateY(-5px); }
        .contact-card i { font-size: 2.5rem; color: var(--primary-blue); margin-bottom: 15px; }
        .contact-card h4 { color: var(--primary-blue); margin-bottom: 10px; }
        .contact-card p { color: var(--text-gray); font-size: 0.9rem; margin-bottom: 15px; }
        .contact-card a { color: var(--primary-blue); text-decoration: none; font-weight: 600; }

        /* MVV Section (modelo educativo) */
        .mvv-section { padding: 80px 0; background: var(--light-gray); }

        /* Responsive páginas interiores */
        @media (max-width: 968px) {
            .pillars-grid, .steps-grid { grid-template-columns: repeat(2, 1fr); }
            .values-grid { grid-template-columns: repeat(2, 1fr); }
            .methodology-grid { grid-template-columns: 1fr; }
            .requirements-grid { grid-template-columns: 1fr; }
            .scholarships-grid, .financing-grid { grid-template-columns: 1fr; }
            .faq-grid { grid-template-columns: 1fr; }
            .faq-categories { flex-direction: row; flex-wrap: wrap; }
            .contact-faq .contact-grid { grid-template-columns: 1fr; }
            .hero-page h1 { font-size: 2rem; }
        }

        /* ===== LANDING PAGES CARRERAS ===== */

        /* Hero Page Carrera */
        .hero-page .breadcrumb {
            margin-bottom: 20px;
            opacity: 0.8;
        }
        .hero-page .breadcrumb a {
            color: var(--white);
            text-decoration: none;
        }
        .hero-page .breadcrumb a:hover {
            text-decoration: underline;
        }
        .hero-page .badge {
            display: inline-block;
            background: var(--accent-orange);
            padding: 8px 20px;
            border-radius: 20px;
            font-size: 0.9rem;
            font-weight: 600;
            margin-bottom: 20px;
        }
        .hero-page .quote {
            font-style: italic;
            margin-top: 20px;
            padding: 15px 25px;
            border-left: 4px solid var(--accent-orange);
            background: rgba(255,255,255,0.1);
            border-radius: 0 10px 10px 0;
        }

        /* Page Content */
        .page-content {
            padding: 80px 0;
        }
        .page-content .content-grid {
            display: grid;
            grid-template-columns: 2fr 1fr;
            gap: 60px;
        }
        .page-content .section-title {
            font-family: 'Playfair Display', serif;
            font-size: 2rem;
            color: var(--primary-blue);
            margin-bottom: 25px;
            display: flex;
            align-items: center;
            gap: 15px;
        }
        .page-content .section-title i {
            color: var(--accent-orange);
        }
        .page-content .main-content p {
            margin-bottom: 20px;
            color: var(--text-gray);
            font-size: 1.05rem;
        }

        /* ── Modelo Educativo — full override ── */
        .mvv-section .container,
        .pillars-section .container {
            text-align: center !important;
        }
        .mvv-section .section-subtitle,
        .mvv-section .section-title,
        .pillars-section .section-subtitle,
        .pillars-section .section-title,
        .values-section .section-subtitle,
        .values-section .section-title,
        .methodology-section .section-subtitle,
        .methodology-section .section-title {
            opacity: 1 !important;
            transform: none !important;
            display: block !important;
            text-align: center !important;
        }
        .mvv-section .section-title,
        .pillars-section .section-title,
        .values-section .section-title,
        .methodology-section .section-title {
            font-family: 'Archivo Black', 'Playfair Display', serif !important;
            font-size: 2.5rem !important;
            color: var(--primary-blue) !important;
            margin-bottom: 25px !important;
        }
        .mvv-section .mvv-grid {
            margin-top: 50px;
            text-align: center;
        }
        .mvv-section .mvv-card,
        .mvv-section .mvv-card h3,
        .mvv-section .mvv-card p {
            text-align: center;
        }

        /* Profile Cards */
        .profile-section {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 30px;
            margin: 40px 0;
        }
        .profile-card {
            background: var(--white);
            border: 2px solid var(--primary-blue);
            border-radius: 20px;
            overflow: hidden;
        }
        .profile-card-header {
            background: var(--primary-blue);
            color: var(--white);
            padding: 20px 25px;
            display: flex;
            align-items: center;
            gap: 12px;
        }
        .profile-card-header i {
            font-size: 1.5rem;
        }
        .profile-card-header h3 {
            font-size: 1.2rem;
        }
        .profile-card-content {
            padding: 25px;
        }
        .profile-card-content h4 {
            color: var(--primary-blue);
            font-size: 1rem;
            margin-bottom: 15px;
            text-transform: uppercase;
        }
        .profile-card-content ul {
            list-style: none;
        }
        .profile-card-content li {
            padding: 8px 0;
            color: var(--text-gray);
            font-size: 0.95rem;
            display: flex;
            align-items: flex-start;
            gap: 10px;
        }
        .profile-card-content li::before {
            content: '-';
            color: var(--primary-blue);
            font-weight: bold;
        }

        /* Plan de Estudios */
        .plan-estudios {
            margin-top: 50px;
        }
        .plan-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 25px;
        }
        .semester {
            background: var(--white);
            border: 2px solid var(--primary-blue);
            border-radius: 15px;
            overflow: hidden;
        }
        .semester-header {
            background: var(--primary-blue);
            color: var(--white);
            padding: 15px 20px;
            display: flex;
            align-items: center;
            gap: 10px;
        }
        .semester-header i {
            color: var(--accent-orange);
        }
        .semester-header h4 {
            font-size: 1rem;
        }
        .semester-content {
            padding: 20px;
        }
        .semester-content ul {
            list-style: none;
        }
        .semester-content li {
            padding: 8px 0;
            color: var(--text-gray);
            font-size: 0.9rem;
            border-bottom: 1px solid #eee;
        }
        .semester-content li:last-child {
            border-bottom: none;
        }
        .semester-content li::before {
            content: '-';
            margin-right: 10px;
            color: var(--primary-blue);
        }

        /* Sidebar */
        .sidebar .sidebar-card {
            background: var(--primary-blue);
            color: var(--white);
            padding: 35px;
            border-radius: 20px;
            margin-bottom: 30px;
            text-align: center;
        }
        .sidebar .sidebar-card .graduate-badge {
            background: var(--accent-orange);
            color: var(--white);
            padding: 15px 25px;
            border-radius: 50%;
            display: inline-block;
            margin-bottom: 20px;
            font-weight: 700;
            font-size: 1.1rem;
        }
        .sidebar .sidebar-card h3 {
            font-size: 1.3rem;
            margin-bottom: 20px;
        }
        .sidebar .sidebar-card p {
            opacity: 0.9;
            margin-bottom: 20px;
        }
        .sidebar .sidebar-card .btn {
            width: 100%;
            text-align: center;
        }

        /* Pricing Card */
        .pricing-card {
            background: var(--white);
            border: 2px solid var(--primary-blue);
            border-radius: 20px;
            overflow: hidden;
            margin-bottom: 30px;
        }
        .pricing-header {
            background: var(--primary-blue);
            color: var(--white);
            padding: 20px;
            text-align: center;
        }
        .pricing-header h3 {
            margin-bottom: 5px;
        }
        .pricing-body {
            padding: 25px;
        }
        .pricing-option {
            text-align: center;
            padding: 20px;
            border-bottom: 1px solid #eee;
        }
        .pricing-option:last-child {
            border-bottom: none;
        }
        .pricing-option h4 {
            color: var(--primary-blue);
            margin-bottom: 10px;
        }
        .pricing-option .price {
            font-size: 2rem;
            font-weight: 800;
            color: var(--primary-blue);
        }
        .pricing-option .price span {
            font-size: 1rem;
            font-weight: 400;
        }
        .pricing-option .inscription {
            color: var(--accent-orange);
            font-weight: 600;
            margin-top: 5px;
        }

        /* Requirements Card */
        .requirements-card {
            background: var(--light-gray);
            padding: 25px;
            border-radius: 15px;
            margin-bottom: 30px;
        }
        .requirements-card h4 {
            color: var(--primary-blue);
            margin-bottom: 20px;
            display: flex;
            align-items: center;
            gap: 10px;
        }
        .requirements-card h4 i {
            color: var(--accent-orange);
        }
        .requirement-item {
            display: flex;
            align-items: center;
            gap: 15px;
            padding: 12px 0;
            border-bottom: 1px solid rgba(0,0,0,0.1);
        }
        .requirement-item:last-child {
            border-bottom: none;
        }
        .requirement-item i {
            width: 40px;
            height: 40px;
            background: var(--primary-blue);
            color: var(--white);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        /* Contact Sidebar */
        .contact-sidebar {
            background: var(--light-gray);
            padding: 30px;
            border-radius: 15px;
        }
        .contact-sidebar h4 {
            color: var(--primary-blue);
            margin-bottom: 20px;
            display: flex;
            align-items: center;
            gap: 10px;
        }
        .contact-sidebar h4 i {
            color: var(--accent-orange);
        }
        .contact-sidebar .contact-item {
            display: flex;
            align-items: center;
            gap: 15px;
            margin-bottom: 15px;
            padding: 10px 0;
        }
        .contact-sidebar .contact-item i {
            width: 40px;
            height: 40px;
            background: var(--primary-blue);
            color: var(--white);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
        }
        .contact-sidebar .contact-item div {
            flex: 1;
        }
        .contact-sidebar .contact-item span {
            display: block;
            color: var(--text-gray);
            font-size: 0.9rem;
        }
        .contact-sidebar .contact-item strong {
            color: var(--dark-gray);
        }

        /* Responsive Carreras Landing */
        @media (max-width: 1024px) {
            .page-content .content-grid {
                grid-template-columns: 1fr;
            }
            .profile-section {
                grid-template-columns: 1fr;
            }
            .plan-grid {
                grid-template-columns: 1fr;
            }
        }
        @media (max-width: 768px) {
            .hero-page h1 {
                font-size: 2rem;
            }
            .page-content .section-title {
                font-size: 1.5rem;
            }
        }

        /* ===== NOTICIAS ===== */
        .noticias-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 30px;
        }
        .noticia-card {
            background: var(--white);
            border-radius: 20px;
            overflow: hidden;
            box-shadow: 0 5px 30px rgba(0,0,0,0.08);
            transition: all 0.3s;
        }
        .noticia-card:hover {
            transform: translateY(-5px);
            box-shadow: 0 10px 40px rgba(0,0,0,0.15);
        }
        .noticia-imagen {
            height: 200px;
            overflow: hidden;
        }
        .noticia-imagen img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform 0.3s;
        }
        .noticia-card:hover .noticia-imagen img {
            transform: scale(1.05);
        }
        .noticia-imagen.noticia-placeholder {
            background: var(--light-gray);
            display: flex;
            align-items: center;
            justify-content: center;
        }
        .noticia-imagen.noticia-placeholder i {
            font-size: 3rem;
            color: var(--text-gray);
        }
        .noticia-contenido {
            padding: 25px;
        }
        .noticia-categoria {
            display: inline-block;
            background: var(--primary-blue);
            color: var(--white);
            padding: 5px 15px;
            border-radius: 20px;
            font-size: 0.8rem;
            font-weight: 600;
            margin-bottom: 15px;
        }
        .noticia-titulo {
            font-family: 'Playfair Display', serif;
            font-size: 1.3rem;
            color: var(--dark-gray);
            margin-bottom: 10px;
            line-height: 1.4;
        }
        .noticia-extracto {
            color: var(--text-gray);
            font-size: 0.95rem;
            margin-bottom: 20px;
            line-height: 1.6;
        }
        .noticia-footer {
            display: flex;
            justify-content: space-between;
            align-items: center;
        }
        .noticia-fecha {
            color: var(--text-gray);
            font-size: 0.85rem;
        }
        .noticia-fecha i {
            margin-right: 5px;
            color: var(--accent-orange);
        }
        
        /* Responsive Noticias */
        @media (max-width: 1024px) {
            .noticias-grid {
                grid-template-columns: repeat(2, 1fr);
            }
        }
        @media (max-width: 768px) {
            .noticias-grid {
                grid-template-columns: 1fr;
            }
        }

        /* ===== BREADCRUMBS SEO ===== */
        .breadcrumb-nav {
            margin-bottom: 20px;
        }
        .breadcrumb-nav .breadcrumb {
            display: flex;
            flex-wrap: wrap;
            padding: 0;
            margin: 0;
            list-style: none;
            gap: 5px;
        }
        .breadcrumb-nav .breadcrumb-item {
            display: flex;
            align-items: center;
        }
        .breadcrumb-nav .breadcrumb-item::after {
            content: '/';
            margin: 0 10px;
            opacity: 0.6;
        }
        .breadcrumb-nav .breadcrumb-item:last-child::after {
            display: none;
        }
        .breadcrumb-nav .breadcrumb-item a {
            color: inherit;
            text-decoration: none;
            opacity: 0.8;
            transition: opacity 0.3s;
        }
        .breadcrumb-nav .breadcrumb-item a:hover {
            opacity: 1;
            text-decoration: underline;
        }
        .breadcrumb-nav .breadcrumb-item.active span {
            opacity: 0.9;
        }
        .hero-page .breadcrumb-nav {
            color: var(--white);
        }
        .hero-page .breadcrumb-nav .breadcrumb-item a {
            color: var(--white);
        }

        /* ===== OFERTA EDUCATIVA (Carreras Index) ===== */

        /* Navegación rápida */
        .oferta-nav {
            background: var(--white);
            border-bottom: 1px solid #eee;
            position: sticky;
            top: 70px;
            z-index: 90;
            box-shadow: 0 2px 10px rgba(0,0,0,0.05);
        }
        .oferta-nav .container {
            display: flex;
            justify-content: center;
            gap: 0;
        }
        .oferta-nav-item {
            display: flex;
            align-items: center;
            gap: 8px;
            padding: 18px 30px;
            text-decoration: none;
            color: var(--text-gray);
            font-weight: 600;
            font-size: 0.95rem;
            border-bottom: 3px solid transparent;
            transition: all 0.3s;
        }
        .oferta-nav-item:hover,
        .oferta-nav-item.active {
            color: var(--primary-blue);
            border-bottom-color: var(--accent-orange);
        }
        .oferta-nav-item i {
            font-size: 1.1rem;
        }

        /* Secciones */
        .oferta-section {
            padding: 70px 0;
        }
        .oferta-section-alt {
            background: var(--light-gray);
        }
        .oferta-section-header {
            text-align: center;
            max-width: 650px;
            margin: 0 auto 50px;
        }
        .oferta-label {
            display: inline-block;
            background: rgba(0, 59, 109, 0.08);
            color: var(--primary-blue);
            padding: 6px 18px;
            border-radius: 20px;
            font-size: 0.85rem;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 0.5px;
            margin-bottom: 12px;
        }
        .oferta-section-header h2 {
            font-family: 'Playfair Display', serif;
            font-size: 2.2rem;
            color: var(--primary-blue);
            margin-bottom: 12px;
        }
        .oferta-section-header p {
            color: var(--text-gray);
            font-size: 1.05rem;
        }

        /* Licenciaturas - tarjetas con imagen */
        .lic-grid {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 30px;
        }
        .lic-card {
            background: var(--white);
            border-radius: 20px;
            overflow: hidden;
            box-shadow: 0 5px 30px rgba(0,0,0,0.08);
            transition: transform 0.3s, box-shadow 0.3s;
            display: flex;
            flex-direction: column;
        }
        .lic-card:hover {
            transform: translateY(-5px);
            box-shadow: 0 15px 50px rgba(0,0,0,0.12);
        }
        .lic-card-img {
            position: relative;
            height: 200px;
            overflow: hidden;
        }
        .lic-card-img img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform 0.5s;
        }
        .lic-card:hover .lic-card-img img {
            transform: scale(1.05);
        }
        .lic-badge {
            position: absolute;
            top: 12px;
            left: 12px;
            background: var(--accent-orange);
            color: var(--white);
            padding: 5px 14px;
            border-radius: 20px;
            font-size: 0.8rem;
            font-weight: 600;
        }
        .lic-card-body {
            padding: 25px 28px 28px;
            flex: 1;
            display: flex;
            flex-direction: column;
        }
        .lic-card-body h3 {
            font-family: 'Playfair Display', serif;
            font-size: 1.25rem;
            color: var(--primary-blue);
            margin-bottom: 10px;
        }
        .lic-card-body > p {
            color: var(--text-gray);
            font-size: 0.93rem;
            line-height: 1.6;
            margin-bottom: 18px;
            flex: 1;
        }
        .lic-card-details {
            display: flex;
            flex-wrap: wrap;
            gap: 10px;
            margin-bottom: 20px;
        }
        .lic-detail {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            font-size: 0.83rem;
            color: var(--text-gray);
            background: var(--light-gray);
            padding: 5px 12px;
            border-radius: 8px;
        }
        .lic-detail i {
            color: var(--accent-orange);
            font-size: 0.8rem;
        }
        .lic-card-footer {
            display: flex;
            align-items: center;
            gap: 15px;
        }
        .lic-card-footer .btn {
            flex-shrink: 0;
        }
        .btn-text {
            color: var(--primary-blue);
            text-decoration: none;
            font-weight: 600;
            font-size: 0.9rem;
            display: inline-flex;
            align-items: center;
            gap: 6px;
            transition: color 0.3s;
        }
        .btn-text:hover {
            color: var(--accent-orange);
        }

        /* Educación Básica - tarjetas horizontales */
        .basica-grid {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 30px;
        }
        .basica-card {
            background: var(--white);
            border-radius: 20px;
            overflow: hidden;
            box-shadow: 0 5px 30px rgba(0,0,0,0.08);
            display: flex;
            flex-direction: column;
            transition: transform 0.3s;
        }
        .basica-card:hover {
            transform: translateY(-5px);
        }
        .basica-card-img {
            height: 180px;
            overflow: hidden;
        }
        .basica-card-img img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform 0.4s;
        }
        .basica-card:hover .basica-card-img img {
            transform: scale(1.05);
        }
        .basica-card-body {
            padding: 25px;
        }
        .basica-card-body h3 {
            font-family: 'Playfair Display', serif;
            font-size: 1.2rem;
            color: var(--primary-blue);
            margin-bottom: 10px;
        }
        .basica-card-body > p {
            color: var(--text-gray);
            font-size: 0.93rem;
            line-height: 1.6;
            margin-bottom: 15px;
        }

        /* Certificaciones - lista compacta */
        .extras-grid {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 15px;
        }
        .extra-card {
            display: flex;
            align-items: center;
            gap: 18px;
            padding: 20px 25px;
            background: var(--white);
            border-radius: 15px;
            box-shadow: 0 2px 15px rgba(0,0,0,0.06);
            text-decoration: none;
            transition: all 0.3s;
            border: 2px solid transparent;
        }
        .extra-card:hover {
            border-color: var(--primary-blue);
            transform: translateY(-2px);
            box-shadow: 0 8px 30px rgba(0,0,0,0.1);
        }
        .extra-card-icon {
            width: 50px;
            height: 50px;
            background: linear-gradient(135deg, var(--primary-blue), var(--primary-blue-light));
            border-radius: 12px;
            display: flex;
            align-items: center;
            justify-content: center;
            color: var(--white);
            font-size: 1.2rem;
            flex-shrink: 0;
        }
        .extra-card-body {
            flex: 1;
        }
        .extra-card-body h4 {
            color: var(--dark-gray);
            font-size: 1rem;
            margin-bottom: 3px;
        }
        .extra-meta {
            color: var(--text-gray);
            font-size: 0.82rem;
        }
        .extra-arrow {
            color: var(--primary-blue);
            opacity: 0.3;
            transition: opacity 0.3s, transform 0.3s;
        }
        .extra-card:hover .extra-arrow {
            opacity: 1;
            transform: translateX(3px);
        }

        /* CTA Final */
        .oferta-cta {
            padding: 70px 0;
            background: linear-gradient(135deg, var(--primary-blue) 0%, #00264d 100%);
            color: var(--white);
        }
        .oferta-cta-content {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 40px;
        }
        .oferta-cta-text h2 {
            font-family: 'Playfair Display', serif;
            font-size: 2rem;
            margin-bottom: 10px;
        }
        .oferta-cta-text p {
            opacity: 0.9;
            font-size: 1.05rem;
            max-width: 550px;
        }
        .oferta-cta-actions {
            display: flex;
            gap: 15px;
            flex-shrink: 0;
        }
        .btn-whatsapp-lg {
            background: #25D366;
            color: var(--white);
            padding: 14px 28px;
            border-radius: 30px;
            text-decoration: none;
            font-weight: 600;
            font-size: 1rem;
            display: inline-flex;
            align-items: center;
            gap: 8px;
            transition: all 0.3s;
        }
        .btn-whatsapp-lg:hover {
            background: #1ebe57;
            transform: translateY(-2px);
        }

        /* Responsive Oferta */
        @media (max-width: 1024px) {
            .lic-grid { grid-template-columns: 1fr; }
            .oferta-cta-content { flex-direction: column; text-align: center; }
            .oferta-cta-actions { flex-direction: column; width: 100%; }
            .oferta-cta-actions a { text-align: center; justify-content: center; }
        }
        @media (max-width: 768px) {
            .oferta-nav-item { padding: 14px 18px; font-size: 0.85rem; }
            .oferta-nav-item span { display: none; }
            .oferta-nav-item i { font-size: 1.3rem; }
            .basica-grid { grid-template-columns: 1fr; }
            .extras-grid { grid-template-columns: 1fr; }
            .oferta-section-header h2 { font-size: 1.7rem; }
            .oferta-cta-text h2 { font-size: 1.5rem; }
        }

        /* ===== PÁGINA DE CONTACTO ===== */
        .contact-page-grid {
            display: grid;
            grid-template-columns: 1.2fr 0.8fr;
            gap: 50px;
            align-items: start;
        }
        .contact-page-form {
            background: var(--white);
            padding: 40px;
            border-radius: 20px;
            box-shadow: 0 10px 40px rgba(0,0,0,0.08);
        }
        .contact-page-form h3 {
            color: var(--primary-blue);
            font-family: 'Archivo Black', 'Playfair Display', serif;
            font-size: 1.5rem;
            margin-bottom: 25px;
        }
        .contact-alert {
            padding: 15px 20px;
            border-radius: 12px;
            margin-bottom: 20px;
            display: flex;
            align-items: center;
            gap: 10px;
            font-weight: 500;
        }
        .contact-alert-success {
            background: #d4edda;
            color: #155724;
            border: 1px solid #c3e6cb;
        }
        .contact-page-info {
            display: flex;
            flex-direction: column;
            gap: 25px;
        }
        .contact-info-card {
            background: var(--white);
            padding: 30px;
            border-radius: 20px;
            box-shadow: 0 10px 40px rgba(0,0,0,0.08);
        }
        .contact-info-card h4 {
            color: var(--primary-blue);
            font-size: 1.15rem;
            margin-bottom: 20px;
            display: flex;
            align-items: center;
            gap: 10px;
        }
        .contact-info-card h4 i {
            color: var(--accent-orange);
        }
        .contact-info-item {
            display: flex;
            align-items: flex-start;
            gap: 15px;
            padding: 12px 0;
            border-bottom: 1px solid #f0f0f0;
        }
        .contact-info-item:last-child { border-bottom: none; }
        .contact-info-item > i {
            color: var(--primary-blue);
            font-size: 1.1rem;
            margin-top: 3px;
            width: 20px;
            text-align: center;
        }
        .contact-info-item div {
            display: flex;
            flex-direction: column;
        }
        .contact-info-item strong {
            color: var(--primary-blue);
            font-size: 0.85rem;
            text-transform: uppercase;
            letter-spacing: 0.5px;
            margin-bottom: 3px;
        }
        .contact-info-item span { color: var(--text-gray); font-size: 0.95rem; }
        .contact-info-item a { color: var(--text-gray); text-decoration: none; transition: color 0.3s; }
        .contact-info-item a:hover { color: var(--primary-blue); }

        .contact-social-links {
            display: flex;
            flex-wrap: wrap;
            gap: 10px;
        }
        .social-btn {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            padding: 10px 18px;
            border-radius: 10px;
            text-decoration: none;
            font-weight: 600;
            font-size: 0.85rem;
            transition: all 0.3s;
            color: white;
        }
        .social-facebook { background: #1877F2; }
        .social-facebook:hover { background: #0d65d9; color: white; }
        .social-instagram { background: linear-gradient(45deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888); }
        .social-instagram:hover { opacity: 0.9; color: white; }
        .social-whatsapp { background: #25D366; }
        .social-whatsapp:hover { background: #1fb855; color: white; }
        .social-tiktok { background: #010101; }
        .social-tiktok:hover { background: #333; color: white; }

        @media (max-width: 968px) {
            .contact-page-grid { grid-template-columns: 1fr; }
            .contact-page-form { padding: 25px; }
        }

        /* ===== PÁGINAS DE ERROR ===== */
        .error-page {
            min-height: 60vh;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 60px 0;
        }
        .error-content {
            text-align: center;
            max-width: 500px;
            margin: 0 auto;
        }
        .error-code {
            font-family: 'Archivo Black', sans-serif;
            font-size: 8rem;
            line-height: 1;
            color: var(--primary-blue);
            margin-bottom: 15px;
            opacity: 0.15;
        }
        .error-code-500 { color: #dc3545; }
        .error-content h2 {
            color: var(--primary-blue);
            font-size: 1.8rem;
            margin-bottom: 15px;
        }
        .error-content p {
            color: var(--text-gray);
            font-size: 1.1rem;
            margin-bottom: 30px;
        }
        .error-actions {
            display: flex;
            gap: 15px;
            justify-content: center;
            flex-wrap: wrap;
        }

/* ========================================
   Transformación Antes/Después
   ======================================== */
.transformacion {
    padding: 80px 0;
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
}

.transformacion-grid {
    display: flex;
    align-items: stretch;
    gap: 0;
    margin-top: 50px;
}

.transformacion-col {
    flex: 1;
    padding: 40px;
    border-radius: 20px;
}

.transformacion-antes {
    background: #fff5f5;
    border: 2px solid #ffcccc;
}

.transformacion-despues {
    background: #f0fff4;
    border: 2px solid #b2f5c5;
}

.transformacion-header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 25px;
}

.transformacion-header h3 {
    font-family: 'Playfair Display', serif;
    font-size: 1.5rem;
    margin: 0;
}

.transformacion-antes .transformacion-header i {
    color: #e53e3e;
    font-size: 1.5rem;
}

.transformacion-antes .transformacion-header h3 {
    color: #c53030;
}

.transformacion-despues .transformacion-header i {
    color: #38a169;
    font-size: 1.5rem;
}

.transformacion-despues .transformacion-header h3 {
    color: #276749;
}

.transformacion-col ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.transformacion-col li {
    padding: 12px 0;
    font-size: 1.05rem;
    display: flex;
    align-items: center;
    gap: 12px;
    border-bottom: 1px solid rgba(0,0,0,0.06);
}

.transformacion-col li:last-child {
    border-bottom: none;
}

.transformacion-antes li i {
    color: #e53e3e;
    flex-shrink: 0;
}

.transformacion-despues li i {
    color: #38a169;
    flex-shrink: 0;
}

.transformacion-arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 30px;
}

.transformacion-arrow i {
    font-size: 2rem;
    color: var(--primary-blue);
    background: var(--white);
    width: 60px;
    height: 60px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
}

@media (max-width: 768px) {
    .transformacion-grid {
        flex-direction: column;
        gap: 20px;
    }
    .transformacion-arrow {
        padding: 10px 0;
    }
    .transformacion-arrow i {
        transform: rotate(90deg);
    }
    .transformacion-col {
        padding: 25px;
    }
}

/* ========================================
   Contadores Animados
   ======================================== */
.contadores {
    padding: 80px 0;
    background: linear-gradient(135deg, var(--primary-blue) 0%, #00264d 100%);
    color: var(--white);
}

.contadores .section-subtitle,
.contadores .section-title {
    color: var(--white);
}

.contadores .section-subtitle::after {
    background: var(--accent-orange);
}

.contadores-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 40px;
    margin-top: 50px;
}

.contador-item {
    text-align: center;
}

.contador-numero {
    display: block;
    font-family: 'Archivo Black', 'Montserrat', sans-serif;
    font-size: 3.5rem;
    font-weight: 800;
    color: var(--accent-orange);
    line-height: 1;
    margin-bottom: 10px;
}

.contador-label {
    display: block;
    font-size: 1.1rem;
    opacity: 0.9;
    font-weight: 500;
}

@media (max-width: 768px) {
    .contadores-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 30px;
    }
    .contador-numero {
        font-size: 2.5rem;
    }
}

/* ===== HOME GALLERY MOSAIC ===== */
.home-gallery {
    padding: 100px 0;
    background: var(--light-gray);
}

.gallery-home-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
    margin: 35px 0 10px;
}

.ghf-btn {
    padding: 10px 22px;
    border: 2px solid var(--primary-blue);
    border-radius: 50px;
    background: transparent;
    color: var(--primary-blue);
    font-weight: 600;
    font-size: 0.88rem;
    cursor: pointer;
    transition: all 0.3s ease;
    font-family: 'Montserrat', sans-serif;
}

.ghf-btn i {
    margin-right: 6px;
}

.ghf-btn:hover {
    background: var(--primary-blue);
    color: white;
    transform: translateY(-2px);
    box-shadow: 0 4px 15px rgba(0, 59, 109, 0.3);
}

.ghf-btn.active {
    background: var(--primary-blue);
    color: white;
    box-shadow: 0 4px 15px rgba(0, 59, 109, 0.3);
}

@media (max-width: 768px) {
    .gallery-home-filters {
        gap: 8px;
    }
    .ghf-btn {
        padding: 8px 16px;
        font-size: 0.8rem;
    }
}

.gallery-mosaic {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-auto-rows: 220px;
    gap: 12px;
    margin-top: 50px;
}

.mosaic-item {
    position: relative;
    border-radius: 12px;
    overflow: hidden;
    cursor: pointer;
    opacity: 0;
    animation: mosaicFadeIn 0.5s ease forwards;
    animation-delay: calc(var(--i) * 0.08s);
}

@keyframes mosaicFadeIn {
    from { opacity: 0; transform: scale(0.95); }
    to { opacity: 1; transform: scale(1); }
}

.mosaic-wide {
    grid-column: span 2;
}

.mosaic-tall {
    grid-row: span 2;
}

.mosaic-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94), filter 0.4s ease;
}

.mosaic-item:hover img {
    transform: scale(1.08);
    filter: brightness(0.75);
}

.mosaic-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.4s ease;
    pointer-events: none;
}

.mosaic-overlay i {
    font-size: 2rem;
    color: white;
    background: rgba(0, 59, 109, 0.6);
    width: 60px;
    height: 60px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transform: scale(0.7);
    transition: transform 0.3s ease;
}

.mosaic-item:hover .mosaic-overlay {
    opacity: 1;
}

.mosaic-item:hover .mosaic-overlay i {
    transform: scale(1);
}

@media (max-width: 1024px) {
    .gallery-mosaic {
        grid-template-columns: repeat(3, 1fr);
        grid-auto-rows: 200px;
    }
}

@media (max-width: 768px) {
    .home-gallery {
        padding: 60px 0;
    }
    .gallery-mosaic {
        grid-template-columns: repeat(2, 1fr);
        grid-auto-rows: 180px;
        gap: 8px;
    }
    .mosaic-wide {
        grid-column: span 2;
    }
    .mosaic-tall {
        grid-row: span 1;
    }
}

@media (max-width: 480px) {
    .gallery-mosaic {
        grid-template-columns: 1fr 1fr;
        grid-auto-rows: 150px;
    }
}

/* ===== LIGHTBOX ===== */
.lightbox {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 10000;
    background: rgba(0, 0, 0, 0.95);
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.lightbox.active {
    display: flex;
    opacity: 1;
}

.lightbox-content {
    max-width: 90vw;
    max-height: 85vh;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.lightbox-content img {
    max-width: 90vw;
    max-height: 80vh;
    object-fit: contain;
    border-radius: 8px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
    animation: lightboxZoomIn 0.3s ease;
}

@keyframes lightboxZoomIn {
    from { transform: scale(0.9); opacity: 0; }
    to { transform: scale(1); opacity: 1; }
}

.lightbox-caption {
    color: rgba(255, 255, 255, 0.8);
    margin-top: 15px;
    font-size: 0.95rem;
    text-align: center;
}

.lightbox-close {
    position: absolute;
    top: 20px;
    right: 25px;
    background: none;
    border: none;
    color: white;
    font-size: 2rem;
    cursor: pointer;
    z-index: 10001;
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: background 0.3s;
}

.lightbox-close:hover {
    background: rgba(255, 255, 255, 0.15);
}

.lightbox-prev,
.lightbox-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(255, 255, 255, 0.1);
    border: none;
    color: white;
    font-size: 1.5rem;
    cursor: pointer;
    z-index: 10001;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.3s, transform 0.3s;
}

.lightbox-prev { left: 20px; }
.lightbox-next { right: 20px; }

.lightbox-prev:hover,
.lightbox-next:hover {
    background: rgba(255, 255, 255, 0.25);
}

.lightbox-counter {
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    color: rgba(255, 255, 255, 0.6);
    font-size: 0.9rem;
    font-weight: 500;
}

@media (max-width: 768px) {
    .lightbox-prev,
    .lightbox-next {
        width: 40px;
        height: 40px;
        font-size: 1.2rem;
    }
    .lightbox-prev { left: 10px; }
    .lightbox-next { right: 10px; }
    .lightbox-close { top: 10px; right: 10px; }
}

