          /* ===== RESET & VARIABLES ===== */
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
            cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cdefs%3E%3Cfilter id='neon'%3E%3CfeDropShadow dx='0' dy='0' stdDeviation='2' flood-color='%230006FF' flood-opacity='1'/%3E%3CfeDropShadow dx='0' dy='0' stdDeviation='6' flood-color='%230006FF' flood-opacity='0.7'/%3E%3CfeDropShadow dx='0' dy='0' stdDeviation='12' flood-color='%230006FF' flood-opacity='0.4'/%3E%3C/filter%3E%3C/defs%3E%3Cg filter='url(%23neon)'%3E%3Cpath d='M4 4 L24 14 L16 16 L14 24 L4 4 Z' fill='%230006FF' stroke='%23FFFFFF' stroke-width='1'/%3E%3C/g%3E%3C/svg%3E") 4 4, auto !important;
        }
        body {
            font-family: 'Inter', sans-serif;
            background-color: #f8faff;
            color: #05051E;
            overflow-x: hidden;
            padding-top: 38px;
        }
        :root {
            --black: #000000;
            --blue: #0006FF;
            --white: #FFFFFF;
            --gray: #717171;
            --bg-light: #f0f4ff;
            --whatsapp-green: #25D366;
            --dark-bg: #05051E;
            --neon-glow: 0 0 20px rgba(0, 6, 255, 0.4);
        }

        /* ===== CURSOR ===== */
        .cursor-dot, .cursor-ring { display: none; }
        @media (hover: hover) and (pointer: fine) {
            .cursor-dot, .cursor-ring { display: block; }
            .cursor-dot {
                position: fixed; width: 8px; height: 8px; background: #0006FF; border-radius: 50%;
                pointer-events: none; z-index: 99999; transform: translate(-50%, -50%);
                box-shadow: 0 0 15px #0006FF, 0 0 30px #0006FF66, 0 0 60px #0006FF33;
                transition: width 0.15s, height 0.15s, background 0.15s;
                will-change: transform;
            }
            .cursor-ring {
                position: fixed; width: 40px; height: 40px; border: 2px solid #0006FF; border-radius: 50%;
                pointer-events: none; z-index: 99998; transform: translate(-50%, -50%);
                transition: width 0.3s, height 0.3s, border-color 0.3s, box-shadow 0.3s;
                will-change: transform;
                box-shadow: 0 0 20px #0006FF44, inset 0 0 20px #0006FF22;
                animation: neonPulse 2s ease-in-out infinite;
            }
            @keyframes neonPulse {
                0% { box-shadow: 0 0 20px #0006FF44, inset 0 0 20px #0006FF22; border-color: #0006FF; }
                50% { box-shadow: 0 0 40px #0006FF88, inset 0 0 40px #0006FF44; border-color: #FFFFFF; }
                100% { box-shadow: 0 0 20px #0006FF44, inset 0 0 20px #0006FF22; border-color: #0006FF; }
            }
            .cursor-dot.hover { width: 16px; height: 16px; background: #FFFFFF; box-shadow: 0 0 25px #0006FF, 0 0 50px #0006FF88, 0 0 100px #0006FF44; }
            .cursor-ring.hover { width: 60px; height: 60px; border-color: #FFFFFF; box-shadow: 0 0 40px #0006FF88, inset 0 0 40px #0006FF44; }
            .cursor-dot.click { width: 12px; height: 12px; background: #FFFFFF; box-shadow: 0 0 40px #0006FF, 0 0 80px #0006FFAA; }
            .cursor-ring.click { width: 30px; height: 30px; border-width: 3px; border-color: #FFFFFF; box-shadow: 0 0 60px #0006FFAA; }
        }

        /* ===== TOPBAR ===== */
        .topbar {
            background-color: #05051E;
            color: rgba(255, 255, 255, 0.8);
            font-size: 0.78rem;
            padding: 6px 0;
            border-bottom: 1px solid rgba(255, 255, 255, 0.06);
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            z-index: 1100;
            backdrop-filter: blur(6px);
            -webkit-backdrop-filter: blur(6px);
            transition: all 0.25s ease;
        }
        .topbar .container { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 4px 12px; }
        .topbar .contact-info { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 16px; }
        .topbar .contact-info span { display: inline-flex; align-items: center; gap: 5px; white-space: nowrap; }
        .topbar .contact-info i { color: #0006FF; font-size: 0.8rem; }
        .topbar .social-icons { display: flex; align-items: center; gap: 2px; }
        .topbar .social-icons a { color: rgba(255,255,255,0.55); padding: 4px 6px; transition: all 0.3s ease; font-size: 0.95rem; border-radius: 6px; line-height: 1; }
        .topbar .social-icons a:hover { color: #0006FF; background: rgba(0,6,255,0.15); transform: translateY(-3px) scale(1.1); }
        @media (max-width: 768px) {
            body { padding-top: 44px; }
            .topbar { padding: 4px 0; border-bottom: none; background-color: #05051E; }
            .topbar .contact-info { display: none !important; }
            .topbar .container { justify-content: center; }
            .topbar .social-icons a { font-size: 1.15rem; padding: 4px 10px; color: rgba(255,255,255,0.7); }
        }

        /* ===== NAVBAR ===== */
        .navbar-custom {
            background-color: rgba(5,5,30,0.92);
            backdrop-filter: blur(12px) saturate(180%);
            -webkit-backdrop-filter: blur(12px) saturate(180%);
            border-bottom: 1px solid rgba(255,255,255,0.06);
            transition: all 0.3s ease;
            padding: 8px 0;
            box-shadow: 0 8px 32px rgba(0,0,0,0.2);
            top: 34px;
        }
        @media (max-width: 768px) { .navbar-custom { top: 38px; } }
        @media (max-width: 480px) { .navbar-custom { top: 34px; } }
        .navbar-custom .navbar-brand img { height: 36px; width: auto; filter: drop-shadow(0 0 8px rgba(0,6,255,0.3)); transition: all 0.4s ease; }
        .navbar-custom .navbar-brand:hover img { filter: drop-shadow(0 0 20px rgba(0,6,255,0.6)); transform: rotate(5deg) scale(1.05); }
        .navbar-custom .nav-link { color: rgba(255,255,255,0.8) !important; font-weight: 500; font-size: 0.9rem; padding: 0.5rem 1rem !important; margin: 0 2px; border-radius: 40px; transition: all 0.3s cubic-bezier(0.175,0.885,0.32,1.275); position: relative; }
        .navbar-custom .nav-link::after { content: ''; position: absolute; bottom: 2px; left: 50%; width: 0; height: 2px; background: #0006FF; transition: all 0.3s ease; transform: translateX(-50%); border-radius: 4px; }
        .navbar-custom .nav-link:hover::after, .navbar-custom .nav-link.active::after { width: 60%; }
        .navbar-custom .nav-link:hover, .navbar-custom .nav-link.active { color: white !important; background: rgba(0,6,255,0.2); box-shadow: 0 0 30px rgba(0,6,255,0.15); transform: translateY(-3px) scale(1.02); }
        .navbar-custom .nav-link i { margin-right: 5px; font-size: 0.95rem; transition: transform 0.3s ease; }
        .navbar-custom .nav-link:hover i { transform: scale(1.2) rotate(-5deg); }
        .navbar-custom .dropdown-menu { background: rgba(5,5,30,0.95); backdrop-filter: blur(8px); border: 1px solid rgba(255,255,255,0.08); border-radius: 20px; padding: 0.6rem 0; margin-top: 8px; box-shadow: 0 20px 40px rgba(0,0,0,0.6); animation: dropdownFade 0.3s ease forwards; }
        @keyframes dropdownFade { 0% { opacity:0; transform:translateY(-10px) scale(0.96); } 100% { opacity:1; transform:translateY(0) scale(1); } }
        .navbar-custom .dropdown-item { color: rgba(255,255,255,0.85); font-weight:450; padding:0.5rem 1.8rem; transition: all 0.25s ease; }
        .navbar-custom .dropdown-item:hover { background: rgba(0,6,255,0.2); color: white; transform: translateX(5px); }
        .navbar-custom .dropdown-item i { width: 24px; color: #0006FF; transition: transform 0.3s ease; }
        .navbar-custom .dropdown-item:hover i { transform: scale(1.2) rotate(-8deg); }
        .navbar-toggler { border: none; color: white; padding: 0.2rem 0.5rem; transition: transform 0.3s ease; }
        .navbar-toggler:hover { transform: rotate(90deg); }

        /* ===== HERO MEJORADA Y RESPONSIVA ===== */
        .hero {
            position: relative;
            width: 100%;
            min-height: 85vh;
            display: flex;
            align-items: center;
            overflow: hidden;
            background: #05051E;
            padding: 60px 0 40px;
        }
        .hero::before {
            content: '';
            position: absolute;
            top: -50%; left: -50%;
            width: 200%; height: 200%;
            background: 
                radial-gradient(ellipse at 20% 50%, rgba(0,6,255,0.15) 0%, transparent 60%),
                radial-gradient(ellipse at 80% 50%, rgba(0,6,255,0.08) 0%, transparent 50%),
                linear-gradient(135deg, #05051E 0%, #000000 50%, #05051E 100%);
            z-index: 0;
            animation: gradientMove 8s ease infinite;
            background-size: 200% 200%;
        }
        @keyframes gradientMove {
            0% { background-position: 0% 50%; }
            50% { background-position: 100% 50%; }
            100% { background-position: 0% 50%; }
        }
        .hero .neon-line {
            position: absolute;
            z-index: 1;
            background: linear-gradient(90deg, transparent, #0006FF, transparent);
            opacity: 0.6;
        }
        .hero .neon-line.top { top:0; left:0; width:100%; height:2px; animation: neonPulse 2s infinite; }
        .hero .neon-line.bottom { bottom:0; left:0; width:100%; height:2px; animation: neonPulse 2s infinite 1s; }
        .hero .neon-line.left { top:0; left:0; width:2px; height:100%; background: linear-gradient(180deg, transparent, #0006FF, transparent); animation: neonPulse 2s infinite 0.5s; }
        .hero .neon-line.right { top:0; right:0; width:2px; height:100%; background: linear-gradient(180deg, transparent, #0006FF, transparent); animation: neonPulse 2s infinite 1.5s; }
        .hero .particle {
            position: absolute;
            border-radius: 50%;
            background: #0006FF;
            opacity: 0.12;
            z-index: 1;
            animation: float 6s infinite ease-in-out;
        }
        .hero .particle.p1 { width: 150px; height: 150px; top: 10%; left: 5%; animation-delay: 0s; }
        .hero .particle.p2 { width: 100px; height: 100px; bottom: 15%; left: 20%; animation-delay: 2s; }
        .hero .particle.p3 { width: 200px; height: 200px; top: 20%; right: 15%; animation-delay: 4s; }
        .hero .particle.p4 { width: 80px; height: 80px; bottom: 20%; right: 30%; animation-delay: 1s; }
        @keyframes float {
            0% { transform: translate(0,0) scale(1); }
            50% { transform: translate(20px,-30px) scale(1.2); }
            100% { transform: translate(0,0) scale(1); }
        }
        .hero-container {
            position: relative;
            z-index: 2;
            max-width: 1300px;
            margin: 0 auto;
            padding: 0 30px;
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 40px;
            align-items: center;
            width: 100%;
        }
        .hero-content { animation: fadeInLeft 1s ease forwards; }
        @keyframes fadeInLeft { 0% { opacity:0; transform:translateX(-40px); } 100% { opacity:1; transform:translateX(0); } }
        .hero-content .badge {
            display: inline-block;
            background: rgba(0,6,255,0.15);
            border: 1px solid #0006FF;
            padding: 6px 18px;
            border-radius: 50px;
            font-size: 0.8rem;
            color: #0006FF;
            letter-spacing: 2px;
            text-transform: uppercase;
            margin-bottom: 20px;
            animation: neonBorder 3s infinite;
        }
        @keyframes neonBorder {
            0% { box-shadow: 0 0 10px #0006FF44, inset 0 0 10px #0006FF22; }
            50% { box-shadow: 0 0 30px #0006FF88, inset 0 0 30px #0006FF44; }
            100% { box-shadow: 0 0 10px #0006FF44, inset 0 0 10px #0006FF22; }
        }
        .hero-content h1 {
            font-size: clamp(2.2rem, 8vw, 3.8rem);
            font-weight: 800;
            color: #FFFFFF;
            margin-bottom: 15px;
            letter-spacing: 1px;
            line-height: 1.2;
        }
        .hero-content h1 span {
            background: linear-gradient(135deg, #0006FF, #FFFFFF, #0006FF);
            background-size: 200% 200%;
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
            animation: gradientMove 4s ease infinite;
        }
        .hero-content p {
            font-size: clamp(1rem, 2.5vw, 1.3rem);
            color: #B0B0D0;
            font-weight: 300;
            line-height: 1.7;
            margin-bottom: 30px;
            max-width: 500px;
        }
        .hero-content .btn-hero {
            display: inline-block;
            padding: 14px 40px;
            background: transparent;
            color: #FFFFFF;
            font-size: 1rem;
            font-weight: 600;
            border: 2px solid #0006FF;
            border-radius: 50px;
            text-decoration: none;
            transition: all 0.4s ease;
            letter-spacing: 1px;
            position: relative;
            overflow: hidden;
            animation: neonBorder 3s infinite;
        }
        .hero-content .btn-hero::before {
            content: '';
            position: absolute;
            top: 0; left: -100%;
            width: 100%; height: 100%;
            background: linear-gradient(90deg, transparent, rgba(0,6,255,0.3), transparent);
            transition: left 0.6s;
        }
        .hero-content .btn-hero:hover::before { left: 100%; }
        .hero-content .btn-hero:hover {
            transform: scale(1.05) translateY(-3px);
            box-shadow: 0 0 40px rgba(0,6,255,0.5), inset 0 0 30px rgba(0,6,255,0.1);
            background: rgba(0,6,255,0.1);
            border-color: #FFFFFF;
        }
        .hero-content .btn-hero i { margin-left: 10px; transition: transform 0.3s; }
        .hero-content .btn-hero:hover i { transform: translateX(5px); }

        .hero-image {
            display: flex;
            justify-content: center;
            align-items: center;
            animation: fadeInUp 1s ease forwards;
        }
        @keyframes fadeInUp { 0% { opacity:0; transform:translateY(40px); } 100% { opacity:1; transform:translateY(0); } }
        .hero-image img {
            width: 100%;
            max-width: 550px;
            height: auto;
            border-radius: 24px;
            border: 2px solid #0006FF;
            box-shadow: 0 0 40px rgba(0,6,255,0.2), inset 0 0 40px rgba(0,6,255,0.05);
            transition: all 0.5s ease;
            filter: brightness(1.05) contrast(1.05);
            animation: neonBorder 4s infinite;
        }
        .hero-image img:hover { transform: scale(1.02); box-shadow: 0 0 80px rgba(0,6,255,0.4), inset 0 0 60px rgba(0,6,255,0.1); }

        @media (max-width: 992px) {
            .hero-container { grid-template-columns: 1fr; text-align: center; gap: 30px; }
            .hero-content p { max-width: 100%; margin-left: auto; margin-right: auto; }
            .hero-image img { max-width: 400px; }
            .hero { min-height: 70vh; padding: 40px 0 30px; }
        }
        @media (max-width: 576px) {
            .hero { min-height: 60vh; padding: 20px 0; }
            .hero-image img { max-width: 280px; }
            .hero-content .btn-hero { padding: 12px 28px; font-size: 0.9rem; }
            .hero .particle { display: none; }
        }

        /* ===== SECCIONES GENERALES ===== */
        .section-title {
            font-weight: 700;
            font-size: clamp(2rem, 5vw, 2.8rem);
            letter-spacing: -0.5px;
            color: #05051E;
            position: relative;
            display: inline-block;
        }
        .section-title::after {
            content: '';
            position: absolute;
            bottom: -8px;
            left: 0;
            width: 0;
            height: 4px;
            background: #0006FF;
            border-radius: 4px;
            animation: titleLine 1.5s ease forwards;
        }
        @keyframes titleLine { 0% { width:0; } 100% { width:60px; } }
        .section-title span { color: #0006FF; }

        /* ===== TEAM RESPONSIVE - IMAGEN CON ALTURA FIJA ===== */
        .team-item { gap: 20px; }
        .team-img { position: relative; flex-shrink: 0; }
        .professional-img {
            width: 260px;
            height: 260px;
            object-fit: cover;
            border-radius: 24px;
            border: 5px solid rgba(255,255,255,0.8);
            box-shadow: 0 15px 40px rgba(0,0,0,0.15), 0 5px 15px rgba(37,99,235,0.12);
            transition: all 0.4s ease;
        }
        .professional-img:hover { transform: translateY(-6px) scale(1.02); }
        .experience-badge {
            position: absolute;
            top: 18px;
            right: -10px;
            background: linear-gradient(135deg, #2563eb, #1e40af);
            color: white;
            padding: 12px 16px;
            border-radius: 18px;
            font-size: 13px;
            font-weight: 700;
            text-align: center;
            z-index: 2;
            line-height: 1.3;
            border: 3px solid rgba(255,255,255,0.9);
            min-width: 70px;
        }
        .quote-box {
            background: #f8fafc;
            padding: 20px 25px;
            border-left: 5px solid #2563eb;
            border-radius: 16px;
            box-shadow: 0 8px 25px rgba(0,0,0,0.05);
            color: #334155;
            line-height: 1.8;
        }
        /* En móviles: imagen arriba, texto abajo (por defecto con flex-column) */
        @media (max-width: 992px) {
            .team-item { flex-direction: column !important; text-align: center; }
            .team-info { text-align: center !important; }
            .team-info .text-lg-end { text-align: center !important; }
            .professional-img { width: 200px; height: 200px; }
            .experience-badge { right: 0; top: 0; }
            .quote-box { text-align: left; }
        }
        @media (max-width: 576px) {
            .professional-img { width: 160px; height: 160px; }
            .experience-badge { font-size: 11px; padding: 8px 12px; min-width: 60px; }
        }

        /* ===== FOOTER CON BURBUJAS AZULES INTENSAS ===== */
        footer {
            background: #000000;
            border-top: 3px solid #0006FF;
            padding: 40px 30px 20px;
            margin-top: 60px;
            position: relative;
            overflow: hidden;
        }
        .bubble-container {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            z-index: 0;
            pointer-events: none;
            overflow: hidden;
        }
        .bubble {
            position: absolute;
            bottom: -80px;
            border-radius: 50%;
            animation: rise 12s infinite ease-in-out;
        }
        /* Burbujas con azul intenso y más opacidad */
        .bubble:nth-child(1) { width: 60px; height: 60px; left: 10%; animation-duration: 14s; animation-delay: 0s; background: radial-gradient(circle, rgba(0,6,255,0.35), rgba(0,6,255,0.05)); border: 1px solid rgba(0,6,255,0.25); }
        .bubble:nth-child(2) { width: 100px; height: 100px; left: 25%; animation-duration: 18s; animation-delay: 2s; background: radial-gradient(circle, rgba(0,6,255,0.30), rgba(0,6,255,0.04)); border: 1px solid rgba(0,6,255,0.20); }
        .bubble:nth-child(3) { width: 40px; height: 40px; left: 45%; animation-duration: 12s; animation-delay: 4s; background: radial-gradient(circle, rgba(0,6,255,0.40), rgba(0,6,255,0.06)); border: 1px solid rgba(0,6,255,0.30); }
        .bubble:nth-child(4) { width: 80px; height: 80px; left: 65%; animation-duration: 16s; animation-delay: 1s; background: radial-gradient(circle, rgba(0,6,255,0.32), rgba(0,6,255,0.05)); border: 1px solid rgba(0,6,255,0.22); }
        .bubble:nth-child(5) { width: 50px; height: 50px; left: 85%; animation-duration: 13s; animation-delay: 3s; background: radial-gradient(circle, rgba(0,6,255,0.38), rgba(0,6,255,0.05)); border: 1px solid rgba(0,6,255,0.28); }
        .bubble:nth-child(6) { width: 120px; height: 120px; left: 50%; animation-duration: 20s; animation-delay: 5s; background: radial-gradient(circle, rgba(0,6,255,0.25), rgba(0,6,255,0.03)); border: 1px solid rgba(0,6,255,0.18); }
        @keyframes rise {
            0% { transform: translateY(0) scale(0.8); opacity: 0.5; }
            50% { opacity: 0.9; }
            100% { transform: translateY(-110vh) scale(1.2); opacity: 0; }
        }

        .footer-container {
            max-width: 1300px;
            margin: 0 auto;
            display: grid;
            grid-template-columns: 1.2fr 1.5fr 1.5fr 1.8fr;
            gap: 30px;
            align-items: start;
            position: relative;
            z-index: 2;
        }
        .footer-logo { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
        .footer-logo img { max-width: 260px; height: auto; filter: brightness(1.1); transition: transform 0.3s; }
        .footer-logo img:hover { transform: scale(1.05); }
        .footer-servicios h4, .footer-contacto h4 {
            color: #FFFFFF; font-size: 1.1rem; font-weight: 600;
            margin-bottom: 15px; letter-spacing: 1px;
            border-bottom: 2px solid #0006FF; padding-bottom: 8px; display: inline-block;
        }
        .footer-servicios ul { list-style: none; padding: 0; }
        .footer-servicios ul li {
            color: #CCCCCC; padding: 6px 0; font-size: 0.95rem;
            transition: color 0.3s, transform 0.3s; cursor: default;
            display: flex; align-items: center; gap: 10px;
        }
        .footer-servicios ul li::before { content: '▸'; color: #0006FF; font-weight: bold; font-size: 1.2rem; }
        .footer-servicios ul li:hover { color: #FFFFFF; transform: translateX(5px); }
        .footer-contacto .contacto-item {
            color: #CCCCCC; padding: 6px 0; font-size: 0.95rem;
            display: flex; align-items: center; gap: 12px; transition: color 0.3s;
        }
        .footer-contacto .contacto-item i { color: #0006FF; width: 22px; font-size: 1.1rem; }
        .footer-contacto .contacto-item:hover { color: #FFFFFF; }
        .footer-contacto .contacto-item a { color: #CCCCCC; text-decoration: none; transition: color 0.3s; }
        .footer-contacto .contacto-item a:hover { color: #0006FF; }
        .redes-footer { display: flex; gap: 15px; margin-top: 15px; flex-wrap: wrap; }
        .redes-footer a {
            color: #FFFFFF; background: #05051E; border: 1px solid #0006FF;
            border-radius: 50%; width: 42px; height: 42px;
            display: flex; align-items: center; justify-content: center;
            font-size: 1.2rem; transition: all 0.3s ease; text-decoration: none;
        }
        .redes-footer a:hover { background: #0006FF; transform: scale(1.12) rotate(3deg); box-shadow: 0 0 30px #0006FF44; border-color: #FFFFFF; }
        .footer-mapa { display: flex; flex-direction: column; align-items: flex-end; }
        .footer-mapa iframe {
            width: 100%; max-width: 100%; height: 220px;
            border-radius: 16px; border: 2px solid #0006FF;
            box-shadow: 0 0 30px rgba(0,6,255,0.15); transition: box-shadow 0.3s;
        }
        .footer-mapa iframe:hover { box-shadow: 0 0 50px rgba(0,6,255,0.3); }
        .creditos {
            text-align: center; margin-top: 35px; padding-top: 20px;
            border-top: 1px solid #71717133; color: white;
            font-size: 0.9rem; letter-spacing: 0.5px; grid-column: 1 / -1;
        }
        .creditos i { color: #0006FF; margin: 0 5px; }
        .creditos .highlight { background: linear-gradient(135deg, #0006FF, #FFFFFF); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }

        @media (max-width: 1024px) {
            .footer-container { grid-template-columns: 1fr 1fr; gap: 30px; }
            .footer-mapa { align-items: center; grid-column: 1 / -1; }
            .footer-mapa iframe { max-width: 600px; }
        }
        @media (max-width: 768px) {
            .footer-container { grid-template-columns: 1fr; gap: 25px; }
            .footer-logo { align-items: center; text-align: center; }
            .footer-mapa { align-items: center; }
            .footer-mapa iframe { height: 180px; }
            .redes-footer { justify-content: center; }
            .footer-servicios ul li { justify-content: center; }
            .footer-contacto .contacto-item { justify-content: center; }
        }
        @media (max-width: 480px) {
            .footer-mapa iframe { height: 150px; }
        }

        /* ===== WHATSAPP FLOTANTES ===== */
        .whatsapp-float {
            position: fixed; bottom: 28px; z-index: 9999;
            display: flex; flex-direction: column; align-items: center; gap: 12px;
            transition: all 0.3s ease;
        }
        .whatsapp-float.left { left: 24px; }
        .whatsapp-float.right { right: 24px; }
        .whatsapp-btn {
            display: flex; align-items: center; justify-content: center;
            width: 58px; height: 58px; border-radius: 50%;
            background: #25D366; color: white; font-size: 2rem;
            text-decoration: none; box-shadow: 0 6px 24px rgba(37,211,102,0.4);
            transition: all 0.4s cubic-bezier(0.175,0.885,0.32,1.275);
            position: relative; border: 2px solid rgba(255,255,255,0.15);
            animation: waFloat 3s ease-in-out infinite;
        }
        @keyframes waFloat { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-8px); } }
        .whatsapp-btn:nth-child(2) { animation-delay: 0.5s; }
        .whatsapp-btn:hover { transform: scale(1.15) translateY(-6px) rotate(-5deg); color: white; box-shadow: 0 15px 40px rgba(37,211,102,0.6); background: #20b85f; animation: none; }
        .whatsapp-btn .tooltip-text {
            position: absolute; right: 70px;
            background: rgba(5,5,30,0.92); backdrop-filter: blur(8px);
            color: white; padding: 6px 16px; border-radius: 30px;
            font-size: 0.75rem; font-weight: 500; white-space: nowrap;
            opacity: 0; pointer-events: none; transition: all 0.3s cubic-bezier(0.175,0.885,0.32,1.275);
            box-shadow: 0 4px 16px rgba(0,0,0,0.2); border: 1px solid rgba(255,255,255,0.06);
        }
        .whatsapp-btn:hover .tooltip-text { opacity: 1; right: 74px; transform: scale(1.05); }
        .whatsapp-btn .tooltip-text::after {
            content: ''; position: absolute; right: -6px; top: 50%; transform: translateY(-50%);
            border-left: 6px solid rgba(5,5,30,0.92); border-top: 6px solid transparent; border-bottom: 6px solid transparent;
        }
        .whatsapp-float.right .whatsapp-btn .tooltip-text { right: auto; left: 70px; }
        .whatsapp-float.right .whatsapp-btn:hover .tooltip-text { right: auto; left: 74px; }
        .whatsapp-float.right .whatsapp-btn .tooltip-text::after { right: auto; left: -6px; border-left: none; border-right: 6px solid rgba(5,5,30,0.92); border-top: 6px solid transparent; border-bottom: 6px solid transparent; }
        .whatsapp-btn .badge-num {
            position: absolute; top: -6px; right: -6px;
            background: #0006FF; color: white; border-radius: 30px;
            padding: 2px 8px; font-size: 0.6rem; font-weight: 700;
            border: 2px solid #05051E; line-height: 1.4;
            animation: badgePulse 2s ease-in-out infinite;
        }
        @keyframes badgePulse { 0%,100% { transform:scale(1); } 50% { transform:scale(1.15); } }
        .whatsapp-btn::before {
            content: ''; position: absolute; inset: -6px; border-radius: 50%;
            border: 2px solid rgba(37,211,102,0.3);
            animation: pulse-wa 2s ease-out infinite;
        }
        @keyframes pulse-wa { 0% { transform:scale(1); opacity:1; } 100% { transform:scale(1.5); opacity:0; } }
        .whatsapp-btn:nth-child(2)::before { animation-delay: 0.6s; }
        @media (max-width: 576px) {
            .whatsapp-float { bottom: 18px; }
            .whatsapp-float.left { left: 12px; }
            .whatsapp-float.right { right: 12px; }
            .whatsapp-btn { width: 50px; height: 50px; font-size: 1.6rem; }
            .whatsapp-btn .tooltip-text { display: none; }
        }

        /* ===== REVEAL ===== */
        .reveal { opacity:0; transform:translateY(40px); transition: all 0.8s cubic-bezier(0.175,0.885,0.32,1.275); }
        .reveal.visible { opacity:1; transform:translateY(0); }
        .reveal-delay-1 { transition-delay:0.1s; }
        .reveal-delay-2 { transition-delay:0.2s; }
        .reveal-delay-3 { transition-delay:0.3s; }
        .reveal-delay-4 { transition-delay:0.4s; }


        /* ============================
   SECCIÓN CLIENTES
============================ */

.clientes-section{
    max-width:1400px;
    margin:auto;
    padding:90px 35px 60px;
    position:relative;
}

.clientes-section h2{
    text-align:center;
    font-size:clamp(2.2rem,5vw,3.3rem);
    font-weight:800;
    letter-spacing:.5px;
    margin-bottom:15px;

    background:linear-gradient(90deg,#0006FF,#3F6DFF,#05051E);
    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
}

.clientes-section .subtitle{
    max-width:700px;
    margin:0 auto 70px;
    text-align:center;
    font-size:1.1rem;
    line-height:1.8;
    color:#6B7280;
    position:relative;
}

.clientes-section .subtitle::after{
    content:"";
    width:120px;
    height:4px;
    border-radius:50px;
    background:linear-gradient(90deg,#0006FF,#4F7DFF);
    display:block;
    margin:22px auto 0;
}


/* ============================
      GRID
============================ */

.grid-clientes{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(170px,1fr));
    gap:35px;
    align-items:center;
}


/* ============================
      TARJETAS
============================ */

.cliente-item{

    position:relative;

    background:rgba(255,255,255,.95);

    border:1px solid rgba(0,6,255,.08);

    border-radius:22px;

    padding:28px;

    display:flex;
    justify-content:center;
    align-items:center;

    min-height:150px;

    overflow:hidden;

    transition:.45s cubic-bezier(.175,.885,.32,1.275);

    backdrop-filter:blur(12px);

    box-shadow:
    0 8px 25px rgba(0,0,0,.06),
    0 2px 8px rgba(0,0,0,.04);

}


/* brillo superior */

.cliente-item::before{

    content:"";

    position:absolute;

    top:-120%;

    left:-40%;

    width:80%;

    height:350%;

    background:linear-gradient(
    120deg,
    transparent,
    rgba(255,255,255,.75),
    transparent);

    transform:rotate(25deg);

    transition:.9s;

}


/* borde degradado */

.cliente-item::after{

    content:"";

    position:absolute;

    inset:0;

    border-radius:22px;

    padding:1.5px;

    background:linear-gradient(
    135deg,
    rgba(0,6,255,.4),
    transparent,
    rgba(0,6,255,.2));

    -webkit-mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);

    -webkit-mask-composite:xor;

            mask-composite:exclude;

}


/* Hover */

.cliente-item:hover{

    transform:
    translateY(-12px)
    scale(1.04);

    box-shadow:
    0 20px 45px rgba(0,6,255,.15),
    0 8px 20px rgba(0,0,0,.08);

    border-color:transparent;

    background:#ffffff;

}

.cliente-item:hover::before{

    left:130%;

}


/* ============================
      LOGOS
============================ */

.cliente-item img{

    width:100%;

    max-width:115px;

    object-fit:contain;

    filter:grayscale(100%);

    opacity:.85;

    transition:.45s;

}

.cliente-item:hover img{

    filter:none;

    opacity:1;

    transform:scale(1.08);

}


/* ============================
      EFECTO FLOTANTE
============================ */

.cliente-item{

    animation:floatLogo 5s ease-in-out infinite;

}

.cliente-item:nth-child(2n){

    animation-delay:.6s;

}

.cliente-item:nth-child(3n){

    animation-delay:1.1s;

}

.cliente-item:nth-child(4n){

    animation-delay:1.8s;

}

@keyframes floatLogo{

    0%{
        transform:translateY(0px);
    }

    50%{
        transform:translateY(-7px);
    }

    100%{
        transform:translateY(0px);
    }

}


/* ============================
      RESPONSIVE
============================ */

@media(max-width:768px){

    .clientes-section{

        padding:70px 20px;

    }

    .grid-clientes{

        grid-template-columns:repeat(auto-fit,minmax(140px,1fr));

        gap:22px;

    }

    .cliente-item{

        min-height:130px;

        padding:20px;

    }

}
    
    /* ============================================================
   ESTILOS COMPARTIDOS - ABOUT & FEATURES
   ============================================================ */

/* ----- Títulos de sección mejorados ----- */
.section-title {
  text-align: center;
  margin-bottom: 60px;
  position: relative;
  z-index: 2;
}

.section-badge {
  display: inline-block;
  background: rgba(0,6,255,0.08);
  color: var(--blue, #0006FF);
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  padding: 6px 18px;
  border-radius: 50px;
  margin-bottom: 12px;
  position: relative;
  transition: all 0.3s ease;
}

.section-badge:hover {
  background: var(--blue, #0006FF);
  color: var(--white, #fff);
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(0,6,255,0.20);
}

.section-title h2 {
  font-size: 2.8rem;
  font-weight: 700;
  letter-spacing: -1px;
  color: var(--black, #000);
  margin-bottom: 8px;
  line-height: 1.2;
}

.section-title .gradient-text {
  background: linear-gradient(135deg, var(--blue, #0006FF), #4a4aff, #7c7cff);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  background-size: 200% 200%;
  animation: gradientMove 4s ease-in-out infinite;
}

@keyframes gradientMove {
  0%, 100% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
}

.title-line {
  width: 60px;
  height: 3px;
  background: linear-gradient(90deg, var(--blue, #0006FF), transparent);
  margin: 12px auto 16px;
  border-radius: 3px;
  position: relative;
}

.title-line::after {
  content: '';
  
  position: absolute;
  right: -20px;
  top: 50%;
  transform: translateY(-50%);
  width: 12px;
  height: 12px;
  background: var(--blue, #0006FF);
  border-radius: 50%;
  animation: lineDot 2s ease-in-out infinite;
}

@keyframes lineDot {
  0%, 100% { opacity: 1; transform: translateY(-50%) scale(1); }
  50% { opacity: 0.3; transform: translateY(-50%) scale(0.5); }
}

.section-title p {
  color: var(--gray, #717171);
  font-size: 1.1rem;
  font-weight: 300;
  max-width: 600px;
  margin: 0 auto;
}

/* ============================================================
   ABOUT SECTION - ESTILOS MEJORADOS
   ============================================================ */

.about {
  padding: 80px 0 100px;
  background: var(--bg-light, #f0f4ff);
  position: relative;
  overflow: hidden;
}

/* Fondo decorativo con movimiento */
.about::before {
  content: '';
  position: absolute;
  top: -30%;
  right: -10%;
  width: 600px;
  height: 600px;
  background: radial-gradient(circle, rgba(0,6,255,0.05) 0%, transparent 70%);
  border-radius: 50%;
  pointer-events: none;
  animation: floatBg 12s ease-in-out infinite alternate;
}

.about::after {
  content: '';
  position: absolute;
  bottom: -20%;
  left: -5%;
  width: 500px;
  height: 500px;
  background: radial-gradient(circle, rgba(0,6,255,0.03) 0%, transparent 70%);
  border-radius: 50%;
  pointer-events: none;
  animation: floatBg 15s ease-in-out infinite alternate-reverse;
}

@keyframes floatBg {
  0% { transform: translate(0, 0) scale(1); }
  100% { transform: translate(40px, -30px) scale(1.1); }
}

/* ----- Imagen con efectos ----- */
.image-wrapper {
  position: relative;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 20px 50px rgba(0,6,255,0.10);
  transition: transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);
}

.image-wrapper:hover {
  transform: scale(1.01) translateY(-4px);
  box-shadow: 0 30px 70px rgba(0,6,255,0.15);
}

.image-wrapper img {
  width: 100%;
  display: block;
  transition: transform 0.8s ease;
}

.image-wrapper:hover img {
  transform: scale(1.05);
}

/* Efecto shine en la imagen */
.image-shine {
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: linear-gradient(
    45deg,
    transparent 30%,
    rgba(255,255,255,0.03) 50%,
    transparent 70%
  );
  transform: rotate(45deg);
  pointer-events: none;
  z-index: 1;
  animation: shineMove 8s ease-in-out infinite;
}

@keyframes shineMove {
  0% { transform: rotate(45deg) translateX(-100%); }
  100% { transform: rotate(45deg) translateX(100%); }
}

.image-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(0,6,255,0.06) 0%, rgba(0,0,0,0.02) 60%);
  pointer-events: none;
  z-index: 1;
}

/* Botón de reproducción */
.play-btn {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 72px;
  height: 72px;
  background: var(--white, #fff);
  border-radius: 50%;
  color: var(--blue, #0006FF);
  font-size: 2.2rem;
  box-shadow: 0 10px 40px rgba(0,6,255,0.25);
  transition: all 0.4s cubic-bezier(0.23, 1, 0.32, 1);
  text-decoration: none;
  z-index: 2;
}

.play-btn:hover {
  background: var(--blue, #0006FF);
  color: var(--white, #fff);
  transform: translate(-50%, -50%) scale(1.1);
  box-shadow: 0 20px 50px rgba(0,6,255,0.40);
}

.pulsating {
  animation: pulse 2.5s ease-in-out infinite;
}

@keyframes pulse {
  0% { box-shadow: 0 0 0 0 rgba(0,6,255,0.3); }
  70% { box-shadow: 0 0 0 25px rgba(0,6,255,0); }
  100% { box-shadow: 0 0 0 0 rgba(0,6,255,0); }
}

/* Etiqueta "Ver video" */
.watch-label {
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  background: rgba(0,0,0,0.6);
  backdrop-filter: blur(10px);
  color: var(--white, #fff);
  padding: 8px 18px;
  border-radius: 50px;
  font-size: 0.8rem;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 8px;
  z-index: 2;
  opacity: 0;
  transition: all 0.4s ease;
}

.image-wrapper:hover .watch-label {
  opacity: 1;
  bottom: 30px;
}

.watch-label i {
  font-size: 1rem;
}

/* Badges flotantes */
.floating-badge {
  position: absolute;
  bottom: -15px;
  right: -10px;
  background: var(--white, #fff);
  padding: 14px 22px;
  border-radius: 16px;
  box-shadow: 0 15px 40px rgba(0,0,0,0.08);
  border-left: 4px solid var(--blue, #0006FF);
  display: flex;
  align-items: center;
  gap: 14px;
  z-index: 3;
  animation: floatBadge 4s ease-in-out infinite;
}

.floating-badge-2 {
  position: absolute;
  top: -10px;
  left: -10px;
  background: var(--white, #fff);
  padding: 12px 18px;
  border-radius: 16px;
  box-shadow: 0 15px 40px rgba(0,0,0,0.08);
  border-right: 4px solid var(--blue, #0006FF);
  display: flex;
  align-items: center;
  gap: 12px;
  z-index: 3;
  animation: floatBadge2 5s ease-in-out infinite;
}

.badge-icon {
  width: 38px;
  height: 38px;
  background: rgba(0,6,255,0.08);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--blue, #0006FF);
  font-size: 1.2rem;
}

.badge-content span {
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--black, #000);
  display: block;
  line-height: 1.2;
}

.badge-content small {
  font-size: 0.7rem;
  color: var(--gray, #717171);
  font-weight: 400;
}

@keyframes floatBadge {
  0%, 100% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-8px) rotate(2deg); }
}

@keyframes floatBadge2 {
  0%, 100% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-6px) rotate(-2deg); }
}

/* ----- Contenido lado derecho ----- */
.content {
  padding-left: 20px;
}

.content-header .tag {
  display: inline-block;
  background: rgba(0,6,255,0.08);
  color: var(--blue, #0006FF);
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  padding: 6px 14px;
  border-radius: 50px;
  margin-bottom: 12px;
}

.content-header h3 {
  font-size: 2.2rem;
  font-weight: 700;
  letter-spacing: -0.5px;
  color: var(--black, #000);
  margin-bottom: 16px;
  line-height: 1.3;
}

.content-header .highlight {
  background: linear-gradient(135deg, var(--blue, #0006FF), #4a4aff);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.lead {
  font-size: 1.05rem;
  color: #2a2a4a;
  font-weight: 400;
  line-height: 1.7;
  margin-bottom: 28px;
}

.lead strong {
  color: var(--black, #000);
}

/* Lista de características */
.feature-list {
  list-style: none;
  padding: 0;
  margin: 0 0 30px 0;
}

.feature-list li {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  padding: 14px 0;
  border-bottom: 1px solid rgba(0,6,255,0.04);
  transition: all 0.3s ease;
}

.feature-list li:hover {
  padding-left: 8px;
  border-color: rgba(0,6,255,0.10);
}

.icon-wrapper {
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  background: rgba(0,6,255,0.06);
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--blue, #0006FF);
  font-size: 1.3rem;
  transition: all 0.3s ease;
}

.feature-list li:hover .icon-wrapper {
  background: var(--blue, #0006FF);
  color: var(--white, #fff);
  transform: rotate(-4deg) scale(1.04);
}

.feature-list li strong {
  display: block;
  font-weight: 600;
  color: var(--black, #000);
  font-size: 1rem;
}

.feature-list li p {
  margin: 2px 0 0;
  font-size: 0.92rem;
  color: #4a4a6a;
  line-height: 1.5;
}

/* Texto de cierre */
.closing-text {
  font-size: 0.98rem;
  line-height: 1.8;
  color: #2a2a4a;
  margin-bottom: 28px;
}

/* Botones CTA */
.cta-wrapper {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}

.btn-cta {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  background: var(--black, #000);
  color: var(--white, #fff);
  padding: 14px 34px;
  border-radius: 50px;
  font-weight: 500;
  font-size: 0.95rem;
  text-decoration: none;
  transition: all 0.35s cubic-bezier(0.23, 1, 0.32, 1);
  box-shadow: 0 8px 24px rgba(0,0,0,0.08);
}

.btn-cta i {
  transition: transform 0.3s ease;
}

.btn-cta:hover {
  background: var(--blue, #0006FF);
  color: var(--white, #fff);
  transform: translateY(-3px);
  box-shadow: 0 14px 34px rgba(0,6,255,0.30);
}

.btn-cta:hover i {
  transform: translateX(6px);
}

.btn-cta-outline {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: transparent;
  color: var(--black, #000);
  padding: 14px 28px;
  border-radius: 50px;
  font-weight: 500;
  font-size: 0.95rem;
  text-decoration: none;
  border: 2px solid rgba(0,0,0,0.10);
  transition: all 0.35s cubic-bezier(0.23, 1, 0.32, 1);
}

.btn-cta-outline:hover {
  border-color: var(--blue, #0006FF);
  color: var(--blue, #0006FF);
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(0,6,255,0.06);
}

/* ============================================================
   FEATURES SECTION - ESTILOS MEJORADOS
   ============================================================ */

.features {

  padding: 80px 0 100px;
  background: var(--white, #ffffff);
  position: relative;
  overflow: hidden;
}

.features::before {
  content: '';
  position: absolute;
  top: -40%;
  right: -20%;
  width: 800px;
  height: 800px;
  background: radial-gradient(circle, rgba(0,6,255,0.03) 0%, transparent 70%);
  border-radius: 50%;
  pointer-events: none;
  animation: floatFeatureBg 20s ease-in-out infinite alternate;
}

.features::after {
  content: '';
  position: absolute;
  bottom: -30%;
  left: -15%;
  width: 600px;
  height: 600px;
  background: radial-gradient(circle, rgba(0,6,255,0.02) 0%, transparent 70%);
  border-radius: 50%;
  pointer-events: none;
  animation: floatFeatureBg 25s ease-in-out infinite alternate-reverse;
}

@keyframes floatFeatureBg {
  0% { transform: translate(0, 0) scale(1); }
  100% { transform: translate(60px, -40px) scale(1.2); }
}

/* ----- Feature Item ----- */
.features-item {
  padding: 40px 0;
  position: relative;
  z-index: 2;
  border-bottom: 1px solid rgba(0,6,255,0.05);
  transition: all 0.4s ease;
}

.features-item:last-child {
  border-bottom: none;
}

.features-item.alternate {
  /* Estilo alternativo para variar */
}

/* ----- Imagen con efectos ----- */
.feature-image-wrapper {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 30px;
}

.feature-image {
  max-width: 80%;
  height: auto;
  position: relative;
  z-index: 2;
  transition: transform 0.6s cubic-bezier(0.23, 1, 0.32, 1);
  filter: drop-shadow(0 10px 30px rgba(0,6,255,0.06));
}

.features-item:hover .feature-image {
  transform: scale(1.04) translateY(-6px);
  filter: drop-shadow(0 20px 50px rgba(0,6,255,0.10));
}

.feature-image-glow {
  position: absolute;
  width: 80%;
  height: 80%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: radial-gradient(circle, rgba(0,6,255,0.06) 0%, transparent 70%);
  border-radius: 50%;
  animation: glowPulse 4s ease-in-out infinite;
  pointer-events: none;
}

@keyframes glowPulse {
  0%, 100% { transform: translate(-50%, -50%) scale(1); opacity: 0.6; }
  50% { transform: translate(-50%, -50%) scale(1.2); opacity: 1; }
}

/* Anillo pulsante alrededor de la imagen */
.feature-pulse-ring {
  position: absolute;
  width: 90%;
  height: 90%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border: 1px solid rgba(0,6,255,0.06);
  border-radius: 50%;
  pointer-events: none;
  animation: pulseRing 5s ease-in-out infinite;
}

@keyframes pulseRing {
  0%, 100% { transform: translate(-50%, -50%) scale(1); opacity: 0.3; }
  50% { transform: translate(-50%, -50%) scale(1.1); opacity: 0.8; }
}

/* Iconos flotantes */
.floating-icon {
  position: absolute;
  width: 44px;
  height: 44px;
  background: var(--white, #fff);
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
  color: var(--blue, #0006FF);
  box-shadow: 0 8px 24px rgba(0,6,255,0.10);
  z-index: 3;
  animation: floatIcon 5s ease-in-out infinite;
}

.floating-icon-1 {
  top: 5%;
  right: 10%;
  animation-delay: 0s;
}

.floating-icon-2 {
  bottom: 10%;
  left: 8%;
  animation-delay: 2.5s;
}

@keyframes floatIcon {
  0%, 100% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-12px) rotate(8deg); }
}

/* ----- Contenido de la feature ----- */
.feature-content {
  padding: 10px 0;
  position: relative;
}

.feature-number {
  font-size: 4rem;
  font-weight: 800;
  color: rgba(0,6,255,0.05);
  line-height: 1;
  margin-bottom: -24px;
  font-family: 'Inter', sans-serif;
  letter-spacing: -3px;
  position: relative;
  z-index: 0;
  transition: all 0.4s ease;
}

.features-item:hover .feature-number {
  color: rgba(0,6,255,0.10);
  transform: translateX(6px);
}

.feature-content h3 {
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--black, #000);
  margin-bottom: 14px;
  position: relative;
  z-index: 1;
}

.feature-content h3 .highlight {
  background: linear-gradient(135deg, var(--blue, #0006FF), #4a4aff);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.feature-description {
  font-size: 1.05rem;
  color: #2a2a4a;
  font-weight: 400;
  line-height: 1.7;
  margin-bottom: 16px;
  font-style: italic;
}

.feature-text {
  color: #4a4a6a;
  line-height: 1.8;
  margin-bottom: 18px;
}

/* Lista moderna con checks */
.feature-list-modern {
  list-style: none;
  padding: 0;
  margin: 0 0 20px 0;
}

.feature-list-modern li {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px 0;
  color: #2a2a4a;
  font-size: 0.95rem;
  transition: all 0.3s ease;
}

.feature-list-modern li:hover {
  transform: translateX(8px);
  color: var(--black, #000);
}

.check-wrapper {
  flex-shrink: 0;
  width: 26px;
  height: 26px;
  background: rgba(0,6,255,0.08);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--blue, #0006FF);
  font-size: 0.8rem;
  transition: all 0.3s ease;
}

.feature-list-modern li:hover .check-wrapper {
  background: var(--blue, #0006FF);
  color: var(--white, #fff);
  transform: scale(1.1);
}

/* Enlace "Conoce más" */
.feature-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--blue, #0006FF);
  font-weight: 600;
  text-decoration: none;
  font-size: 0.9rem;
  transition: all 0.3s ease;
  padding: 8px 0;
  border-bottom: 2px solid transparent;
}

.feature-link i {
  transition: transform 0.3s ease;
}

.feature-link:hover {
  border-bottom-color: var(--blue, #0006FF);
  gap: 14px;
}

.feature-link:hover i {
  transform: translateX(6px);
}

/* ============================================================
   RESPONSIVE
   ============================================================ */

@media (max-width: 992px) {
  .about, .features {
    padding: 60px 0 70px;
  }
  .section-title h2 {
    font-size: 2.2rem;
  }
  .content {
    padding-left: 0;
    margin-top: 40px;
  }
  .content-header h3 {
    font-size: 1.8rem;
  }
  .feature-content h3 {
    font-size: 1.5rem;
  }
  .feature-number {
    font-size: 3rem;
  }
  .floating-badge-2 {
    display: none;
  }
  .floating-icon {
    display: none;
  }
  .feature-image {
    max-width: 60%;
  }
}

@media (max-width: 768px) {
  .floating-badge {
    bottom: -8px;
    right: 10px;
    padding: 10px 16px;
  }
  .floating-badge .badge-content span {
    font-size: 1rem;
  }
  .floating-badge .badge-icon {
    width: 32px;
    height: 32px;
    font-size: 1rem;
  }
  .feature-image {
    max-width: 50%;
  }
  .cta-wrapper {
    flex-direction: column;
  }
  .btn-cta, .btn-cta-outline {
    justify-content: center;
  }
}

@media (max-width: 576px) {
  .about, .features {
    padding: 40px 0 50px;
  }
  .section-title h2 {
    font-size: 1.8rem;
  }
  .content-header h3 {
    font-size: 1.5rem;
  }
  .feature-content h3 {
    font-size: 1.3rem;
  }
  .feature-number {
    font-size: 2.5rem;
    margin-bottom: -16px;
  }
  .floating-badge {
    display: none;
  }
  .watch-label {
    font-size: 0.7rem;
    padding: 6px 14px;
  }
}


        /* SECCIONES DE SERVICIOS */
        /* Título de sección */
        .section-head {
            margin: 32px 0 12px;
        }
        .section-head h1 {
            font-size: 2.6rem;
            font-weight: 700;
            letter-spacing: -0.03em;
            color: var(--dark-blue);
        }
        .section-head .sub {
            font-size: 1.1rem;
            color: var(--gray);
            font-weight: 400;
            border-left: 5px solid var(--blue);
            padding-left: 20px;
            margin-top: 6px;
        }
        .divider-line {
            height: 4px;
            width: 90px;
            background: var(--blue);
            border-radius: 8px;
            margin-top: 14px;
        }

        /* ----- GRID servicios ----- */
        .services-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
            gap: 32px;
            margin: 40px 0 48px;
        }

        /* Tarjeta premium */
        .service-card {
            background: var(--white);
            border-radius: 36px;
            padding: 28px 28px 28px;
            box-shadow: var(--shadow-sm);
            border: 1px solid rgba(0, 6, 255, 0.03);
            transition: transform 0.3s cubic-bezier(0.2, 0, 0, 1), box-shadow 0.4s ease;
            display: flex;
            flex-direction: column;
            position: relative;
            backdrop-filter: blur(2px);
            overflow: hidden;
        }
        /* Línea azul superior */
        .service-card::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 5px;
            background: var(--blue);
            opacity: 0.25;
            transition: opacity 0.3s, height 0.2s;
            border-radius: 36px 36px 0 0;
        }
        .service-card:hover::before {
            opacity: 0.9;
            height: 6px;
        }

        /* Asesorías con plus */
        .service-card.asesorias {
            background: linear-gradient(145deg, #ffffff, #f6f9ff);
            border-left: 6px solid var(--blue);
        }
        .service-card.asesorias::before {
            background: var(--blue);
            opacity: 0.5;
            height: 5px;
        }
        .service-card.asesorias:hover::before {
            opacity: 1;
            height: 6px;
        }

        .service-card:hover {
            transform: translateY(-8px);
            box-shadow: var(--shadow-hover);
            border-color: rgba(0, 6, 255, 0.08);
        }

        /* ----- IMAGEN DEL SERVICIO ----- */
        .service-image {
            width: 100%;
            height: 180px;
            border-radius: 24px;
            margin-bottom: 20px;
            overflow: hidden;
            background: var(--bg-light);
            display: flex;
            align-items: center;
            justify-content: center;
            position: relative;
            transition: transform 0.3s ease, box-shadow 0.3s ease;
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.02);
        }
        .service-image img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform 0.4s ease;
        }
        .service-card:hover .service-image img {
            transform: scale(1.04);
        }
        .service-image .icon-overlay {
            position: absolute;
            font-size: 3.5rem;
            color: rgba(0, 6, 255, 0.12);
            opacity: 0.5;
            pointer-events: none;
        }

        /* icono wrapper (ahora más pequeño) */
        .icon-wrapper {
            background: var(--bg-light);
            width: 60px;
            height: 60px;
            border-radius: 20px;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 2rem;
            color: var(--blue);
            margin-bottom: 16px;
            transition: all 0.25s ease;
            box-shadow: 0 6px 14px rgba(0, 6, 255, 0.04);
            position: relative;
        }
        .service-card:hover .icon-wrapper {
            background: var(--blue);
            color: var(--white);
            transform: scale(1.02) rotate(1deg);
            box-shadow: 0 14px 24px -8px rgba(0, 6, 255, 0.3);
        }
        .icon-wrapper i {
            animation: floatIcon 5s ease-in-out infinite;
            transition: transform 0.2s;
        }
        .service-card:hover .icon-wrapper i {
            animation: none;
            transform: scale(1.1) rotate(2deg);
        }
        @keyframes floatIcon {
            0% { transform: translateY(0) scale(1); }
            50% { transform: translateY(-5px) scale(1.02); }
            100% { transform: translateY(0) scale(1); }
        }

        /* contenido */
        .service-card h3 {
            font-size: 1.5rem;
            font-weight: 700;
            color: var(--dark-blue);
            letter-spacing: -0.02em;
            margin-bottom: 6px;
        }
        .service-card .desc {
            color: var(--gray);
            font-size: 0.95rem;
            line-height: 1.6;
            margin-bottom: 14px;
            flex: 1;
        }

        /* características */
        .feature-list {
            display: flex;
            flex-wrap: wrap;
            gap: 10px 14px;
            margin-top: 2px;
            margin-bottom: 16px;
        }
        .feature-item {
            display: flex;
            align-items: center;
            gap: 6px;
            font-size: 0.8rem;
            font-weight: 500;
            color: var(--dark-blue);
            background: rgba(0, 6, 255, 0.02);
            padding: 4px 12px 4px 8px;
            border-radius: 60px;
            border: 1px solid rgba(0, 6, 255, 0.04);
            transition: background 0.2s;
        }
        .feature-item i {
            color: var(--blue);
            font-size: 0.8rem;
            width: 16px;
            text-align: center;
        }
        .service-card:hover .feature-item {
            background: rgba(0, 6, 255, 0.04);
        }

        /* badge */
        .badge-tech {
            background: rgba(0, 6, 255, 0.02);
            padding: 5px 16px;
            border-radius: 60px;
            font-size: 0.65rem;
            font-weight: 600;
            color: var(--blue);
            border: 1px solid rgba(0, 6, 255, 0.06);
            letter-spacing: 0.4px;
            align-self: flex-start;
            transition: 0.2s;
            margin-top: 4px;
            text-transform: uppercase;
        }
        .service-card:hover .badge-tech {
            background: rgba(0, 6, 255, 0.06);
            border-color: rgba(0, 6, 255, 0.15);
        }

        /* ----- BOTÓN WHATSAPP ----- */
        .btn-whatsapp {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 10px;
            background: var(--blue);
            color: var(--white);
            padding: 10px 20px;
            border-radius: 60px;
            font-weight: 600;
            font-size: 0.85rem;
            border: none;
            box-shadow: 0 6px 16px rgba(0, 6, 255, 0.2);
            transition: all 0.25s ease;
            cursor: pointer;
            text-decoration: none;
            margin-top: 16px;
            align-self: flex-start;
            width: 100%;
            justify-content: center;
        }
        .btn-whatsapp i {
            font-size: 1.1rem;
            color: var(--white);
        }
        .btn-whatsapp:hover {
            background: #0004cc;
            transform: scale(1.02);
            box-shadow: 0 10px 24px rgba(0, 6, 255, 0.3);
        }
        .service-card.asesorias .btn-whatsapp {
            background: var(--blue);
            box-shadow: 0 6px 16px rgba(0, 6, 255, 0.25);
        }
        .service-card.asesorias .btn-whatsapp:hover {
            background: #0004cc;
        }

        /* ----- CTA integrado ----- */
        .cta-panel {
            background: var(--bg-light);
            border-radius: 48px;
            padding: 30px 36px;
            margin: 20px 0 24px;
            display: flex;
            flex-wrap: wrap;
            justify-content: space-between;
            align-items: center;
            border: 1px solid rgba(0, 6, 255, 0.04);
            transition: box-shadow 0.25s;
        }
        .cta-panel:hover {
            box-shadow: var(--shadow-sm);
        }
        .cta-panel .cta-text {
            display: flex;
            align-items: center;
            gap: 14px;
        }
        .cta-panel .cta-text i {
            font-size: 2.2rem;
            color: var(--blue);
        }
        .cta-panel .cta-text h4 {
            font-weight: 600;
            font-size: 1.2rem;
            color: var(--dark-blue);
        }
        .cta-panel .cta-text p {
            color: var(--gray);
            font-size: 0.95rem;
        }
        .cta-actions {
            display: flex;
            gap: 14px;
            flex-wrap: wrap;
            margin-top: 8px;
        }
        .btn-primary,
        .btn-outline {
            padding: 10px 30px;
            border-radius: 60px;
            font-weight: 600;
            font-size: 0.9rem;
            border: none;
            background: var(--blue);
            color: white;
            box-shadow: 0 8px 20px rgba(0, 6, 255, 0.2);
            transition: 0.2s;
            cursor: default;
            display: inline-flex;
            align-items: center;
            gap: 10px;
        }
        .btn-primary i {
            font-size: 1rem;
        }
        .btn-primary:hover {
            transform: scale(1.02);
            box-shadow: 0 12px 28px rgba(0, 6, 255, 0.3);
        }
        .btn-outline {
            background: transparent;
            color: var(--blue);
            border: 1.5px solid var(--blue);
            box-shadow: none;
        }
        .btn-outline:hover {
            background: rgba(0, 6, 255, 0.03);
        }

       
        /* responsive */
        @media (max-width: 700px) {
            .header {
                flex-direction: column;
                align-items: flex-start;
                gap: 12px;
            }
            .section-head h1 {
                font-size: 2rem;
            }
            .cta-panel {
                flex-direction: column;
                align-items: flex-start;
                gap: 16px;
            }
            .service-card {
                padding: 24px 18px;
            }
            .service-image {
                height: 150px;
            }
            .btn-whatsapp {
                width: 100%;
                justify-content: center;
            }
        }
       .flags{
    display:flex;
    align-items:center;
    gap:10px;
    margin-left:20px;
}

.flags a{
    display:flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
}

.flags img{
    width:20px;
    height:20px;
    border-radius:50%;
    object-fit:cover;
    border:2px solid #fff;
    box-shadow:0 2px 8px rgba(0,0,0,.2);
    transition:all .3s ease;
    cursor:pointer;
}

.flags img:hover{
    transform:scale(1.15);
    box-shadow:0 5px 15px rgba(0,0,0,.35);
}
    /* ===== CONTACT SECTION ===== */
    .contact {
        background: var(--bg-light);
        padding: 80px 0;
    }
    .contact .section-title h2 {
        font-weight: 700;
        color: var(--black);
    }
    .contact .section-title h2 span {
        color: var(--blue);
    }
    .contact .section-title p {
        color: var(--gray);
    }

    /* info card */
    .contact-infos {
        background: var(--white);
        border-left: 6px solid var(--blue);
        border-radius: 20px;
        box-shadow: 0 10px 40px rgba(0, 6, 255, 0.08);
        transition: transform 0.3s, box-shadow 0.3s;
    }
    .contact-infos:hover {
        transform: translateY(-4px);
        box-shadow: 0 20px 50px rgba(0, 6, 255, 0.12);
    }
    .contact-infos h4 {
        color: var(--black);
        font-weight: 600;
    }
    .contact-infos i.bi {
        color: var(--blue);
        font-size: 1.4rem;
        margin-right: 12px;
    }
    .contact-infos a {
        color: var(--blue);
        text-decoration: none;
        font-weight: 500;
        transition: color 0.3s;
    }
    .contact-infos a:hover {
        color: var(--black);
        text-decoration: underline;
    }

    /* ===== ESTADO EN VIVO ===== */
    .live-status {
        background: linear-gradient(135deg, #f8f9ff, #eef0ff);
        border-radius: 50px;
        padding: 10px 20px;
        display: inline-flex;
        align-items: center;
        gap: 10px;
        font-weight: 600;
        font-size: 0.95rem;
        border: 2px solid #e0e4f0;
        margin-bottom: 16px;
        animation: pulse-border 2s infinite;
    }
    .live-status .status-dot {
        width: 12px;
        height: 12px;
        border-radius: 50%;
        display: inline-block;
        animation: pulse-dot 1.5s infinite;
    }
    .status-dot.open {
        background: #28a745;
        box-shadow: 0 0 12px rgba(40, 167, 69, 0.5);
    }
    .status-dot.closed {
        background: #dc3545;
        box-shadow: 0 0 12px rgba(220, 53, 69, 0.5);
    }
    .status-dot.virtual {
        background: #ffc107;
        box-shadow: 0 0 12px rgba(255, 193, 7, 0.5);
    }
    .status-text.open { color: #155724; }
    .status-text.closed { color: #721c24; }
    .status-text.virtual { color: #856404; }

    @keyframes pulse-dot {
        0%, 100% { transform: scale(1); }
        50% { transform: scale(1.3); }
    }
    @keyframes pulse-border {
        0%, 100% { border-color: #e0e4f0; }
        50% { border-color: var(--blue); }
    }

    /* ===== HORARIOS DE ATENCIÓN ===== */
    .schedule-box {
        background: #f8f9ff;
        border-radius: 16px;
        padding: 20px 24px;
        border: 2px solid #eef0ff;
        transition: all 0.3s;
    }
    .schedule-box:hover {
        border-color: var(--blue);
        background: #f0f2ff;
    }
    .schedule-box .day {
        font-weight: 600;
        color: var(--black);
        font-size: 0.95rem;
    }
    .schedule-box .hour {
        color: var(--gray);
        font-size: 0.9rem;
    }
    .schedule-box .badge-status {
        font-size: 0.7rem;
        padding: 4px 12px;
        border-radius: 50px;
        font-weight: 600;
        letter-spacing: 0.3px;
    }
    .badge-open {
        background: #d4edda;
        color: #155724;
    }
    .badge-virtual {
        background: #fff3cd;
        color: #856404;
    }
    .badge-closed {
        background: #f8d7da;
        color: #721c24;
    }
    .schedule-divider {
        border-top: 2px dashed #e0e4f0;
        margin: 12px 0;
    }

    /* ===== NÚMEROS DE CONTACTO ===== */
    .contact-numbers {
        display: flex;
        flex-direction: column;
        gap: 8px;
        margin: 8px 0 12px 0;
    }
    .contact-numbers .number-item {
        display: flex;
        align-items: center;
        gap: 12px;
        padding: 8px 14px;
        background: #f8f9ff;
        border-radius: 12px;
        border: 2px solid #eef0ff;
        transition: all 0.3s;
        text-decoration: none;
    }
    .contact-numbers .number-item:hover {
        border-color: var(--whatsapp-green);
        background: #f0fff4;
        transform: translateX(4px);
    }
    .contact-numbers .number-item i {
        font-size: 1.4rem;
        color: var(--whatsapp-green);
    }
    .contact-numbers .number-item .phone-number {
        font-weight: 600;
        color: var(--black);
        font-size: 1rem;
    }
    .contact-numbers .number-item .phone-label {
        font-size: 0.75rem;
        color: var(--gray);
        font-weight: 400;
    }

    /* ===== REDES SOCIALES CIRCULARES ===== */
    .social-circle {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 48px;
        height: 48px;
        border-radius: 50%;
        font-size: 1.3rem;
        color: var(--white);
        text-decoration: none;
        transition: all 0.3s ease;
        border: 2px solid transparent;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    }
    .social-circle:hover {
        transform: scale(1.12) translateY(-3px);
        box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
        color: var(--white);
    }

    .social-circle.facebook {
        background: var(--facebook);
        border-color: var(--facebook);
    }
    .social-circle.instagram {
        background: var(--instagram);
        border-color: var(--instagram);
    }
    .social-circle.tiktok {
        background: var(--tiktok);
        border-color: var(--tiktok);
    }
    .social-circle.youtube {
        background: var(--youtube);
        border-color: var(--youtube);
    }

    .contact-infos .redes-wrapper {
        display: flex;
        gap: 12px;
        flex-wrap: wrap;
        margin-top: 12px;
    }

    /* form card */
    .contact .bg-white {
        background: var(--white) !important;
        border-radius: 20px;
        box-shadow: 0 10px 40px rgba(0, 6, 255, 0.08);
        border-left: 6px solid var(--blue);
        transition: transform 0.3s, box-shadow 0.3s;
    }
    .contact .bg-white:hover {
        transform: translateY(-4px);
        box-shadow: 0 20px 50px rgba(0, 6, 255, 0.12);
    }
    .contact .bg-white h4 {
        color: var(--black);
        font-weight: 600;
    }
    .contact .bg-white h4 i {
        color: var(--blue);
    }

    .contact .form-label {
        font-weight: 500;
        color: var(--black);
        font-size: 0.9rem;
    }
    .contact .form-label i {
        color: var(--blue);
        margin-right: 6px;
    }
    .contact .form-control,
    .contact .form-select {
        border-radius: 16px;
        border: 2px solid #e9ecef;
        padding: 14px 18px;
        font-size: 1rem;
        transition: border-color 0.3s, box-shadow 0.3s;
        background: #fafbff;
    }
    .contact .form-control:focus,
    .contact .form-select:focus {
        border-color: var(--blue);
        box-shadow: 0 0 0 4px rgba(0, 6, 255, 0.1);
    }
    .contact .btn-success {
        background: var(--whatsapp-green);
        border: none;
        border-radius: 50px;
        padding: 14px 36px;
        font-weight: 600;
        transition: all 0.3s;
        box-shadow: 0 8px 24px rgba(37, 211, 102, 0.3);
    }
    .contact .btn-success:hover {
        transform: scale(1.03);
        box-shadow: 0 12px 32px rgba(37, 211, 102, 0.4);
        background: #1da85c;
    }
    .contact .btn-success i {
        margin-right: 10px;
    }

    .footer-mapa iframe {
        width: 100%;
        height: 250px;
        border-radius: 16px;
        border: 2px solid #eef0ff;
        margin-top: 12px;
    }

    /* ===== RESPONSIVE ===== */
    @media (max-width: 768px) {
        .schedule-box {
            padding: 16px;
        }
        .schedule-box .day {
            font-size: 0.85rem;
        }
        .contact .btn-success {
            width: 100%;
            justify-content: center;
        }
        .footer-mapa iframe {
            height: 200px;
        }
        .live-status {
            font-size: 0.85rem;
            padding: 8px 16px;
            width: 100%;
            justify-content: center;
        }
        .contact-numbers .number-item {
            padding: 6px 12px;
        }
        .contact-numbers .number-item .phone-number {
            font-size: 0.9rem;
        }
    }

/* ===== OCULTAR WIDGET DE GOOGLE ===== */
#google_translate_element,
.goog-te-banner-frame,
.goog-te-gadget-icon,
.goog-te-combo,
.goog-te-footer,
.skiptranslate {
    display: none !important;
}

.goog-tooltip,
.goog-tooltip:hover,
.goog-text-highlight {
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

body {
    top: 0 !important;
}

/* ===== ESTILOS PARA BANDERAS ACTIVAS ===== */
.flags {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-right: 10px;
}

.flags a {
    display: inline-block;
    transition: all 0.3s ease;
    opacity: 0.6;
    border-radius: 50%;
    border: 2px solid transparent;
    padding: 2px;
}

.flags a:hover {
    opacity: 0.9;
    transform: scale(1.1);
}

.flags a.active {
    opacity: 1;
    border-color: #7A8EFF;
    box-shadow: 0 0 15px rgba(122, 142, 255, 0.4);
    transform: scale(1.1);
}



/* Ajuste responsive */
@media (max-width: 768px) {
    .flags a img {
        width: 24px;
        height: 24px;
    }
    
    .flags {
        gap: 5px;
        margin-right: 8px;
    }
}

@media (max-width: 480px) {
    .flags a img {
        width: 20px;
        height: 20px;
    }