*{
            margin:0;
            padding:0;
            box-sizing:border-box;
        }:root{
            --azul-wawi:#2f54ff;
            --azul-hover:#173df0;
            --azul-oscuro:#050b2e;
            --blanco:#ffffff;
            --gris-texto:#596073;
            --linea-suave:#e8eaf3;
        }html{
            scroll-behavior:smooth;
        }body{
            font-family:"Montserrat", sans-serif;
            background:var(--blanco);
            color:var(--azul-oscuro);
        }/* ============================================================
        AQUÍ INICIA CSS DEL HEADER
        ============================================================ */.wawi-header{
            width:100%;
            height:86px;
            background:var(--blanco);
            display:flex;
            align-items:center;
            justify-content:space-between;
            padding:0 60px;
            position:sticky;
            top:0;
            z-index:1000;
            transition:box-shadow .3s ease;
        }.header-scroll{
            box-shadow:0 10px 30px rgba(0,0,0,.06);
        }.wawi-logo{
            display:inline-block;
            text-decoration:none;
            cursor:pointer;
            transition:transform .35s ease;
        }.wawi-logo img{
            width:190px;
            height:auto;
            display:block;
        }.wawi-logo:hover{
            transform:scale(1.07) translateY(-2px);
        }.wawi-nav{
            display:flex;
            align-items:center;
            gap:54px;
        }.wawi-nav a{
            position:relative;
            text-decoration:none;
            color:var(--azul-oscuro);
            font-size:14px;
            font-weight:400;
            padding:32px 0;
            transition:color .3s ease;
        }.wawi-nav a::after{
            content:"";
            position:absolute;
            left:0;
            bottom:20px;
            width:0;
            height:3px;
            background:var(--azul-wawi);
            border-radius:10px;
            transition:width .3s ease;
        }.wawi-nav a:hover,
        .wawi-nav a.active{
            color:var(--azul-wawi);
        }.wawi-nav a:hover::after,
        .wawi-nav a.active::after{
            width:100%;
        }.wawi-campus-btn{
            background:var(--azul-wawi);
            color:var(--blanco);
            text-decoration:none;
            font-size:14px;
            font-weight:500;
            padding:16px 30px;
            border-radius:18px;
            transition:all .3s ease;
        }.wawi-campus-btn:hover{
            background:var(--azul-hover);
            transform:translateY(-2px);
        }.wawi-campus-mobile{
            display:none;
        }.wawi-menu-toggle{
            display:none;
            width:44px;
            height:44px;
            border:none;
            background:transparent;
            cursor:pointer;
            position:relative;
        }.wawi-menu-toggle span{
            display:block;
            width:26px;
            height:2px;
            background:var(--azul-oscuro);
            margin:6px auto;
            border-radius:20px;
            transition:all .3s ease;
        }.wawi-header.menu-open .wawi-menu-toggle span:nth-child(1){
            transform:translateY(8px) rotate(45deg);
        }.wawi-header.menu-open .wawi-menu-toggle span:nth-child(2){
            opacity:0;
        }.wawi-header.menu-open .wawi-menu-toggle span:nth-child(3){
            transform:translateY(-8px) rotate(-45deg);
        }/* ============================================================
        AQUÍ FINALIZA CSS DEL HEADER
        ============================================================ *//* ============================================================
        AQUÍ INICIA CSS DEL SLIDER
        ============================================================ */.wawi-slider{
            width:100%;
            position:relative;
            overflow:hidden;
            background:#ffffff;
            height:clamp(420px, 36.5vw, 758px);
        }.wawi-slide{
            position:absolute;
            inset:0;
            opacity:0;
            visibility:hidden;
            z-index:1;
            transition:opacity 1.1s ease, visibility 1.1s ease;
        }.wawi-slide.active{
            opacity:1;
            visibility:visible;
            z-index:2;
        }.wawi-slide picture,
        .wawi-slide img{
            width:100%;
            height:100%;
            display:block;
        }.wawi-slide img{
            object-fit:cover;
            object-position:center center;
        }.slider-arrow{
            position:absolute;
            top:50%;
            transform:translateY(-50%);
            z-index:10;
            width:44px;
            height:44px;
            border:none;
            border-radius:50%;
            background:rgba(255,255,255,.72);
            color:var(--azul-wawi);
            font-size:22px;
            cursor:pointer;
            transition:all .3s ease;
            backdrop-filter:blur(6px);
        }.slider-arrow:hover{
            background:#ffffff;
            transform:translateY(-50%) scale(1.08);
        }.slider-prev{
            left:28px;
        }.slider-next{
            right:28px;
        }.slider-progress{
            position:absolute;
            left:50%;
            bottom:26px;
            transform:translateX(-50%);
            z-index:20;
            display:flex;
            gap:10px;
        }.progress-item{
            width:54px;
            height:4px;
            border:none;
            border-radius:20px;
            background:rgba(47,84,255,.25);
            overflow:hidden;
            cursor:pointer;
            padding:0;
        }.progress-fill{
            display:block;
            width:0%;
            height:100%;
            background:var(--azul-wawi);
            border-radius:20px;
        }.progress-item.active .progress-fill{
            animation:progressAnimation linear forwards;
        }@keyframes progressAnimation{from{ width:0%; }to{ width:100%; }}/* ============================================================
        AQUÍ FINALIZA CSS DEL SLIDER
        ============================================================ *//* ============================================================
        AQUÍ INICIA CSS DE EMPRESAS
        ============================================================ */.wawi-empresas{
            width:100%;
            background:#ffffff;
            padding:72px 0 62px;
            overflow:hidden;
        }.wawi-logos-marquee{
            width:100%;
            overflow:hidden;
            position:relative;
            border-top:1px solid var(--linea-suave);
            border-bottom:1px solid var(--linea-suave);
            padding:24px 0;
        }.wawi-logos-track{
            display:flex;
            align-items:center;
            width:max-content;
            animation:wawiLogosMove 28s linear infinite;
        }.wawi-logos-marquee:hover .wawi-logos-track{
            animation-play-state:paused;
        }.wawi-logo-empresa{
            min-width:210px;
            height:72px;
            display:flex;
            align-items:center;
            justify-content:center;
            position:relative;
            text-decoration:none;
        }.wawi-logo-empresa::after{
            content:"";
            position:absolute;
            right:0;
            width:1px;
            height:34px;
            background:var(--linea-suave);
        }.wawi-logo-empresa img{
            max-width:140px;
            max-height:42px;
            object-fit:contain;
            filter:grayscale(100%);
            opacity:.62;
            transition:all .35s ease;
        }.wawi-logo-empresa:hover img{
            filter:grayscale(0%);
            opacity:1;
            transform:scale(1.08);
        }@keyframes wawiLogosMove{from{ transform:translateX(0); }to{ transform:translateX(-50%); }}/* ============================================================
        AQUÍ FINALIZA CSS DE EMPRESAS
        ============================================================ *//* ============================================================
        AQUÍ INICIA CSS DE HISTORIAS QUE TRANSFORMAN
        ============================================================

        Objetivo de esta sección:
        - Mostrar testimonios de clientes/personas desde una estética más editorial y humana.
        - Reducir el margen superior para que la sección se integre mejor con el bloque anterior.
        - Mantener el fondo general blanco, sin bloque gris detrás de toda la sección.
        - Mantener todo el fondo en blanco, sin círculos ni sombras grises decorativas.
        - Evitar el aspecto típico de plataforma CMS usando tarjetas más abiertas, fotos grandes y detalles sutiles.
        - En desktop se muestran 3 historias una al lado de la otra.
        - En tablet se muestran 2 historias.
        - En mobile se muestra 1 historia por vez, con navegación táctil.
        - Las imágenes deben guardarse en la carpeta img/ con nombres:
          historia1.png, historia2.png, historia3.png, etc.
        */.wawi-historias{
            width:100%;
            background:#ffffff;
            padding:34px 0 34px;
            overflow:hidden;
            position:relative;
            isolation:isolate;
        }.wawi-historias::before{
            content:none;
            display:none;
        }/*
        Fondo de la sección:
        - Se elimina definitivamente cualquier círculo, mancha o sombra gris de fondo.
        - La sección queda integrada sobre blanco puro para una estética más limpia y premium.
        */.wawi-historias-contenedor{
            width:min(1180px,90%);
            margin:0 auto;
            position:relative;
            z-index:1;
        }.wawi-historias-slider{
            position:relative;
            width:100%;
        }.wawi-historias-viewport{
            width:100%;
            overflow:hidden;
            padding:12px 0 0;
            background:#ffffff;
        }.wawi-historias-track{
            display:flex;
            transition:transform .65s ease;
            will-change:transform;
        }.wawi-historia-card{
            flex:0 0 calc(100% / 3);
            padding:0 15px;
        }.wawi-historia-inner{
            min-height:430px;
            height:100%;
            background:#ffffff;
            border:1px solid rgba(232,234,243,.95);
            border-radius:34px;
            padding:28px 30px 32px;
            text-align:left;
            box-shadow:none;
            position:relative;
            overflow:hidden;
            transition:transform .35s ease, border-color .35s ease;
        }.wawi-historia-inner::before{
            content:"“";
            position:absolute;
            right:26px;
            top:10px;
            font-size:118px;
            line-height:1;
            font-weight:300;
            color:rgba(47,84,255,.07);
            pointer-events:none;
        }.wawi-historia-inner:hover{
            transform:translateY(-5px);
            border-color:rgba(47,84,255,.22);
        }/*
        Marco de la fotografía del cliente:
        - Vuelve al formato rectangular con puntas redondeadas.
        - Se elimina el círculo gris detrás de cada foto.
        - La foto queda más protagonista y más alineada con una estética institucional premium.
        */.wawi-historia-foto{
            width:190px;
            height:136px;
            margin:0 0 24px;
            border-radius:24px;
            padding:7px;
            background:#ffffff;
            border:1px solid rgba(232,234,243,.95);
            box-shadow:none;
            position:relative;
            z-index:1;
        }.wawi-historia-foto img{
            width:100%;
            height:100%;
            display:block;
            object-fit:cover;
            border-radius:18px;
            filter:saturate(1.02) contrast(1.02);
        }.wawi-historia-estrellas{
            font-size:14px;
            letter-spacing:3px;
            color:var(--azul-wawi);
            margin-bottom:18px;
            position:relative;
            z-index:1;
        }.wawi-historia-comentario{
            font-size:15px;
            line-height:1.85;
            font-weight:300;
            color:#3f465a;
            margin-bottom:26px;
            position:relative;
            z-index:1;
        }.wawi-historia-nombre{
            font-size:16px;
            font-weight:400;
            color:var(--azul-oscuro);
            margin-bottom:7px;
            position:relative;
            z-index:1;
        }.wawi-historia-rol{
            display:block;
            font-size:13px;
            line-height:1.55;
            font-weight:300;
            color:#6d7487;
            position:relative;
            z-index:1;
        }.wawi-historias-controles{
            display:flex;
            align-items:center;
            justify-content:flex-start;
            gap:14px;
            margin-top:18px;
        }.historias-arrow{
            width:44px;
            height:44px;
            border:1px solid var(--linea-suave);
            border-radius:16px;
            background:#ffffff;
            color:var(--azul-wawi);
            font-size:20px;
            cursor:pointer;
            transition:all .3s ease;
        }.historias-arrow:hover{
            background:var(--azul-wawi);
            color:#ffffff;
            transform:translateY(-2px);
            box-shadow:0 12px 26px rgba(47,84,255,.20);
        }.wawi-historias-puntos{
            display:flex;
            align-items:center;
            justify-content:center;
            gap:9px;
        }.historia-dot{
            width:9px;
            height:9px;
            border:none;
            border-radius:50%;
            background:rgba(47,84,255,.22);
            cursor:pointer;
            transition:all .3s ease;
            padding:0;
        }.historia-dot.active{
            width:32px;
            border-radius:20px;
            background:var(--azul-wawi);
        }

/* Ajustes historias reales - refinamiento solicitado */
.wawi-historia-foto{
    margin-bottom:12px;
}
.wawi-historia-estrellas{
    margin-bottom:12px;
    display:inline-flex;
    letter-spacing:3px;
    transform-origin:center;
    color:#2f54ff;
}
.wawi-historia-estrellas::first-letter{
}
.wawi-historia-estrellas{
    animation:wawiEstrellasVida 4.8s ease-in-out infinite;
}
.wawi-historia-comentario{
    font-size:14px;
    line-height:1.7;
    margin-bottom:16px;
}
.wawi-historia-nombre{
    font-size:15px;
    margin-bottom:5px;
}

@keyframes wawiEstrellasVida{
    0%,100%{
        transform:translateY(0) scale(1);
        filter:drop-shadow(0 0 0 rgba(47,84,255,0));
    }
    50%{
        transform:translateY(-2px) scale(1.03);
        filter:drop-shadow(0 0 7px rgba(47,84,255,.22));
    }
}

/* Pulso individual premium por estrella */
.wawi-historia-estrellas{
    text-shadow:0 0 0 rgba(47,84,255,0);
}
.wawi-historia-estrellas span{
    display:inline-block;
    animation:wawiEstrellaIndividual 3.6s ease-in-out infinite;
}
@keyframes wawiEstrellaIndividual{
    0%,75%,100%{
        transform:translateY(0) scale(1);
        filter:drop-shadow(0 0 0 rgba(47,84,255,0));
    }
    82%{
        transform:translateY(-3px) scale(1.08);
        filter:drop-shadow(0 0 6px rgba(47,84,255,.35));
    }
    88%{
        transform:translateY(0) scale(1);
        filter:drop-shadow(0 0 2px rgba(47,84,255,.18));
    }
}

/* ============================================================
        AQUÍ FINALIZA CSS DE HISTORIAS QUE TRANSFORMAN
        ============================================================ *//* ============================================================
        AQUÍ INICIA CSS DE INVITACIÓN
        ============================================================ */.wawi-invita{
            width:100%;
            padding:34px 0 40px;
            background:linear-gradient(90deg,#ffffff 0%,#f5f7ff 100%);
            overflow:hidden;
        }.wawi-invita-contenedor{
            width:min(1180px,90%);
            min-height:170px;
            margin:0 auto;
            position:relative;
            display:grid;
            grid-template-columns:1.4fr auto 220px;
            align-items:center;
            gap:36px;
        }.wawi-invita-texto h2{
            font-size:clamp(24px,2.1vw,32px);
            line-height:1.25;
            font-weight:300;
            letter-spacing:-0.5px;
            color:var(--azul-oscuro);
            margin-bottom:14px;
        }.wawi-invita-texto h2 span{
            display:block;
            color:var(--azul-wawi);
            font-weight:400;
        }.wawi-invita-texto p{
            max-width:620px;
            font-size:15px;
            line-height:1.8;
            font-weight:300;
            color:var(--gris-texto);
        }.wawi-invita-btn{
            position:relative;
            z-index:3;
            justify-self:center;
            background:var(--azul-wawi);
            color:#ffffff;
            text-decoration:none;
            font-size:14px;
            font-weight:500;
            padding:17px 34px;
            border-radius:18px;
            box-shadow:0 14px 30px rgba(47,84,255,.22);
            transition:all .3s ease;
            white-space:nowrap;
        }.wawi-invita-btn span{
            display:inline-block;
            margin-left:10px;
            transition:transform .3s ease;
        }.wawi-invita-btn:hover{
            background:var(--azul-hover);
            transform:translateY(-3px);
        }.wawi-invita-btn:hover span{
            transform:translateX(5px);
        }.wawi-invita-img{
            position:relative;
            z-index:1;
            justify-self:end;
            align-self:center;
            transform:none;display:flex;flex-direction:column;justify-content:center;height:100%;
            width:210px;
            max-width:100%;
            margin-bottom:0;
            animation:wawiRespira 4s ease-in-out infinite;
            pointer-events:none;
        }@keyframes wawiRespira{0%{ transform:none;display:flex;flex-direction:column;justify-content:center;height:100%; }50%{ transform:translateY(-36px); }100%{ transform:none;display:flex;flex-direction:column;justify-content:center;height:100%; }}/* ============================================================
        AQUÍ FINALIZA CSS DE INVITACIÓN
        ============================================================ *//* ============================================================
        AQUÍ INICIA CSS DEL FOOTER
        ============================================================ */.wawi-footer{
            background:#ffffff;
            padding:15px 0;
            opacity:0;
            transform:translateY(35px);
            transition:opacity .7s ease, transform .7s ease;
        }.wawi-footer.visible{
            opacity:1;
            transform:translateY(0);
        }.wawi-footer-linea{
            width:0%;
            height:1px;
            background:var(--linea-suave);
            margin:0 auto 54px;
            transition:width 1s ease;
        }.wawi-footer.visible .wawi-footer-linea{
            width:90%;
        }.wawi-footer-contenedor{
            width:min(1240px,94%);
            margin:0 auto;
            display:grid;
            grid-template-columns:1.25fr repeat(4,minmax(150px,1fr));
            gap:24px;
        }.wawi-footer-logo{
            width:min(100%,127px);
            height:auto;
            display:block;
            margin-bottom:16px;
            border-radius:10px;
            transition:transform .35s ease;
        }.wawi-footer-logo:hover{
            transform:scale(1.04) translateY(-2px);
        }.wawi-footer-brand p{
            font-size:13px;
            line-height:1.8;
            font-weight:300;
            color:var(--gris-texto);
            max-width:280px;
        }.wawi-footer-redes{
            display:flex;
            gap:12px;
            margin-top:22px;
        }.wawi-footer-redes a{
            width:34px;
            height:34px;
            border:1px solid var(--linea-suave);
            border-radius:50%;
            display:flex;
            align-items:center;
            justify-content:center;
            text-decoration:none;
            color:var(--azul-wawi);
            font-size:13px;
            transition:all .3s ease;
        }.wawi-footer-redes a:hover{
            background:var(--azul-wawi);
            color:#ffffff;
            transform:scale(1.08) rotate(8deg);
            box-shadow:0 10px 24px rgba(47,84,255,.22);
        }.wawi-footer-col h4{
            font-size:13px;
            font-weight:400;
            color:var(--azul-oscuro);
            margin-bottom:20px;
        }.wawi-footer-col a{
            display:block;
            text-decoration:none;
            font-size:13px;
            font-weight:300;
            color:var(--gris-texto);
            margin-bottom:14px;
            transition:all .3s ease;
        }.wawi-footer-col a:hover{
            color:var(--azul-wawi);
            transform:translateX(5px);
        }.wawi-footer-col a:hover::after{
            content:" →";
        }.wawi-footer-col{
 display:flex;
 flex-direction:column;
 min-height:170px;
}.wawi-footer-col .instagram-link,
.wawi-footer-col .footer-bottom{
 margin-top:auto;
}.wawi-footer-copy{
            width:min(1180px,90%);
            margin:52px auto 0;
            padding-top:24px;
            border-top:1px solid var(--linea-suave);
            display:flex;
            justify-content:space-between;
            gap:24px;
            font-size:12px;
            font-weight:300;
            color:#7b8194;
        }/* ============================================================
        AQUÍ FINALIZA CSS DEL FOOTER
        ============================================================ *//* ============================================================
        AQUÍ INICIA RESPONSIVE TABLET
        ============================================================ */@media(max-width:1024px){.wawi-header{
                padding:0 32px;
            }.wawi-nav{
                gap:32px;
            }.wawi-slider{
                height:auto;
                aspect-ratio:4 / 5;
                min-height:unset;
            }.wawi-logo-empresa{
                min-width:190px;
            }.wawi-historia-card{
                flex-basis:50%;
            }.wawi-historia-foto{
                width:136px;
                height:136px;
            }.wawi-invita-contenedor{
                grid-template-columns:1fr auto 180px;
                gap:26px;
            }.wawi-invita-img{
                width:180px;
            }.wawi-footer-contenedor{
                grid-template-columns:1.4fr 1fr 1fr;
            }}/* ============================================================
        AQUÍ FINALIZA RESPONSIVE TABLET
        ============================================================ *//* ============================================================
        AQUÍ INICIA RESPONSIVE MOBILE
        ============================================================ */@media(max-width:700px){.wawi-header{
                height:82px;
                padding:0 22px;
                flex-direction:row;
                align-items:center;
            }.wawi-logo img{
                width:165px;
            }.wawi-menu-toggle{
                display:block;
                z-index:1002;
            }.wawi-campus-btn{
                display:none;
            }.wawi-nav{
                position:absolute;
                top:82px;
                left:0;
                width:100%;
                background:#ffffff;
                display:flex;
                flex-direction:column;
                align-items:center;
                gap:0;
                padding:18px 22px 26px;
                box-shadow:0 18px 34px rgba(0,0,0,.08);
                border-top:1px solid var(--linea-suave);
                opacity:0;
                visibility:hidden;
                transform:translateY(-12px);
                transition:all .3s ease;
            }.wawi-header.menu-open .wawi-nav{
                opacity:1;
                visibility:visible;
                transform:translateY(0);
            }.wawi-nav a{
                font-size:14px;
                padding:14px 0;
                width:100%;
                text-align:center;
            }.wawi-nav a::after{
                bottom:7px;
                left:50%;
                transform:translateX(-50%);
            }.wawi-nav a:hover::after,
            .wawi-nav a.active::after{
                width:42px;
            }.wawi-campus-mobile{
                display:block;
                background:var(--azul-wawi);
                color:#ffffff !important;
                margin-top:12px;
                padding:15px 34px !important;
                border-radius:18px;
                width:auto !important;
            }.wawi-campus-mobile::after{
                display:none;
            }.wawi-slider{
                height:auto;
                min-height:unset;
                aspect-ratio:9 / 16;
            }.wawi-slide picture,
            .wawi-slide img{
                width:100%;
                height:100%;
            }.wawi-slide img{
                object-fit:cover;
                object-position:center center;
            }.slider-arrow{
                display:none;
            }.slider-progress{
                bottom:18px;
            }.progress-item{
                width:34px;
                height:4px;
            }.wawi-empresas{
                padding:56px 0 48px;
            }.wawi-logos-marquee{
                padding:18px 0;
            }.wawi-logo-empresa{
                min-width:170px;
                height:62px;
            }.wawi-logo-empresa img{
                max-width:120px;
                max-height:36px;
            }.wawi-historias{
                padding:30px 0 28px;
            }.wawi-historia-card{
                flex-basis:100%;
                padding:0 6px;
            }.wawi-historia-inner{
                min-height:430px;
                padding:28px 24px 30px;
                border-radius:30px;
            }.wawi-historia-foto{
                width:184px;
                height:132px;
                border-radius:22px;
            }.wawi-historia-foto img{
                border-radius:16px;
            }.wawi-historias-controles{
                justify-content:center;
                margin-top:24px;
            }.wawi-invita{
                padding:44px 0 0;
            }.wawi-invita-contenedor{
                min-height:auto;
                display:flex;
                flex-direction:column;
                align-items:flex-start;
                gap:24px;
            }.wawi-invita-texto h2{
                font-size:26px;
            }.wawi-invita-texto p{
                font-size:14px;
            }.wawi-invita-btn{
                padding:15px 28px;
            }.wawi-invita-img{
                width:180px;
                align-self:flex-end;
                margin-bottom:-10px;
            }.wawi-footer{
                padding:56px 0 30px;
            }.wawi-footer-contenedor{
                grid-template-columns:1fr;
                gap:34px;
            }/* ========================================================
            AQUÍ INICIA AJUSTE MOBILE DEL FOOTER CENTRADO
            Objetivo:
            - Centrar logo, textos, redes, columnas y copyright en celular.
            - Evitar que el pie de página quede alineado a la izquierda.
            ======================================================== */.wawi-footer{
                text-align:center;
            }.wawi-footer-contenedor{
                grid-template-columns:1fr;
                gap:34px;
                justify-items:center;
                text-align:center;
            }.wawi-footer-brand{
                display:flex;
                flex-direction:column;
                align-items:center;
                text-align:center;
            }.wawi-footer-logo{
                margin-left:auto;
                margin-right:auto;
            }.wawi-footer-brand p{
                margin-left:auto;
                margin-right:auto;
                text-align:center;
            }.wawi-footer-redes{
                justify-content:center;
            }.wawi-footer-col{
                width:100%;
                text-align:center;
            }.wawi-footer-col a{
                text-align:center;
            }.wawi-footer-col a:hover{
                transform:none;
            }.wawi-footer-col{
 display:flex;
 flex-direction:column;
 min-height:170px;
}.wawi-footer-col .instagram-link,
.wawi-footer-col .footer-bottom{
 margin-top:auto;
}.wawi-footer-copy{
                flex-direction:column;
                align-items:center;
                text-align:center;
            }/* ========================================================
            AQUÍ FINALIZA AJUSTE MOBILE DEL FOOTER CENTRADO
            ======================================================== */}/* ============================================================
        AQUÍ FINALIZA RESPONSIVE MOBILE
        ============================================================ *//* ============================================================
        ENCABEZADO ANIMADO DE SERVICIOS WAWI · VERSIÓN EDITORIAL
        ============================================================ */.wawi-orbit-hero{
            position:relative;
            width:100%;
            min-height:clamp(500px,36vw,620px);
            overflow:hidden;
            background:
                radial-gradient(circle at 72% 48%,rgba(74,141,255,.18),transparent 27%),
                radial-gradient(circle at 94% 42%,rgba(0,213,234,.11),transparent 24%),
                linear-gradient(115deg,#f8fbff 0%,#f5f8ff 45%,#eaf3ff 100%);
            isolation:isolate;
        }.wawi-orbit-hero::after{
            content:"";
            position:absolute;inset:0;pointer-events:none;z-index:0;
            background:linear-gradient(90deg,rgba(255,255,255,.68),transparent 50%);
        }.wawi-tech-lines{
            position:absolute;inset:0;z-index:0;opacity:.58;
            background-image:
                radial-gradient(circle at 8% 30%,rgba(47,84,255,.35) 0 2px,transparent 3px),
                radial-gradient(circle at 88% 50%,rgba(0,202,229,.52) 0 2px,transparent 3px),
                radial-gradient(circle at 28% 76%,rgba(47,84,255,.25) 0 1.5px,transparent 2.5px),
                linear-gradient(116deg,transparent 0 27%,rgba(88,145,255,.12) 27.15% 27.35%,transparent 27.5% 100%),
                linear-gradient(67deg,transparent 0 73%,rgba(88,145,255,.10) 73.15% 73.35%,transparent 73.5% 100%);
            animation:wawiTechDrift 14s ease-in-out infinite alternate;
        }.wawi-hero-inner{
            position:relative;z-index:2;width:min(1480px,92vw);min-height:inherit;margin:0 auto;
            display:grid;grid-template-columns:minmax(360px,.83fr) minmax(620px,1.35fr);align-items:center;gap:42px;
            padding:36px 0 28px;
        }.wawi-hero-copy{position:relative;z-index:10;align-self:center;
            transform:none;display:flex;flex-direction:column;justify-content:center;height:100%;padding-left:4px;}.wawi-hero-kicker{
            display:flex;align-items:center;gap:12px;margin-bottom:22px;color:#2f54ff;
            font-size:12px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;
        }.wawi-hero-kicker::before{content:"";width:34px;height:2px;background:#08cde5;border-radius:99px;}.wawi-hero-title{
            max-width:560px;margin:0;color:#0b1238;font-size:clamp(42px,4.25vw,72px);line-height:.99;
            font-weight:300;letter-spacing:-.055em;
        }.wawi-hero-title .accent{color:#2f54ff;font-weight:300;}.wawi-hero-text{
            max-width:560px;margin:28px 0 0;color:#737d98;font-size:clamp(15px,1.15vw,19px);line-height:1.75;font-weight:300;
        }.wawi-hero-hint{
            display:flex;align-items:center;gap:10px;margin-top:26px;color:#68738e;font-size:12px;font-weight:400;
        }.wawi-hero-hint i{width:22px;height:22px;border-radius:50%;background:rgba(0,205,229,.12);position:relative;box-shadow:0 0 0 7px rgba(0,205,229,.05);}.wawi-hero-hint i::after{content:"";position:absolute;width:7px;height:7px;border-radius:50%;background:#09cbe3;left:7.5px;top:7.5px;}.wawi-orbit-scene{position:relative;width:100%;height:510px;min-width:0;}.wawi-orbit-ring{position:absolute;left:50%;top:50%;border:1px solid rgba(47,84,255,.25);border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;}.ring-one{width:300px;height:300px;animation:wawiRingPulse 4.8s ease-in-out infinite;}.ring-two{width:470px;height:390px;border-style:dashed;animation:wawiRingSpin 34s linear infinite;}.ring-three{width:650px;height:455px;opacity:.52;animation:wawiRingSpinReverse 48s linear infinite;}.wawi-center-core{position:absolute;left:50%;top:50%;width:285px;height:285px;transform:translate(-50%,-50%);border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:5;}.wawi-center-core::before{content:"";position:absolute;inset:3px;border-radius:50%;background:rgba(255,255,255,.72);border:2px solid rgba(255,255,255,.96);box-shadow:0 0 0 8px rgba(104,199,255,.10),0 24px 64px rgba(47,84,255,.17),inset 0 0 42px rgba(74,155,255,.10);backdrop-filter:blur(7px);}.wawi-center-glow{position:absolute;inset:-28px;border-radius:50%;background:radial-gradient(circle,rgba(37,203,255,.28),rgba(47,84,255,.08) 49%,transparent 73%);filter:blur(7px);animation:wawiGlow 3.6s ease-in-out infinite;}.wawi-center-mascot{--mx:0px;--my:0px;position:relative;z-index:2;width:255px;height:255px;object-fit:contain;filter:drop-shadow(0 22px 20px rgba(25,65,180,.19));transform:translate(var(--mx),var(--my));animation:wawiMascotFloat 4.2s ease-in-out infinite;transition:transform .28s ease-out,filter .3s ease;}.wawi-center-core:hover .wawi-center-mascot{filter:drop-shadow(0 27px 24px rgba(25,65,180,.30));}.wawi-service-node{position:absolute;display:flex;align-items:center;gap:12px;text-decoration:none;z-index:8;}.node-circle{width:82px;height:82px;flex:0 0 82px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:rgba(255,255,255,.94);border:2px solid rgba(255,255,255,.99);box-shadow:0 0 0 4px rgba(81,194,255,.15),0 15px 36px rgba(47,84,255,.16);transition:transform .38s cubic-bezier(.2,.8,.2,1),box-shadow .38s ease;animation:wawiNodeFloat 4.8s ease-in-out infinite;}.node-circle svg{width:42px;height:42px;fill:none;stroke:var(--azul-wawi);stroke-width:2.35;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;}.node-label{width:max-content;max-width:240px;padding:12px 16px;border-radius:12px;background:rgba(255,255,255,.94);color:#1641dc;font-size:11px;line-height:1.25;font-weight:400;box-shadow:0 12px 30px rgba(21,49,127,.12);opacity:0;transform:translateX(-12px) scale(.96);pointer-events:none;transition:opacity .32s ease,transform .42s cubic-bezier(.2,.85,.2,1);}.wawi-service-node:hover .node-circle,.wawi-service-node:focus-visible .node-circle{transform:translateY(-5px) scale(1.07);box-shadow:0 0 0 6px rgba(81,194,255,.20),0 20px 44px rgba(47,84,255,.23);}.wawi-service-node:hover .node-label,.wawi-service-node:focus-visible .node-label{opacity:1;transform:translateX(0) scale(1);}.node-training{left:9%;top:8%;}.node-web{right:2%;top:9%;flex-direction:row-reverse;}.node-app{left:1%;top:57%;}.node-elearning{right:-2%;top:57%;flex-direction:row-reverse;}.node-pedagogy{left:50%;bottom:-1%;transform:translateX(-50%);flex-direction:column;gap:8px;}.node-pedagogy .node-label{transform:translateY(-8px) scale(.96);text-align:center;}.node-pedagogy:hover .node-label,.node-pedagogy:focus-visible .node-label{transform:translateY(0) scale(1);}.node-web .node-circle{animation-delay:-.8s}.node-app .node-circle{animation-delay:-1.7s}.node-elearning .node-circle{animation-delay:-2.4s}.node-pedagogy .node-circle{animation-delay:-3.2s}@keyframes wawiMascotFloat{0%,100%{translate:0 0;rotate:-1deg}50%{translate:0 -10px;rotate:1.2deg}}@keyframes wawiNodeFloat{0%,100%{translate:0 0}50%{translate:0 -6px}}@keyframes wawiRingPulse{0%,100%{opacity:.45;scale:1}50%{opacity:.9;scale:1.025}}@keyframes wawiRingSpin{to{transform:translate(-50%,-50%) rotate(360deg)}}@keyframes wawiRingSpinReverse{to{transform:translate(-50%,-50%) rotate(-360deg)}}@keyframes wawiGlow{0%,100%{opacity:.55;scale:.96}50%{opacity:1;scale:1.06}}@keyframes wawiTechDrift{from{transform:translateX(-1%)}to{transform:translateX(1%)}}@media(max-width:1180px){.wawi-hero-inner{grid-template-columns:390px 1fr;gap:10px}.wawi-orbit-scene{transform:scale(.88);transform-origin:center}.wawi-hero-title{font-size:52px}}@media(max-width:900px){.wawi-orbit-hero{min-height:auto}.wawi-hero-inner{grid-template-columns:1fr;padding:48px 0 30px}.wawi-hero-copy{text-align:center}.wawi-hero-kicker,.wawi-hero-hint{justify-content:center}.wawi-hero-title,.wawi-hero-text{margin-left:auto;margin-right:auto}.wawi-orbit-scene{height:500px;transform:scale(.9)}}@media(max-width:700px){.wawi-hero-inner{width:94vw}.wawi-hero-title{font-size:44px}.wawi-hero-text{font-size:15px}.wawi-orbit-scene{height:585px;transform:none}.ring-one{width:245px;height:245px}.ring-two{width:345px;height:345px}.ring-three{width:430px;height:430px}.wawi-center-core{width:205px;height:205px;top:46%}.wawi-center-mascot{width:185px;height:185px}.node-circle{width:64px;height:64px;flex-basis:64px}.node-circle svg{width:33px;height:33px}.node-label{font-size:9.5px;max-width:155px;padding:9px 11px;opacity:1;transform:none}.node-training{left:3%;top:6%;flex-direction:column;gap:6px}.node-web{right:3%;top:6%;flex-direction:column;gap:6px}.node-app{left:1%;top:57%;flex-direction:column;gap:6px}.node-elearning{right:1%;top:57%;flex-direction:column;gap:6px}.node-pedagogy{bottom:0}.node-training .node-label,.node-app .node-label{text-align:left}.node-web .node-label,.node-elearning .node-label{text-align:right}}@media(prefers-reduced-motion:reduce){.wawi-center-mascot,.node-circle,.wawi-orbit-ring,.wawi-center-glow,.wawi-tech-lines{animation:none!important}}/* AJUSTE COMPACTO DEL ENCABEZADO · -30% DE ALTURA */@media (min-width:901px){.wawi-orbit-hero{min-height:clamp(390px,25vw,435px);}.wawi-hero-inner{
                width:min(1480px,94vw);
                grid-template-columns:minmax(350px,.76fr) minmax(660px,1.45fr);
                gap:24px;
                padding:14px 0 12px;
            }.wawi-hero-kicker{margin-bottom:13px;font-size:11px;}.wawi-hero-title{
                max-width:500px;
                font-size:clamp(38px,3.15vw,54px);
                line-height:1.01;
                letter-spacing:-.05em;
            }.wawi-hero-text{max-width:500px;margin-top:16px;font-size:clamp(14px,.95vw,17px);line-height:1.55;}.wawi-hero-hint{margin-top:15px;font-size:11px;}.wawi-hero-hint i{width:18px;height:18px;box-shadow:0 0 0 5px rgba(0,205,229,.05);}.wawi-hero-hint i::after{width:6px;height:6px;left:6px;top:6px;}.wawi-orbit-scene{height:360px;}.ring-one{width:225px;height:225px;}.ring-two{width:380px;height:292px;}.ring-three{width:560px;height:340px;}.wawi-center-core{width:220px;height:220px;}.wawi-center-mascot{width:198px;height:198px;}.wawi-center-glow{inset:-20px;}.node-circle{width:68px;height:68px;flex-basis:68px;}.node-circle svg{width:35px;height:35px;}.node-label{max-width:215px;padding:10px 13px;font-size:10px;}/* Los cinco servicios quedan a los costados, ninguno debajo */.node-training{left:4%;top:4%;}.node-app{left:-1%;top:41%;}.node-pedagogy{left:3%;bottom:3%;transform:none;flex-direction:row;gap:12px;}.node-pedagogy .node-label{transform:translateX(-12px) scale(.96);text-align:left;}.node-pedagogy:hover .node-label,.node-pedagogy:focus-visible .node-label{transform:translateX(0) scale(1);}.node-web{right:1%;top:7%;}.node-elearning{right:-1%;top:57%;}}/* AJUSTE FINAL · ICONOS MÁS CERCANOS Y ETIQUETAS HACIA AFUERA */@media (min-width:901px){/* Órbitas más compactas alrededor de la mascota */.ring-two{width:330px;height:270px;}.ring-three{width:455px;height:315px;}/* Lado izquierdo: etiqueta hacia el borde exterior */.node-training,
            .node-app,
            .node-pedagogy{
                flex-direction:row-reverse;
            }.node-training .node-label,
            .node-app .node-label,
            .node-pedagogy .node-label{
                transform:translateX(12px) scale(.96);
                text-align:right;
            }.node-training:hover .node-label,
            .node-training:focus-visible .node-label,
            .node-app:hover .node-label,
            .node-app:focus-visible .node-label,
            .node-pedagogy:hover .node-label,
            .node-pedagogy:focus-visible .node-label{
                transform:translateX(0) scale(1);
            }/* Lado derecho: etiqueta hacia el borde exterior */.node-web,
            .node-elearning{
                flex-direction:row;
            }.node-web .node-label,
            .node-elearning .node-label{
                transform:translateX(-12px) scale(.96);
                text-align:left;
            }.node-web:hover .node-label,
            .node-web:focus-visible .node-label,
            .node-elearning:hover .node-label,
            .node-elearning:focus-visible .node-label{
                transform:translateX(0) scale(1);
            }/* Acercamiento de los cinco íconos al círculo central */.node-training{left:18%;top:5%;}.node-app{left:13%;top:42%;}.node-pedagogy{left:18%;bottom:4%;transform:none;gap:12px;}.node-web{right:16%;top:7%;}.node-elearning{right:12%;top:57%;}}/* CORRECCIÓN ORBITAL · separación uniforme y etiquetas hacia afuera */@media (min-width:901px){.wawi-orbit-scene{overflow:visible;}.ring-two{width:392px;height:292px;}.ring-three{width:535px;height:340px;}.wawi-service-node{
                width:68px;
                height:68px;
                gap:0;
                transform:translate(-50%,-50%);
            }.wawi-service-node .node-circle{position:relative;z-index:2;}.wawi-service-node .node-label{
                position:absolute;
                top:50%;
                margin:0;
                transform:translateY(-50%) scale(.96);
                white-space:normal;
            }/* Cinco nodos distribuidos sobre una órbita elíptica uniforme */.node-training{left:29%;top:15%;right:auto;bottom:auto;flex-direction:row;}.node-web{left:71%;top:15%;right:auto;bottom:auto;flex-direction:row;}.node-app{left:20%;top:52%;right:auto;bottom:auto;flex-direction:row;}.node-elearning{left:80%;top:52%;right:auto;bottom:auto;flex-direction:row;}.node-pedagogy{left:29%;top:85%;right:auto;bottom:auto;flex-direction:row;}/* Etiquetas siempre hacia el exterior de la órbita */.node-training .node-label,
            .node-app .node-label,
            .node-pedagogy .node-label{
                right:calc(100% + 12px);
                left:auto;
                text-align:right;
                transform:translate(10px,-50%) scale(.96);
            }.node-web .node-label,
            .node-elearning .node-label{
                left:calc(100% + 12px);
                right:auto;
                text-align:left;
                transform:translate(-10px,-50%) scale(.96);
            }.node-training:hover .node-label,
            .node-training:focus-visible .node-label,
            .node-app:hover .node-label,
            .node-app:focus-visible .node-label,
            .node-pedagogy:hover .node-label,
            .node-pedagogy:focus-visible .node-label,
            .node-web:hover .node-label,
            .node-web:focus-visible .node-label,
            .node-elearning:hover .node-label,
            .node-elearning:focus-visible .node-label{
                opacity:1;
                transform:translate(0,-50%) scale(1);
            }}/* AJUSTE REAL 13-07-2026 · SEIS ICONOS LATERALES Y MENOR ESPACIO */@media (min-width:901px){.wawi-orbit-hero{min-height:clamp(370px,23vw,410px);}.wawi-hero-inner{padding:10px 0 4px;}.wawi-orbit-scene{height:342px;overflow:visible;}.wawi-center-core{width:214px;height:214px;}.wawi-center-mascot{width:166px;height:166px;max-width:78%;max-height:78%;}.ring-one{width:220px;height:220px;}.ring-two{width:360px;height:280px;}.ring-three{width:500px;height:324px;}.wawi-service-node{width:68px;height:68px;transform:translate(-50%,-50%);}.node-training{left:31%;top:22%;right:auto;bottom:auto;}.node-elearning{left:69%;top:22%;right:auto;bottom:auto;}.node-web{left:29%;top:50%;right:auto;bottom:auto;}.node-app{left:71%;top:50%;right:auto;bottom:auto;}.node-pedagogy{left:31%;top:78%;right:auto;bottom:auto;}.node-listen{left:69%;top:78%;right:auto;bottom:auto;}.node-training .node-label,
            .node-web .node-label,
            .node-pedagogy .node-label{
                right:calc(100% + 12px);left:auto;text-align:right;
                transform:translate(10px,-50%) scale(.96);
            }.node-elearning .node-label,
            .node-app .node-label,
            .node-listen .node-label{
                left:calc(100% + 12px);right:auto;text-align:left;
                transform:translate(-10px,-50%) scale(.96);
            }.node-training:hover .node-label,.node-training:focus-visible .node-label,
            .node-web:hover .node-label,.node-web:focus-visible .node-label,
            .node-pedagogy:hover .node-label,.node-pedagogy:focus-visible .node-label,
            .node-elearning:hover .node-label,.node-elearning:focus-visible .node-label,
            .node-app:hover .node-label,.node-app:focus-visible .node-label,
            .node-listen:hover .node-label,.node-listen:focus-visible .node-label{
                opacity:1;transform:translate(0,-50%) scale(1);
            }.wawi-empresas{padding-top:24px;}}/* ORDEN LATERAL DEFINITIVO · 13-07-2026 */@media (min-width:901px){/* Izquierda, de arriba hacia abajo: Capacitación, Plataformas educativas, Desarrollo web */.node-training{left:30%;top:22%;right:auto;bottom:auto;}.node-elearning{left:28%;top:50%;right:auto;bottom:auto;}.node-web{left:30%;top:78%;right:auto;bottom:auto;}/* Derecha, de arriba hacia abajo: Apps, Asesoramiento pedagógico, Escuchamos tu necesidad */.node-app{left:70%;top:22%;right:auto;bottom:auto;}.node-pedagogy{left:72%;top:50%;right:auto;bottom:auto;}.node-listen{left:70%;top:78%;right:auto;bottom:auto;}/* Las etiquetas siempre se abren hacia afuera */.node-training .node-label,
            .node-elearning .node-label,
            .node-web .node-label{
                right:calc(100% + 12px);left:auto;text-align:right;
                transform:translate(10px,-50%) scale(.96);
            }.node-app .node-label,
            .node-pedagogy .node-label,
            .node-listen .node-label{
                left:calc(100% + 12px);right:auto;text-align:left;
                transform:translate(-10px,-50%) scale(.96);
            }.node-training:hover .node-label,.node-training:focus-visible .node-label,
            .node-elearning:hover .node-label,.node-elearning:focus-visible .node-label,
            .node-web:hover .node-label,.node-web:focus-visible .node-label,
            .node-app:hover .node-label,.node-app:focus-visible .node-label,
            .node-pedagogy:hover .node-label,.node-pedagogy:focus-visible .node-label,
            .node-listen:hover .node-label,.node-listen:focus-visible .node-label{
                opacity:1;transform:translate(0,-50%) scale(1);
            }}/* RESPONSIVE CORREGIDO: mascota animada + servicios textuales visibles */.wawi-mobile-services{display:none;}@media(max-width:700px){.wawi-orbit-hero{overflow:hidden;}.wawi-hero-inner{width:94vw;padding:34px 0 12px;gap:0;}.wawi-hero-hint{display:none!important;}.wawi-orbit-scene{height:340px;transform:none;overflow:visible;}.wawi-center-core{width:190px;height:190px;top:44%;}.wawi-center-mascot{width:160px;height:160px;}.wawi-service-node{display:none!important;}.ring-one{width:225px;height:225px;}.ring-two{width:300px;height:300px;opacity:.32;}.wawi-orbit-ring.ring-three{width:360px;height:330px;opacity:.14;}.wawi-mobile-services{
        display:flex;
        align-items:center;
        justify-content:center;
        position:absolute;
        left:50%;
        bottom:8px;
        width:min(92vw,390px);
        min-height:54px;
        transform:translateX(-50%);
        z-index:30;
        padding:10px 18px;
        overflow:hidden;
        border:1px solid rgba(47,84,255,.14);
        border-radius:18px;
        background:rgba(255,255,255,.82);
        box-shadow:0 12px 30px rgba(31,67,166,.12);
        backdrop-filter:blur(10px);
        color:#2450ed;
        text-align:center;
        font-size:12px;
        line-height:1.3;
        font-weight:400;
        letter-spacing:.06em;
        text-transform:uppercase;
    }.wawi-mobile-services span{
        position:absolute;
        left:14px;
        right:14px;
        opacity:0;
        visibility:hidden;
        transform:translateY(12px);
        transition:opacity .45s ease,transform .45s ease,visibility .45s;
    }.wawi-mobile-services span.is-active{
        opacity:1;
        visibility:visible;
        transform:translateY(0);
    }.wawi-empresas{padding-top:10px!important;}}@media(max-width:430px){.wawi-hero-title{font-size:39px;}.wawi-orbit-scene{height:320px;}.wawi-center-core{top:43%;}.wawi-mobile-services{bottom:2px;min-height:52px;font-size:11px;}}@media(prefers-reduced-motion:reduce){.wawi-mobile-services span{transition:none!important;}}/* Ajustes de espaciado para la versión web */@media (min-width: 769px){.wawi-empresas{
                padding-bottom:18px;
            }.wawi-historias{
                padding-top:18px;
            }}.wawi-historias-viewport{
            padding:12px 0 22px;
        }.wawi-historias-track{
            align-items:stretch;
        }.wawi-historia-card{
            display:flex;
            box-sizing:border-box;
        }.wawi-historia-inner{
            width:100%;
            box-sizing:border-box;
        }.wawi-historias-controles{
            margin-top:4px;
        }/* Acerca el bloque final al pie de página en la versión web. */@media (min-width:701px){.wawi-invita{
                padding-bottom:8px;
            }.wawi-invita-contenedor{
                min-height:150px;
            }.wawi-footer{
                padding-top:15px;
            }.wawi-footer-linea{
                margin-bottom:36px;
            }}@media (max-width:700px){.wawi-historias-viewport{
                padding-bottom:18px;
            }}/* ============================================================
           AJUSTE FINAL: MENOR SEPARACIÓN ENTRE HISTORIAS E INVITACIÓN
           ============================================================ */@media (min-width:701px){.wawi-historias{
                padding-bottom:10px;
            }.wawi-invita{
                padding-top:12px;
            }}/* Transición suave entre páginas */html{background:#fff}body{opacity:0;transform:translateY(5px);transition:opacity .34s ease,transform .34s ease}body.page-ready{opacity:1;transform:none}body.page-leaving{opacity:0;transform:translateY(-4px);pointer-events:none}@media (prefers-reduced-motion:reduce){body{opacity:1!important;transform:none!important;transition:none!important}}/* Instagram footer card */.footer-instagram-card{display:flex;flex-direction:column;gap:8px;padding:12px 0}.footer-instagram-card .ig-title{font-weight:300;color:#fff}.footer-instagram-card .ig-desc{font-size:.92rem;opacity:.85}.footer-instagram-card .ig-link{display:inline-flex;align-items:center;gap:8px;color:#fff;text-decoration:none;padding:10px 16px;border:1px solid rgba(255,255,255,.18);border-radius:999px;transition:.25s}.footer-instagram-card .ig-link:hover{transform:translateY(-3px);background:linear-gradient(90deg,#833AB4,#C13584,#FD1D1D,#FCAF45)}/* BLOQUE EXCLUSIVO DE INSTAGRAM EN EL FOOTER */.wawi-footer-instagram{
  display:flex;
  align-items:flex-start;
  gap:12px;
  margin-top:22px;
  max-width:290px;
  padding:15px 16px;
  border:1px solid var(--linea-suave);
  border-radius:16px;
  color:var(--azul-oscuro);
  text-decoration:none;
  background:linear-gradient(135deg,rgba(47,84,255,.035),rgba(0,191,214,.04));
  transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease;
}.wawi-footer-instagram:hover{
  transform:translateY(-3px);
  border-color:rgba(47,84,255,.28);
  box-shadow:0 14px 30px rgba(47,84,255,.10);
}.wawi-footer-instagram-icon{
  width:38px;
  height:38px;
  flex:0 0 38px;
  display:grid;
  place-items:center;
  border-radius:12px;
  color:#fff;
  font-size:20px;
  background:linear-gradient(145deg,#5b51d8,#c13584 55%,#f77737);
  box-shadow:0 8px 18px rgba(193,53,132,.18);
}.wawi-footer-instagram-copy{display:flex;flex-direction:column;gap:5px;min-width:0}.wawi-footer-instagram-copy strong{font-size:12px;font-weight:500;line-height:1.4;color:var(--azul-oscuro)}.wawi-footer-instagram-copy small{font-size:11px;font-weight:300;line-height:1.5;color:var(--gris-texto)}.wawi-footer-instagram-handle{font-size:12px;color:var(--azul-wawi);margin-top:2px}@media(max-width:620px){.wawi-footer-instagram{margin:22px auto 0;text-align:left}}/* FOOTER INSTAGRAM COMPACTO V2 */.wawi-footer-story-title{
  margin-top:24px!important;
  margin-bottom:12px!important;
  line-height:1.45;
  white-space:nowrap;
  font-size:12px!important;
}@media(min-width:1025px){.wawi-footer-col a{white-space:nowrap;}}.wawi-footer-instagram-link{
  display:inline-flex!important;
  align-items:center;
  gap:8px;
  width:max-content;
  color:var(--azul-wawi)!important;
}.wawi-footer-instagram-link span:first-child{
  width:24px;
  height:24px;
  display:grid;
  place-items:center;
  border:1px solid rgba(47,84,255,.18);
  border-radius:8px;
  font-size:15px;
  transition:all .3s ease;
}.wawi-footer-instagram-link:hover span:first-child{
  color:#fff;
  border-color:transparent;
  background:linear-gradient(145deg,#5b51d8,#c13584 55%,#f77737);
  transform:rotate(5deg) scale(1.05);
}/* ============================================================
   FOOTER — alineación y proporciones finales
   ============================================================ */@media (min-width:1025px){.wawi-footer-contenedor{
    width:min(1180px,92%);
    grid-template-columns:1.08fr repeat(4,minmax(0,1fr));
    column-gap:clamp(34px,4.2vw,62px);
    align-items:start;
  }.wawi-footer-brand,
  .wawi-footer-col{
    min-width:0;
  }.wawi-footer-col{
    display:grid;
    grid-template-rows:auto repeat(4,22px);
    row-gap:8px;
    min-height:0;
    align-content:start;
  }.wawi-footer-col h4,
  .wawi-footer-col a{
    margin:0!important;
    line-height:22px;
  }.wawi-footer-story-title{
    margin:0!important;
    font-size:12px!important;
    line-height:22px!important;
    white-space:nowrap;
  }.wawi-footer-instagram-link{
    margin:0!important;
    height:22px;
    align-self:start;
  }.wawi-footer-instagram-link span:first-child{
    width:22px;
    height:22px;
  }}/* ============================================================
   CORRECCIÓN FOOTER — frase en exactamente dos líneas
   ============================================================ */.wawi-footer-brand p{
  max-width:none!important;
  width:max-content;
  white-space:nowrap;
}@media (min-width:1025px){.wawi-footer-contenedor{
    grid-template-columns:minmax(285px,1.42fr) repeat(4,minmax(0,1fr));
    column-gap:clamp(28px,3.4vw,48px);
  }}@media (max-width:1024px){.wawi-footer-brand p{
    max-width:100%!important;
  }}.wawi-footer{
  box-sizing:border-box;
  margin:0;
  padding:15px 0;
}/* La línea superior y la línea del copyright quedan a la misma
   distancia visual del contenido: 15 px. */.wawi-footer-linea{
  margin:0 auto 15px;
}.wawi-footer-contenedor{
  margin-top:0;
  margin-bottom:0;
}.wawi-footer-brand,
.wawi-footer-col{
  margin-top:0;
  margin-bottom:0;
}.wawi-footer-brand p,
.wawi-footer-col > :last-child{
  margin-bottom:0;
}.wawi-footer-copy{
  margin:15px auto 0;
  padding-top:15px;
  padding-bottom:0;
}.wawi-footer-copy p,
.wawi-footer-copy span{
  margin-top:0;
  margin-bottom:0;
}@media(max-width:760px){.wawi-footer{
    padding:15px 0;
  }.wawi-footer-linea{
    margin-bottom:15px;
  }.wawi-footer-copy{
    margin-top:15px;
    padding-top:15px;
  }}/* ============================================================
   FOOTER — separación vertical simétrica definitiva
   La línea superior y la línea del bloque inferior quedan a la
   misma distancia real del contenido principal del footer.
   ============================================================ */.wawi-footer-linea{
  margin:0 auto!important;
}.wawi-footer-contenedor{
  box-sizing:border-box;
  padding-top:15px!important;
  padding-bottom:15px!important;
}.wawi-footer-copy{
  margin:0 auto!important;
  padding-top:15px!important;
  padding-bottom:0!important;
}/* ============================================================
   FOOTER — espaciado interno uniforme (20 px)
   Regla final autoritativa para todas las páginas.
   ============================================================ */.wawi-footer{
  box-sizing:border-box!important;
  margin:0!important;
  padding:0!important;
}.wawi-footer-contenedor{
  box-sizing:border-box!important;
  margin:0 auto!important;
  padding-top:20px!important;
  padding-bottom:20px!important;
}.wawi-footer-brand,
.wawi-footer-col,
.wawi-footer-brand p,
.wawi-footer-col > :last-child{
  margin-bottom:0!important;
}.wawi-footer-copy{
  box-sizing:border-box!important;
  margin:0 auto!important;
  padding-top:20px!important;
  padding-bottom:20px!important;
}.wawi-footer-copy p,
.wawi-footer-copy span{
  margin-top:0!important;
  margin-bottom:0!important;
}/* ==========================================================
   COMPONENTE GLOBAL · ENCABEZADOS DE SECCIÓN
   Fuente visual: página Capacitación.
   Se utiliza en Index, Capacitación, Desarrollo y Contacto.
   ========================================================== *//* Geometría común para encabezados centrados.
   Los layouts laterales de Desarrollo conservan su posición propia. *//* ==========================================================
   ESTRUCTURA GLOBAL DE PÁGINA
   Única fuente de verdad para el espacio entre header,
   contenido principal y footer.
   ========================================================== *//* Contacto conserva su layout interno, pero no administra
   el espacio exterior de la página. *//* ==========================================================
   PRIMERA SECCIÓN DESPUÉS DEL HERO
   Distancia visual uniforme de 25 px.
   ========================================================== *//* Index */.wawi-orbit-hero + .wawi-empresas{
    padding-top:30px!important;
}/* Capacitación */.wawi-orbit-hero + .cap-solutions-route{
    padding-top:30px!important;
}/* Desarrollo */.wawi-orbit-hero + .dev-services-equal{
    padding-top:30px!important;
}/* Detrás de wawi */.behind-hero + .bio{
    padding-top:30px!important;
}/* Ajuste visual menú -> hero */.wawi-orbit-hero,
.behind-hero{
    margin-top:-18px!important;
}/* ==========================================================
   SECTION HEAD · COMPONENTE GLOBAL ÚNICO
   Encabezado estándar para todas las secciones del sitio.
   ========================================================== */

/* ============================================================
   FOOTER RESPONSIVE COMPACTO — CUADRÍCULA 2x3
   ============================================================ */
.wawi-footer-mobile{display:none}
@media (max-width:760px){
  .wawi-footer{padding:18px 16px 20px}
  .wawi-footer > .wawi-footer-contenedor,
  .wawi-footer > .wawi-footer-copy{display:none!important}
  .wawi-footer-linea{margin-bottom:24px}
  .wawi-footer-mobile{display:block;max-width:430px;margin:0 auto}
  .wawi-footer-mobile-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:0}
  .wawi-footer-mobile-item{min-width:0;min-height:92px;padding:12px 5px 10px;border:1px solid rgba(22,93,255,.14);border-radius:18px;background:rgba(255,255,255,.72);box-shadow:0 8px 24px rgba(18,55,120,.06);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-decoration:none;color:var(--azul-oscuro);font-size:11px;font-weight:400;line-height:1.25;text-align:center;transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease,background .28s ease;animation:wawiFooterIconFloat 4.2s ease-in-out infinite}
  .wawi-footer-mobile-item:nth-child(2){animation-delay:.18s}
  .wawi-footer-mobile-item:nth-child(3){animation-delay:.36s}
  .wawi-footer-mobile-item:nth-child(4){animation-delay:.54s}
  .wawi-footer-mobile-item:nth-child(5){animation-delay:.72s}
  .wawi-footer-mobile-item:nth-child(6){animation-delay:.9s}
  .wawi-footer-mobile-item:active{transform:scale(.96);background:rgba(22,93,255,.07);border-color:rgba(22,93,255,.35);box-shadow:0 5px 16px rgba(18,55,120,.1)}
  .wawi-footer-mobile-icon{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,rgba(22,93,255,.10),rgba(0,203,235,.08));box-shadow:inset 0 0 0 1px rgba(22,93,255,.09);transition:transform .28s ease,box-shadow .28s ease}
  .wawi-footer-mobile-icon svg{width:21px;height:21px;fill:none;stroke:var(--azul-wawi);stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
  .wawi-footer-mobile-item:active .wawi-footer-mobile-icon{transform:rotate(-5deg) scale(1.08)}
  .wawi-footer-mobile-story{margin-top:24px;padding-top:16px;border-top:1px solid rgba(22,93,255,.12);display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}
  .wawi-footer-mobile-story p{margin:0;font-size:13px;font-weight:300;color:var(--azul-oscuro)}
  .wawi-footer-mobile-story a{display:inline-flex;align-items:center;gap:8px;color:var(--azul-wawi);text-decoration:none;font-size:13px;font-weight:400;padding:7px 12px;border-radius:999px}
  .wawi-footer-mobile-instagram{font-size:24px;line-height:1;display:inline-block;animation:wawiInstagramPulse 3.2s ease-in-out infinite}
}
@keyframes wawiFooterIconFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
@keyframes wawiInstagramPulse{0%,70%,100%{transform:scale(1);filter:drop-shadow(0 0 0 rgba(22,93,255,0))}82%{transform:scale(1.13);filter:drop-shadow(0 0 7px rgba(22,93,255,.35))}}
@media (prefers-reduced-motion:reduce){.wawi-footer-mobile-item,.wawi-footer-mobile-instagram{animation:none!important}}

/* ============================================================
   CTA RESPONSIVE UNIFICADO · título centrado + dos columnas
   Aplicado a Inicio, Capacitación, Desarrollo y Detrás de wawi.
   ============================================================ */
@media (max-width:700px){
  .wawi-invita{
    height:auto!important;
    min-height:0!important;
    padding:34px 0 38px!important;
    overflow:hidden!important;
  }
  .wawi-invita-contenedor{
    width:min(92%,620px)!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:0 auto!important;
    padding:0!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,.92fr)!important;
    grid-template-rows:auto auto auto!important;
    column-gap:12px!important;
    row-gap:18px!important;
    align-items:stretch!important;
  }
  .wawi-invita-texto{
    display:contents!important;
  }
  .wawi-invita-texto h2{
    grid-column:1 / -1!important;
    grid-row:1!important;
    width:100%!important;
    max-width:560px!important;
    margin:0 auto 4px!important;
    padding:0!important;
    text-align:center!important;
    font-size:clamp(25px,7vw,34px)!important;
    line-height:1.17!important;
    font-weight:300!important;
    letter-spacing:-.7px!important;
    color:#07112f!important;
  }
  .wawi-invita-texto h2 span{
    display:block!important;
    margin-top:2px!important;
    color:#345cff!important;
    font-weight:300!important;
  }
  .wawi-invita-texto h2::after{
    content:"";
    display:block;
    width:54px;
    height:3px;
    margin:22px auto 0;
    border-radius:999px;
    background:#345cff;
  }
  .wawi-invita-texto p,
  .wawi-invita-texto .section-description{
    grid-column:1!important;
    grid-row:2 / 4!important;
    align-self:stretch!important;
    width:100%!important;
    max-width:none!important;
    min-height:245px!important;
    box-sizing:border-box!important;
    margin:0!important;
    padding:24px 17px 88px!important;
    border:1px solid rgba(74,111,255,.13)!important;
    border-radius:24px!important;
    background:rgba(255,255,255,.76)!important;
    box-shadow:0 18px 40px rgba(40,75,170,.08)!important;
    color:#1a2445!important;
    text-align:left!important;
    font-size:clamp(14px,3.8vw,16px)!important;
    line-height:1.72!important;
    font-weight:300!important;
  }
  .wawi-invita-btn{
    grid-column:1!important;
    grid-row:3!important;
    z-index:2!important;
    align-self:end!important;
    justify-self:stretch!important;
    width:auto!important;
    min-width:0!important;
    min-height:54px!important;
    margin:0 14px 14px!important;
    padding:14px 12px!important;
    border-radius:17px!important;
    box-sizing:border-box!important;
    font-size:clamp(12px,3.2vw,15px)!important;
    line-height:1.2!important;
    text-align:center!important;
    white-space:normal!important;
    box-shadow:0 14px 28px rgba(47,84,255,.24)!important;
  }
  .wawi-invita-img{
    grid-column:2!important;
    grid-row:2 / 4!important;
    display:block!important;
    align-self:stretch!important;
    justify-self:stretch!important;
    width:100%!important;
    height:100%!important;
    min-height:245px!important;
    max-width:none!important;
    max-height:none!important;
    margin:0!important;
    padding:12px 6px 4px!important;
    box-sizing:border-box!important;
    object-fit:contain!important;
    object-position:center bottom!important;
    transform:none!important;
    border:1px solid rgba(74,111,255,.13)!important;
    border-radius:24px!important;
    background:rgba(255,255,255,.76)!important;
    box-shadow:0 18px 40px rgba(40,75,170,.08)!important;
    filter:none!important;
  }
}

@media (max-width:430px){
  .wawi-invita-contenedor{
    width:94%!important;
    column-gap:9px!important;
  }
  .wawi-invita-texto p,
  .wawi-invita-texto .section-description{
    min-height:224px!important;
    padding:18px 13px 76px!important;
    font-size:13px!important;
    line-height:1.62!important;
    border-radius:20px!important;
  }
  .wawi-invita-img{
    min-height:224px!important;
    padding:10px 3px 3px!important;
    border-radius:20px!important;
  }
  .wawi-invita-btn{
    min-height:48px!important;
    margin:0 9px 10px!important;
    padding:11px 8px!important;
    border-radius:15px!important;
    font-size:12px!important;
  }
}


/* ============================================================
   AJUSTE FINAL CTA + FOOTER RESPONSIVE
   - títulos proporcionados
   - mascota centrada y animada dentro de su tarjeta
   - margen superior restaurado en la cuadrícula del footer
   ============================================================ */
@media (max-width:760px){
  .wawi-footer-mobile-grid{
    padding:24px 0!important;
  }
  .wawi-footer-mobile-story{
    margin-top:0!important;
  }
}

@media (max-width:700px){
  .wawi-invita-texto h2{
    font-size:clamp(21px,5.8vw,28px)!important;
    line-height:1.2!important;
    letter-spacing:-.35px!important;
    margin-bottom:2px!important;
  }
  .wawi-invita-texto h2 span{
    margin-top:1px!important;
  }
  .wawi-invita-texto h2::after{
    width:48px!important;
    height:3px!important;
    margin-top:16px!important;
  }

  .wawi-invita-visual{
    grid-column:2!important;
    grid-row:2 / 4!important;
    min-height:245px!important;
    width:100%!important;
    height:100%!important;
    margin:0!important;
    padding:14px!important;
    box-sizing:border-box!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:hidden!important;
    border:1px solid rgba(74,111,255,.13)!important;
    border-radius:24px!important;
    background:rgba(255,255,255,.76)!important;
    box-shadow:0 18px 40px rgba(40,75,170,.08)!important;
  }
  .wawi-invita-visual .wawi-invita-img{
    display:block!important;
    width:min(86%,190px)!important;
    height:auto!important;
    min-height:0!important;
    max-width:190px!important;
    max-height:88%!important;
    margin:0!important;
    padding:0!important;
    object-fit:contain!important;
    object-position:center!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    filter:none!important;
    transform:translateY(0)!important;
    animation:wawiCtaFloat 3.8s ease-in-out infinite!important;
  }
}

@media (max-width:430px){
  .wawi-invita-texto h2{
    font-size:clamp(20px,5.6vw,24px)!important;
    line-height:1.22!important;
  }
  .wawi-invita-visual{
    min-height:224px!important;
    padding:10px!important;
    border-radius:20px!important;
  }
  .wawi-invita-visual .wawi-invita-img{
    width:min(84%,156px)!important;
    max-width:156px!important;
    max-height:84%!important;
  }
}

@keyframes wawiCtaFloat{
  0%,100%{transform:translateY(0) rotate(0deg)}
  50%{transform:translateY(-7px) rotate(-1deg)}
}

@media (prefers-reduced-motion:reduce){
  .wawi-invita-visual .wawi-invita-img{animation:none!important}
}

/* ============================================================
   CTA RESPONSIVE — DISTRIBUCIÓN 3 NIVELES
   1) títulos a todo el ancho
   2) texto / mascota en dos columnas
   3) botón centrado a todo el ancho
   ============================================================ */
@media (max-width:700px){
  .wawi-invita{
    padding-top:42px!important;
    padding-bottom:42px!important;
  }

  .wawi-invita-contenedor{
    width:min(94%,620px)!important;
    margin:0 auto!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    grid-template-rows:auto auto auto!important;
    column-gap:12px!important;
    row-gap:18px!important;
    align-items:stretch!important;
  }

  /* libera título y párrafo como elementos directos de la grilla */
  .wawi-invita-texto{
    display:contents!important;
  }

  .wawi-invita-texto h2{
    grid-column:1 / -1!important;
    grid-row:1!important;
    width:100%!important;
    margin:0!important;
    text-align:center!important;
    font-size:clamp(20px,5.1vw,26px)!important;
    line-height:1.18!important;
    letter-spacing:-.25px!important;
  }

  .wawi-invita-texto h2 span{
    display:block!important;
    margin-top:2px!important;
  }

  .wawi-invita-texto h2::after{
    content:""!important;
    display:block!important;
    width:46px!important;
    height:3px!important;
    margin:14px auto 0!important;
    border-radius:999px!important;
  }

  .wawi-invita-texto p,
  .wawi-invita-texto .section-description{
    grid-column:1!important;
    grid-row:2!important;
    min-height:210px!important;
    margin:0!important;
    padding:20px 16px!important;
    box-sizing:border-box!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:left!important;
    font-size:clamp(13px,3.45vw,16px)!important;
    line-height:1.62!important;
    border:1px solid rgba(74,111,255,.13)!important;
    border-radius:22px!important;
    background:rgba(255,255,255,.76)!important;
    box-shadow:0 18px 40px rgba(40,75,170,.08)!important;
  }

  .wawi-invita-visual{
    grid-column:2!important;
    grid-row:2!important;
    min-height:210px!important;
    width:100%!important;
    height:100%!important;
    margin:0!important;
    padding:12px!important;
    box-sizing:border-box!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:hidden!important;
    border:1px solid rgba(74,111,255,.13)!important;
    border-radius:22px!important;
    background:rgba(255,255,255,.76)!important;
    box-shadow:0 18px 40px rgba(40,75,170,.08)!important;
  }

  .wawi-invita-visual .wawi-invita-img,
  .wawi-invita-img{
    display:block!important;
    width:min(82%,178px)!important;
    height:auto!important;
    min-height:0!important;
    max-width:178px!important;
    max-height:86%!important;
    margin:auto!important;
    padding:0!important;
    object-fit:contain!important;
    object-position:center!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    transform:none!important;
    animation:wawiCtaFloat 3.8s ease-in-out infinite!important;
  }

  .wawi-invita-btn{
    grid-column:1 / -1!important;
    grid-row:3!important;
    justify-self:center!important;
    width:min(82%,300px)!important;
    min-height:52px!important;
    margin:0 auto!important;
    padding:12px 20px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:14px!important;
    border-radius:17px!important;
    font-size:clamp(13px,3.7vw,16px)!important;
  }

  /* conserva el margen superior corregido del footer */
  .wawi-footer-mobile-grid{
    padding:24px 0!important;
  }
}

@media (max-width:430px){
  .wawi-invita-contenedor{
    column-gap:9px!important;
    row-gap:15px!important;
  }
  .wawi-invita-texto p,
  .wawi-invita-texto .section-description,
  .wawi-invita-visual{
    min-height:196px!important;
    border-radius:20px!important;
  }
  .wawi-invita-texto p,
  .wawi-invita-texto .section-description{
    padding:16px 12px!important;
    font-size:12.5px!important;
    line-height:1.58!important;
  }
  .wawi-invita-visual .wawi-invita-img,
  .wawi-invita-img{
    width:min(86%,155px)!important;
    max-width:155px!important;
  }
  .wawi-invita-btn{
    width:min(88%,280px)!important;
    min-height:49px!important;
    font-size:13px!important;
  }
}

/* ============================================================
   CORRECCIÓN REAL · ANIMACIÓN MASCOTA CTA RESPONSIVE
   Se anima mediante posición relativa para evitar que reglas
   previas de transform anulen el movimiento.
   ============================================================ */
@media (max-width:700px){
  .wawi-invita-visual .wawi-invita-img,
  .wawi-invita-img{
    position:relative!important;
    top:0;
    animation:wawiCtaMascotBob 3.2s ease-in-out infinite!important;
    will-change:top;
  }
}

@keyframes wawiCtaMascotBob{
  0%,100%{top:0}
  50%{top:-9px}
}


/* ============================================================
   CTA RESPONSIVE · MASCOTA NATURAL + CONFETI OCULTO AL TOCAR
   ============================================================ */
@media (max-width:700px){
  .wawi-invita-visual{
    position:relative!important;
    isolation:isolate;
  }
  .wawi-invita-visual .wawi-invita-img,
  .wawi-invita-img{
    position:relative!important;
    z-index:2!important;
    top:auto!important;
    cursor:pointer;
    touch-action:manipulation;
    transform:translate3d(0,0,0)!important;
    transform-origin:50% 78%;
    animation:wawiCtaMascotNatural 4.8s cubic-bezier(.45,.05,.55,.95) infinite!important;
    will-change:transform;
  }
  .wawi-invita-confetti{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    z-index:1;
    pointer-events:none;
    overflow:visible;
  }
  .wawi-invita-img.wawi-mascot-tapped{
    animation:wawiCtaMascotTap .46s cubic-bezier(.2,.8,.2,1) 1!important;
  }
}

@keyframes wawiCtaMascotNatural{
  0%,100%{transform:translate3d(0,1px,0) rotate(0deg) scale(1)}
  25%{transform:translate3d(0,-2px,0) rotate(.15deg) scale(1.002)}
  50%{transform:translate3d(0,-6px,0) rotate(0deg) scale(1.006)}
  75%{transform:translate3d(0,-2px,0) rotate(-.15deg) scale(1.002)}
}
@keyframes wawiCtaMascotTap{
  0%{transform:translate3d(0,0,0) scale(1)}
  45%{transform:translate3d(0,-8px,0) scale(1.045)}
  100%{transform:translate3d(0,0,0) scale(1)}
}
@media (prefers-reduced-motion:reduce){
  .wawi-invita-visual .wawi-invita-img,
  .wawi-invita-img{animation:none!important}
}

/* ============================================================
   WAWI CTA v2026-07-19b · animación fluida + confeti táctil real
   Regla final para evitar que estilos anteriores anulen el efecto.
   ============================================================ */
@media (max-width:900px){
  .wawi-invita-visual{
    position:relative!important;
    isolation:isolate!important;
    overflow:hidden!important;
  }
  .wawi-invita-visual .wawi-invita-img{
    position:relative!important;
    z-index:2!important;
    top:auto!important;
    left:auto!important;
    cursor:pointer!important;
    user-select:none!important;
    -webkit-user-drag:none!important;
    touch-action:manipulation!important;
    transform-origin:50% 82%!important;
    animation:wawiMascotaRespira 3.6s ease-in-out infinite!important;
    will-change:transform!important;
  }
  .wawi-invita-visual .wawi-invita-img.wawi-mascot-tapped{
    animation:wawiMascotaCelebracion .58s cubic-bezier(.22,.8,.25,1) 1!important;
  }
  .wawi-invita-confetti{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    z-index:1!important;
    pointer-events:none!important;
  }
}
@keyframes wawiMascotaRespira{
  0%,100%{transform:translate3d(0,2px,0) rotate(0deg) scale(1)}
  50%{transform:translate3d(0,-8px,0) rotate(-.5deg) scale(1.012)}
}
@keyframes wawiMascotaCelebracion{
  0%{transform:translate3d(0,0,0) rotate(0) scale(1)}
  35%{transform:translate3d(0,-13px,0) rotate(-2deg) scale(1.055)}
  65%{transform:translate3d(0,-5px,0) rotate(1.5deg) scale(1.025)}
  100%{transform:translate3d(0,0,0) rotate(0) scale(1)}
}
@media (prefers-reduced-motion:reduce){
  .wawi-invita-visual .wawi-invita-img{animation:none!important}
}


/* ============================================================
   WAWI CTA v2026-07-19c · FIX DEFINITIVO
   La animación vive en el contenedor para no competir con transforms
   heredados de la imagen. El confeti queda por delante del fondo y
   detrás de la mascota.
   ============================================================ */
@media (max-width:900px){
  .wawi-invita-visual{
    position:relative!important;
    isolation:isolate!important;
    overflow:visible!important;
    cursor:pointer!important;
    touch-action:manipulation!important;
    animation:wawiMascotaFlotacionReal 4s cubic-bezier(.42,0,.58,1) infinite!important;
    will-change:transform!important;
  }
  .wawi-invita-visual .wawi-invita-img{
    position:relative!important;
    z-index:4!important;
    transform:none!important;
    animation:none!important;
    pointer-events:none!important;
  }
  .wawi-invita-visual.is-celebrating{
    animation:wawiMascotaSaltoReal .62s cubic-bezier(.2,.85,.25,1) 1!important;
  }
  .wawi-invita-confetti-real{
    position:absolute!important;
    inset:-38px!important;
    width:calc(100% + 76px)!important;
    height:calc(100% + 76px)!important;
    z-index:3!important;
    pointer-events:none!important;
    overflow:visible!important;
  }
}
@keyframes wawiMascotaFlotacionReal{
  0%,100%{transform:translate3d(0,2px,0)}
  50%{transform:translate3d(0,-9px,0)}
}
@keyframes wawiMascotaSaltoReal{
  0%{transform:translate3d(0,0,0) scale(1)}
  38%{transform:translate3d(0,-15px,0) scale(1.055)}
  68%{transform:translate3d(0,-4px,0) scale(.985)}
  100%{transform:translate3d(0,0,0) scale(1)}
}
@media (prefers-reduced-motion:reduce){
  .wawi-invita-visual{animation:none!important}
}

/* ============================================================
   WAWI CTA v2026-07-19d · DESKTOP RESTAURADO + MASCOTA SOLA ANIMADA
   - La sección CTA permanece visible y con su layout original en web.
   - En responsive el contenedor queda fijo.
   - Solo la imagen de la mascota se anima y celebra.
   ============================================================ */
@media (min-width:901px){
  .wawi-invita{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    height:auto!important;
    min-height:0!important;
  }
  .wawi-invita-contenedor{
    display:grid!important;
    width:min(1180px,90%)!important;
    min-height:150px!important;
    grid-template-columns:1.4fr auto 220px!important;
    align-items:center!important;
    gap:36px!important;
  }
  .wawi-invita-texto{
    display:block!important;
  }
  .wawi-invita-visual{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    position:relative!important;
    overflow:visible!important;
    animation:none!important;
    transform:none!important;
  }
  .wawi-invita-visual .wawi-invita-img{
    display:block!important;
    width:210px!important;
    max-width:100%!important;
    height:auto!important;
    transform:translateY(-28px)!important;
    animation:wawiRespira 4s ease-in-out infinite!important;
  }
}

@media (max-width:900px){
  .wawi-invita{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
  }
  .wawi-invita-visual{
    animation:none!important;
    transform:none!important;
    will-change:auto!important;
  }
  .wawi-invita-visual .wawi-invita-img{
    pointer-events:none!important;
    transform-origin:50% 82%!important;
    animation:wawiMascotaSoloFlota 4s cubic-bezier(.42,0,.58,1) infinite!important;
    will-change:transform!important;
  }
  .wawi-invita-visual.is-celebrating{
    animation:none!important;
    transform:none!important;
  }
  .wawi-invita-visual.is-celebrating .wawi-invita-img{
    animation:wawiMascotaSoloSalta .62s cubic-bezier(.2,.85,.25,1) 1!important;
  }
}

@keyframes wawiMascotaSoloFlota{
  0%,100%{transform:translate3d(0,2px,0) rotate(0deg)}
  50%{transform:translate3d(0,-9px,0) rotate(-.45deg)}
}
@keyframes wawiMascotaSoloSalta{
  0%{transform:translate3d(0,0,0) rotate(0) scale(1)}
  38%{transform:translate3d(0,-15px,0) rotate(-2deg) scale(1.055)}
  68%{transform:translate3d(0,-4px,0) rotate(1.25deg) scale(.985)}
  100%{transform:translate3d(0,0,0) rotate(0) scale(1)}
}
@media (prefers-reduced-motion:reduce){
  .wawi-invita-visual,
  .wawi-invita-visual .wawi-invita-img{animation:none!important}
}

/* ============================================================
   WAWI CTA v2026-07-19e · FIX RESPONSIVE MASCOTA SOLA
   El contenedor permanece fijo. La animación utiliza la propiedad
   independiente `translate`, para no ser anulada por transforms
   heredados desde hojas específicas de cada página.
   ============================================================ */
@media (max-width:900px){
  .wawi-invita-visual{
    animation:none!important;
    transform:none!important;
    will-change:auto!important;
  }
  .wawi-invita-visual .wawi-invita-img{
    animation:wawiMascotaTranslateFloat 3.7s ease-in-out infinite!important;
    translate:0 0;
    transform:translateY(-20px)!important;
    will-change:translate!important;
  }
  .wawi-invita-visual.is-celebrating{
    animation:none!important;
    transform:none!important;
  }
  .wawi-invita-visual.is-celebrating .wawi-invita-img{
    animation:wawiMascotaTranslateJump .62s cubic-bezier(.2,.85,.25,1) 1!important;
  }
}
@keyframes wawiMascotaTranslateFloat{
  0%,100%{translate:0 0}
  50%{translate:0 -10px}
}
@keyframes wawiMascotaTranslateJump{
  0%{translate:0 0;scale:1}
  38%{translate:0 -16px;scale:1.055}
  68%{translate:0 -5px;scale:.985}
  100%{translate:0 0;scale:1}
}

/* ============================================================
   WAWI CTA v2026-07-19e · FIX RESPONSIVE MASCOTA SOLA
   El contenedor permanece fijo. La animación utiliza la propiedad
   independiente translate para no ser anulada por transforms
   heredados desde hojas específicas de cada página.
   ============================================================ */
@media (max-width:900px){
  .wawi-invita-visual{
    animation:none!important;
    transform:none!important;
    will-change:auto!important;
  }
  .wawi-invita-visual .wawi-invita-img{
    animation:wawiMascotaTranslateFloat 3.7s ease-in-out infinite!important;
    translate:0 0;
    transform:translateY(-20px)!important;
    will-change:translate!important;
  }
  .wawi-invita-visual.is-celebrating{
    animation:none!important;
    transform:none!important;
  }
  .wawi-invita-visual.is-celebrating .wawi-invita-img{
    animation:wawiMascotaTranslateJump .62s cubic-bezier(.2,.85,.25,1) 1!important;
  }
}
@keyframes wawiMascotaTranslateFloat{
  0%,100%{translate:0 0}
  50%{translate:0 -10px}
}
@keyframes wawiMascotaTranslateJump{
  0%{translate:0 0;scale:1}
  38%{translate:0 -16px;scale:1.055}
  68%{translate:0 -5px;scale:.985}
  100%{translate:0 0;scale:1}
}

/* ============================================================
   WAWI CTA v2026-07-19f · ANIMACIÓN VISIBLE EN WEB Y RESPONSIVE
   El contenedor permanece fijo y solo se anima la imagen.
   Regla final, única y con nombres propios para evitar colisiones.
   ============================================================ */
.wawi-invita-visual{
  animation:none!important;
  transform:none!important;
}
.wawi-invita-visual .wawi-invita-img{
  animation:wawiCtaMascotaFlotaFinal 3.8s cubic-bezier(.45,0,.55,1) infinite!important;
  translate:0 0!important;
  transform-origin:50% 82%!important;
  will-change:translate!important;
}
.wawi-invita-visual.is-celebrating{
  animation:none!important;
  transform:none!important;
}
.wawi-invita-visual.is-celebrating .wawi-invita-img{
  animation:wawiCtaMascotaCelebraFinal .64s cubic-bezier(.2,.85,.25,1) 1!important;
}
@keyframes wawiCtaMascotaFlotaFinal{
  0%,100%{translate:0 0}
  50%{translate:0 -10px}
}
@keyframes wawiCtaMascotaCelebraFinal{
  0%{translate:0 0;scale:1;rotate:0deg}
  36%{translate:0 -17px;scale:1.055;rotate:-1.8deg}
  68%{translate:0 -5px;scale:.99;rotate:1deg}
  100%{translate:0 0;scale:1;rotate:0deg}
}

@media (max-width:900px){
  .wawi-invita-visual{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
  }
  .wawi-invita-visual .wawi-invita-img{
    margin:auto!important;
  }
}

/* Se mantiene un movimiento mínimo incluso si el sistema solicita reducirlo,
   ya que forma parte de la interacción visual solicitada para este componente. */
@media (prefers-reduced-motion:reduce){
  .wawi-invita-visual .wawi-invita-img{
    animation:wawiCtaMascotaFlotaFinal 5.2s ease-in-out infinite!important;
  }
  .wawi-invita-visual.is-celebrating .wawi-invita-img{
    animation:wawiCtaMascotaCelebraFinal .64s ease-out 1!important;
  }
}


/* ============================================================
   WAWI CTA · ANIMACIÓN GARANTIZADA MEDIANTE WRAPPER DEDICADO
   El contenedor/tarjeta queda fijo. Solo se mueve el wrapper de la mascota.
   ============================================================ */
.wawi-invita-visual{
  animation:none!important;
  transform:none!important;
}
.wawi-invita-mascot-motion{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  height:100%!important;
  animation:wawiCtaMotionWrapper 3.6s ease-in-out infinite!important;
  transform:translate3d(0,0,0);
  transform-origin:50% 82%;
  will-change:transform;
  pointer-events:none;
}
.wawi-invita-mascot-motion .wawi-invita-img{
  animation:none!important;
  transform:none!important;
  translate:none!important;
  margin:auto!important;
  display:block!important;
  pointer-events:none;
}
.wawi-invita-visual.is-celebrating .wawi-invita-mascot-motion{
  animation:wawiCtaMotionCelebrate .64s cubic-bezier(.2,.85,.25,1) 1!important;
}
@keyframes wawiCtaMotionWrapper{
  0%,100%{transform:translate3d(0,0,0) rotate(0deg)}
  50%{transform:translate3d(0,-11px,0) rotate(-.6deg)}
}
@keyframes wawiCtaMotionCelebrate{
  0%{transform:translate3d(0,0,0) scale(1) rotate(0deg)}
  36%{transform:translate3d(0,-18px,0) scale(1.055) rotate(-1.8deg)}
  68%{transform:translate3d(0,-5px,0) scale(.99) rotate(1deg)}
  100%{transform:translate3d(0,0,0) scale(1) rotate(0deg)}
}
@media (max-width:900px){
  .wawi-invita-visual{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
  }
  .wawi-invita-mascot-motion{
    min-width:0!important;
    min-height:0!important;
  }
}
@media (prefers-reduced-motion:reduce){
  .wawi-invita-mascot-motion{
    animation:wawiCtaMotionWrapper 5.2s ease-in-out infinite!important;
  }
  .wawi-invita-visual.is-celebrating .wawi-invita-mascot-motion{
    animation:wawiCtaMotionCelebrate .64s ease-out 1!important;
  }
}


/* ============================================================
   WAWI CTA · CONFETI RESTAURADO CON WRAPPER DE MASCOTA
   El canvas es hijo directo de la tarjeta y queda detrás de la mascota.
   ============================================================ */
.wawi-invita-visual{
  position:relative!important;
  isolation:isolate!important;
  overflow:visible!important;
  cursor:pointer!important;
  touch-action:manipulation!important;
}
.wawi-invita-confetti-real{
  position:absolute!important;
  left:-38px!important;
  top:-38px!important;
  z-index:2!important;
  pointer-events:none!important;
  overflow:visible!important;
  display:block!important;
}
.wawi-invita-mascot-motion{
  position:relative!important;
  z-index:4!important;
}
.wawi-invita-mascot-motion .wawi-invita-img{
  position:relative!important;
  z-index:4!important;
}

/* ============================================================
   FOOTER MINIMALISTA CON ICONOS · WEB
   Replica el lenguaje visual de la versión responsive sin
   modificar su cuadrícula ni su comportamiento.
   ============================================================ */
.wawi-footer-minimal-copy{display:none}
@media (min-width:761px){
  .wawi-footer{padding:0!important;background:linear-gradient(180deg,#fbfdff 0%,#f7faff 100%)}
  .wawi-footer > .wawi-footer-contenedor,
  .wawi-footer > .wawi-footer-copy{display:none!important}
  .wawi-footer-linea{width:min(1180px,92%);height:1px;margin:0 auto!important;background:linear-gradient(90deg,transparent,rgba(22,93,255,.24),transparent)}
  .wawi-footer-mobile{display:block;width:min(1180px,92%);max-width:none;margin:0 auto;padding:28px 0 20px}
  .wawi-footer-mobile-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;padding:0}
  .wawi-footer-mobile-item{min-width:0;min-height:104px;padding:15px 8px 13px;border:1px solid rgba(22,93,255,.12);border-radius:20px;background:rgba(255,255,255,.72);box-shadow:0 10px 28px rgba(18,55,120,.055);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;color:var(--azul-oscuro);text-decoration:none;font-size:11px;font-weight:400;line-height:1.25;text-align:center;transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease,background .3s ease}
  .wawi-footer-mobile-item:hover,
  .wawi-footer-mobile-item:focus-visible{transform:translateY(-5px);border-color:rgba(22,93,255,.28);background:#fff;box-shadow:0 16px 34px rgba(18,55,120,.10);outline:none}
  .wawi-footer-mobile-icon{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,rgba(22,93,255,.10),rgba(0,203,235,.08));box-shadow:inset 0 0 0 1px rgba(22,93,255,.09);transition:transform .3s ease,box-shadow .3s ease}
  .wawi-footer-mobile-icon svg{width:22px;height:22px;fill:none;stroke:var(--azul-wawi);stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
  .wawi-footer-mobile-item:hover .wawi-footer-mobile-icon,
  .wawi-footer-mobile-item:focus-visible .wawi-footer-mobile-icon{transform:rotate(-4deg) scale(1.08);box-shadow:inset 0 0 0 1px rgba(22,93,255,.16),0 8px 18px rgba(22,93,255,.10)}
  .wawi-footer-mobile-story{margin-top:22px;padding-top:18px;border-top:1px solid rgba(22,93,255,.11);display:flex;align-items:center;justify-content:center;flex-direction:row;gap:10px;text-align:center}
  .wawi-footer-mobile-story p{margin:0;color:var(--azul-oscuro);font-size:12px;font-weight:300}
  .wawi-footer-mobile-story a{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border-radius:999px;color:var(--azul-wawi);text-decoration:none;font-size:12px;font-weight:400;transition:background .25s ease,transform .25s ease}
  .wawi-footer-mobile-story a:hover,
  .wawi-footer-mobile-story a:focus-visible{background:rgba(22,93,255,.07);transform:translateY(-2px);outline:none}
  .wawi-footer-mobile-instagram{font-size:22px;line-height:1}
  .wawi-footer-minimal-copy{margin-top:16px;padding-top:16px;border-top:1px solid rgba(22,93,255,.08);display:flex;align-items:center;justify-content:space-between;gap:20px;color:var(--gris-texto);font-size:10px;font-weight:300;letter-spacing:.02em}
  .wawi-footer-minimal-copy p,
  .wawi-footer-minimal-copy span{margin:0}
  .wawi-footer-minimal-copy p{color:var(--azul-oscuro);text-transform:uppercase;letter-spacing:.12em}
}
@media (min-width:761px) and (max-width:980px){.wawi-footer-mobile-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}

.wawi-footer-minimal-copy p .wf-blue{color:var(--azul-principal,#165dff)}.wawi-footer-minimal-copy p .wf-cyan{color:var(--celeste,#22d3ee)}.wawi-footer-minimal-copy span strong{font-weight:600;letter-spacing:.02em}
.wf-black{color:#111827;}
