:root {
    --navy: #071a3d;
    --navy-dark: #041229;
    --navy-light: #102b5d;

    --yellow: #ffc928;
    --yellow-dark: #e5ad00;

    --white: #ffffff;
    --gray: #687386;
    --light: #f5f7fa;

    --border: #dfe4ec;

    --container: 1180px;
}


/* =========================
   RESET
========================= */

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

html {
    scroll-behavior: smooth;
}

section {
    scroll-margin-top: 120px;
}

body {
    font-family: Arial, Helvetica, sans-serif;
    color: var(--navy);
    background: white;
    line-height: 1.6;
}

a {
    text-decoration: none;
    color: inherit;
}


/* =========================
   CONTAINER
========================= */

.container {
    width: min(var(--container), calc(100% - 80px));
    margin: auto;
}


/* =========================
   SECCIONES
========================= */

.section {
    padding: 100px 0;
}

.section-heading {
    text-align: center;
    margin-bottom: 55px;
}

.section-heading > span,
.section-label {
    display: block;

    color: var(--yellow-dark);

    font-weight: 900;

    font-size: 14px;

    letter-spacing: 1px;

    margin-bottom: 10px;
}

.section-heading h2 {
    font-size: 40px;

    line-height: 1.1;

    font-weight: 900;

    color: var(--navy);
}

.section-heading h2 span {
    color: var(--yellow-dark);
}

.section-heading p {
    margin-top: 15px;

    color: var(--gray);
}


/* =========================
   BOTONES
========================= */

.btn {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    min-height: 48px;

    padding: 0 24px;

    border-radius: 8px;

    font-size: 12px;

    font-weight: 900;

    text-transform: uppercase;

    border: 2px solid transparent;

    transition: 0.25s;
}

.btn-yellow {
    background: var(--yellow);

    color: #111;
}

.btn-yellow:hover {
    background: white;

    transform: translateY(-2px);
}

.btn-outline {
    border-color: white;

    color: white;
}

.btn-outline:hover {
    background: white;

    color: var(--navy);
}

.btn-outline-blue {
    border-color: var(--navy);

    color: var(--navy);
}

.btn-outline-blue:hover {
    background: var(--navy);

    color: white;
}


/* =========================
   NAVBAR
========================= */

.navbar {
    position: sticky;

    top: 0;

    z-index: 1000;

    background: var(--navy-dark);

    border-bottom:
        1px solid rgba(255,255,255,0.08);
}

.nav-container {
    width: min(
        var(--container),
        calc(100% - 80px)
    );

    min-height: 80px;

    margin: auto;

    display: flex;

    align-items: center;

    gap: 30px;
}

.logo img {
    width: 145px;
    height: auto;
    display: block;
}

.nav-menu {
    display: flex;

    align-items: center;

    gap: 28px;

    margin-left: auto;
}

.nav-menu a {
    color: white;

    font-size: 11px;

    font-weight: 900;

    text-transform: uppercase;

    transition: 0.2s;
}

.nav-menu a:hover,
.nav-menu a.active {
    color: var(--yellow);
}


/* =========================
   HERO
========================= */

.hero {
    min-height: 520px;

    height: 520px;

    position: relative;

    display: flex;

    align-items: center;

    overflow: hidden;

    background:
        radial-gradient(
            circle at 75% 45%,
            rgba(35, 80, 150, 0.45),
            transparent 42%
        ),
        linear-gradient(
            135deg,
            #041229,
            #0b2552
        );
}

.hero::before {
    content: "";

    position: absolute;

    width: 650px;

    height: 650px;

    right: -250px;

    top: -300px;

    border-radius: 50%;

    border:
        1px solid rgba(255,255,255,0.08);
}

.hero::after {
    content: "";

    position: absolute;

    width: 300px;

    height: 300px;

    right: -80px;

    bottom: -200px;

    border-radius: 50%;

    background:
        rgba(255,201,40,0.08);
}

.hero-content {
    position: relative;

    z-index: 2;

    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 40px;

    align-items: center;

    height: 100%;
}

.hero-text {
    color: white;
}

.eyebrow {
    display: inline-block;

    border:
        1px solid rgba(255,255,255,0.75);

    border-radius: 30px;

    padding: 6px 14px;

    font-size: 10px;

    font-weight: 900;

    margin-bottom: 18px;
}

.hero h1 {
    font-size:
        clamp(
            48px,
            4.5vw,
            66px
        );

    line-height: 0.95;

    font-weight: 900;

    letter-spacing: -2px;
}

.hero h1 span {
    display: block;

    color: var(--yellow);

    font-style: italic;
}

.hero-text p {
    max-width: 520px;

    margin-top: 22px;

    color: #d7dfef;

    font-size: 15px;

    line-height: 1.5;
}

.hero-buttons {
    display: flex;

    gap: 14px;

    margin-top: 26px;

    flex-wrap: wrap;
}

.hero-brand {
    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    height: 100%;
}

.hero-brand img {
    width: min(
        100%,
        470px
    );

    max-height: 280px;

    object-fit: contain;

    filter:
        drop-shadow(
            0 20px 35px
            rgba(0,0,0,0.35)
        );
}

.hero-values {
    display: flex;

    justify-content: center;

    gap: 55px;

    margin-top: 12px;

    color: white;
}

.hero-values div {
    display: flex;

    flex-direction: column;

    align-items: center;

    gap: 3px;
}

.hero-values strong {
    color: var(--yellow);

    font-size: 22px;
}

.hero-values span {
    font-size: 9px;

    font-weight: 900;

    letter-spacing: 0.5px;
}


/* =========================
   SERVICIOS
========================= */

.services {
    background: #ffffff;

    padding: 75px 0 90px;
}

.services .section-heading {
    margin-bottom: 45px;
}

.services .section-heading > span {
    font-size: 13px;

    letter-spacing: 1px;

    color: var(--yellow-dark);
}

.services .section-heading h2 {
    font-size:
        clamp(
            34px,
            4vw,
            48px
        );

    line-height: 1.05;

    max-width: 850px;

    margin: auto;
}

.services .section-heading p {
    font-size: 16px;

    margin-top: 18px;
}

.services-grid {
    display: grid;

    grid-template-columns:
        repeat(5, 1fr);

    gap: 18px;

    align-items: stretch;
}

.service-card {
    min-height: 315px;

    padding: 34px 22px 28px;

    display: flex;

    flex-direction: column;

    align-items: center;

    text-align: center;

    border:
        1px solid #dce2eb;

    border-radius: 10px;

    background: #ffffff;

    box-shadow:
        0 10px 30px
        rgba(7, 26, 61, 0.07);

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease;
}

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

    border-color: #cbd4e2;

    box-shadow:
        0 20px 40px
        rgba(7, 26, 61, 0.13);
}

.service-icon {
    width: 72px;

    height: 72px;

    flex-shrink: 0;

    display: flex;

    align-items: center;

    justify-content: center;

    margin-bottom: 22px;

    border-radius: 50%;

    background: var(--navy);

    color: white;

    font-size: 21px;

    font-weight: 900;

    box-shadow:
        0 8px 18px
        rgba(7, 26, 61, 0.15);
}

.service-card h3 {
    min-height: 38px;

    display: flex;

    align-items: center;

    justify-content: center;

    margin: 0;

    font-size: 15px;

    line-height: 1.2;

    font-weight: 900;

    color: var(--navy);
}

.yellow-line {
    width: 45px;

    height: 3px;

    flex-shrink: 0;

    margin: 17px auto 18px;

    background: var(--yellow);

    border-radius: 5px;
}

.service-card p {
    margin: 0;

    color: #718096;

    font-size: 13px;

    line-height: 1.65;
}


/* =========================
   PAQUETES
========================= */

.packages {
    background: var(--navy-dark);

    color: white;
}

.section-heading.dark h2 {
    color: white;
}

.packages-grid {
    display: grid;

    grid-template-columns:
        repeat(4, 1fr);

    gap: 18px;

    align-items: stretch;
}

.package-card {
    position: relative;

    padding: 32px 24px;

    border-radius: 9px;

    border:
        1px solid
        rgba(255,255,255,0.25);

    background:
        rgba(255,255,255,0.025);

    display: flex;

    flex-direction: column;
}

.package-card h3 {
    text-align: center;

    font-size: 20px;
}

.package-subtitle {
    text-align: center;

    font-size: 10px;

    color: #aebbd0;

    font-weight: 700;

    margin-top: 5px;
}

.price {
    text-align: center;

    margin-top: 20px;

    font-size: 42px;

    font-weight: 900;
}

.package-card small {
    text-align: center;

    color: #aebbd0;

    font-size: 10px;
}

.package-card ul {
    list-style: none;

    margin: 25px 0;

    flex: 1;
}

.package-card li {
    font-size: 12px;

    padding: 8px 0;

    border-bottom:
        1px solid
        rgba(255,255,255,0.08);
}

.package-card li::before {
    content: "✓";

    color: var(--yellow);

    font-weight: bold;

    margin-right: 8px;
}

.package-button {
    min-height: 44px;

    display: flex;

    align-items: center;

    justify-content: center;

    border:
        1px solid
        rgba(255,255,255,0.3);

    border-radius: 7px;

    font-size: 11px;

    font-weight: 900;
}

.package-button.yellow {
    background: var(--yellow);

    color: #111;

    border-color: var(--yellow);
}

.featured {
    border-color: var(--yellow);

    transform: translateY(-10px);
}

.popular {
    position: absolute;

    top: 0;

    left: 0;

    right: 0;

    padding: 7px;

    text-align: center;

    background: var(--yellow);

    color: #111;

    font-size: 10px;

    font-weight: 900;
}

.featured h3 {
    margin-top: 12px;
}

.custom-package {
    padding: 30px 22px;

    border-radius: 9px;

    background:
        rgba(255,255,255,0.04);

    display: flex;

    flex-direction: column;

    justify-content: center;

    text-align: center;
}

.custom-icon {
    font-size: 25px;

    color: white;

    letter-spacing: 4px;

    margin-bottom: 20px;
}

.custom-package h3 {
    font-size: 17px;

    line-height: 1.2;
}

.custom-package p {
    color: #aebbd0;

    font-size: 13px;

    margin: 15px 0 22px;
}


/* =========================
   PORTAFOLIO
========================= */

.portfolio {
    background: white;

    padding: 90px 0;
}

.portfolio-grid {
    display: grid;

    grid-template-columns:
        repeat(4, 220px);

    grid-auto-rows: 275px;

    justify-content: center;

    gap: 22px;
}

.portfolio-item {
    width: 220px;

    height: 275px;

    overflow: hidden;

    border-radius: 10px;

    background: var(--navy);

    position: relative;
}

.portfolio-placeholder {
    width: 100%;

    height: 100%;

    display: flex;

    align-items: center;

    justify-content: center;

    background:
        linear-gradient(
            135deg,
            var(--navy),
            #263e70
        );

    color: white;

    font-size: 12px;

    font-weight: 900;

    transition: 0.3s;
}

.portfolio-placeholder:hover {
    transform: scale(1.04);

    color: var(--yellow);
}


/* VIDEO */

.video-project {
    width: 220px;

    height: 390px;

    grid-row: span 2;

    position: relative;

    overflow: hidden;

    background: var(--navy);
}

.video-project video {
    width: 100%;

    height: 100%;

    display: block;

    object-fit: cover;
}

.portfolio-overlay {
    position: absolute;

    inset: 0;

    display: flex;

    flex-direction: column;

    justify-content: flex-end;

    padding: 22px;

    background:
        linear-gradient(
            transparent 45%,
            rgba(4,18,41,0.9)
        );

    color: white;

    opacity: 0;

    transition: 0.3s;
}

.video-project:hover .portfolio-overlay {
    opacity: 1;
}

.portfolio-overlay span {
    color: var(--yellow);

    font-size: 10px;

    font-weight: 900;

    letter-spacing: 1px;
}

.portfolio-overlay strong {
    font-size: 16px;

    margin-top: 4px;
}

.center-button {
    text-align: center;

    margin-top: 35px;
}


/* =========================
   CTA
========================= */

.cta {
    padding: 45px 0;

    background: var(--navy);
}

.cta-content {
    display: grid;

    grid-template-columns:
        auto 1fr auto;

    align-items: center;

    gap: 25px;

    color: white;
}

.cta-icon {
    width: 70px;

    height: 70px;

    border-radius: 50%;

    background: white;

    color: var(--navy);

    display: flex;

    align-items: center;

    justify-content: center;

    font-size: 14px;

    letter-spacing: 3px;
}

.cta h2 {
    font-size: 25px;

    line-height: 1.15;
}

.cta p {
    color: #bdc8db;

    margin-top: 5px;
}


/* =========================
   NOSOTROS
========================= */

.about {
    background: var(--light);
}

.about-content {
    display: grid;

    grid-template-columns:
        1fr 1fr;

    gap: 80px;

    align-items: center;
}

.about h2 {
    font-size: 45px;

    line-height: 1;

    margin-top: 10px;
}

.about h2 span {
    color: var(--yellow-dark);
}

.about p {
    color: var(--gray);

    font-size: 17px;
}


/* =========================
   FOOTER
========================= */

.footer {
    background: #031127;

    color: white;

    padding-top: 70px;
}

.footer-grid {
    display: grid;

    grid-template-columns:
        1.5fr
        1fr
        1fr
        1.2fr;

    gap: 50px;

    padding-bottom: 55px;
}

.footer-brand img {
    width: 190px;
}

.footer-brand p {
    color: #aebbd0;

    font-size: 13px;

    margin-top: 15px;
}

.footer h4 {
    font-size: 12px;

    color: var(--yellow);

    margin-bottom: 18px;
}

.footer a {
    display: block;

    color: #d6deeb;

    font-size: 12px;

    margin-bottom: 9px;
}

.footer a:hover {
    color: var(--yellow);
}

.footer p {
    color: #c1cbd9;

    font-size: 12px;

    margin-bottom: 7px;
}

.socials {
    display: flex;

    gap: 8px;

    margin-top: 15px;
}

.socials a {
    width: 32px;

    height: 32px;

    display: flex;

    align-items: center;

    justify-content: center;

    background: white;

    color: var(--navy);

    border-radius: 50%;

    font-weight: 900;
}

.footer-bottom {
    border-top:
        1px solid
        rgba(255,255,255,0.08);

    padding: 20px;

    text-align: center;

    color: #8795ab;

    font-size: 11px;
}


/* =========================
   TABLET
========================= */

@media (max-width: 1100px) {

    .services-grid {
        grid-template-columns:
            repeat(3, 1fr);
    }

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

    .portfolio-grid {
        grid-template-columns:
            repeat(3, 220px);
    }

}


/* =========================
   CELULAR
========================= */

@media (max-width: 650px) {

    .container,
    .nav-container {
        width:
            min(
                100% - 35px,
                var(--container)
            );
    }

    .section {
        padding: 70px 0;
    }


    /* NAVBAR */

    .nav-container {
        min-height: 70px;
    }

    .nav-menu {
        display: none;
    }

    .logo img {
        width: 150px;
    }

    .nav-container > .btn {
        margin-left: auto;
    }


    /* HERO */

    .hero {
        min-height: 650px;

        height: auto;

        padding: 70px 0;
    }

    .hero-content {
        grid-template-columns: 1fr;
    }

    .hero-brand {
        display: none;
    }

    .hero h1 {
        font-size: 48px;
    }

    .hero-buttons {
        flex-direction: column;
    }

    .hero-buttons .btn {
        width: 100%;
    }


    /* SERVICIOS */

    .services {
        padding: 65px 0;
    }

    .services .section-heading h2 {
        font-size: 34px;
    }

    .services-grid {
        grid-template-columns: 1fr;

        gap: 15px;
    }

    .service-card {
        min-height: auto;

        padding: 30px 25px;
    }


    /* PAQUETES */

    .packages-grid {
        grid-template-columns: 1fr;
    }

    .featured {
        transform: none;
    }


    /* PORTAFOLIO */

    .portfolio-grid {
        grid-template-columns: 1fr;

        grid-auto-rows: auto;

        justify-items: center;

        gap: 18px;
    }

    .portfolio-item {
        width: min(
            100%,
            280px
        );

        height: 350px;
    }

    .video-project {
        width: min(
            100%,
            240px
        );

        height: 420px;

        grid-row: auto;
    }


    /* CTA */

    .cta-content {
        grid-template-columns: 1fr;

        text-align: center;
    }

    .cta-icon {
        margin: auto;
    }

    .cta .btn {
        width: 100%;
    }


    /* NOSOTROS */

    .about-content {
        grid-template-columns: 1fr;

        gap: 35px;
    }

    .about h2 {
        font-size: 38px;
    }


    /* FOOTER */

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

}
/* =========================
   AJUSTE DEFINITIVO VIDEO
========================= */

.portfolio-grid .video-project {
    width: 220px !important;
    min-width: 220px !important;
    max-width: 220px !important;

    height: 390px !important;
    min-height: 390px !important;
    max-height: 390px !important;

    overflow: hidden !important;

    position: relative !important;

    grid-column: auto !important;
    grid-row: span 2 !important;
}

.portfolio-grid .video-project video {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;

    height: 100% !important;
    min-height: 0 !important;
    max-height: 100% !important;

    object-fit: cover !important;

    display: block !important;
}/* =========================================
   CTA PROPUESTA + PINGÜINO
========================================= */

.proposal-cta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
    position: relative;
    min-height: 95px;
    cursor: pointer;
}

/* Pingüino */
.proposal-penguin {
    width: 90px;
    height: 105px;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    position: relative;
    z-index: 2;
    animation: penguinBounce 3s ease-in-out infinite;
}

.proposal-penguin img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

/* Botón */
.proposal-button {
    position: relative;
    min-width: 270px;
    padding: 17px 48px 17px 25px;
    background: #ffc629;
    color: #050b1c;
    border-radius: 12px;
    box-shadow: 0 8px 25px rgba(255, 198, 41, 0.22);
    transition: all 0.25s ease;
    overflow: hidden;
}

/* Texto pequeño */
.proposal-small {
    display: block;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1px;
    margin-bottom: 3px;
}

/* Texto principal */
.proposal-button strong {
    display: block;
    font-size: 21px;
    line-height: 1.05;
    font-weight: 900;
}

/* Flecha */
.proposal-arrow {
    position: absolute;
    right: 18px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 30px;
    font-weight: 900;
    transition: transform 0.25s ease;
}

/* Hover */
.proposal-cta:hover .proposal-button {
    transform: translateY(-4px);
    box-shadow: 0 12px 35px rgba(255, 198, 41, 0.38);
}

.proposal-cta:hover .proposal-arrow {
    transform: translate(5px, -50%);
}

.proposal-cta:hover .proposal-penguin {
    animation: penguinExcited 0.55s ease-in-out;
}

/* Rebote suave */
@keyframes penguinBounce {

    0%, 100% {
        transform: translateY(0) rotate(0deg);
    }

    50% {
        transform: translateY(-7px) rotate(-2deg);
    }
}

/* Movimiento al pasar el mouse */
@keyframes penguinExcited {

    0% {
        transform: translateY(0) rotate(0deg) scale(1);
    }

    40% {
        transform: translateY(-12px) rotate(-4deg) scale(1.06);
    }

    70% {
        transform: translateY(-4px) rotate(3deg) scale(1.03);
    }

    100% {
        transform: translateY(0) rotate(0deg) scale(1);
    }
}


/* =========================================
   MÓVIL
========================================= */

@media (max-width: 768px) {

    .proposal-cta {
        gap: 0;
        min-height: 80px;
    }

    .proposal-penguin {
        width: 70px;
        height: 85px;
        margin-right: -5px;
    }

    .proposal-button {
        min-width: 210px;
        padding: 14px 38px 14px 18px;
    }

    .proposal-button strong {
        font-size: 17px;
    }

    .proposal-small {
        font-size: 9px;
    }

    .proposal-arrow {
        font-size: 24px;
        right: 12px;
    }
}/* =========================================================
   NOVA — DIAPOSITIVA 1
   NUEVA ESTRUCTURA CON 3 VIDEOS
========================================================= */

.nova-hero-final .nova-slide-1 {
    position: absolute !important;
    inset: 0 !important;

    width: 100% !important;
    height: 100% !important;

    display: grid !important;
    grid-template-columns: 42% 58% !important;

    align-items: center !important;

    padding: 0 45px !important;

    box-sizing: border-box !important;

    overflow: hidden !important;
}


/* =========================================================
   TEXTO
========================================================= */

.nova-hero-final .nova-slide-1-copy {
    position: relative !important;

    width: 100% !important;
    max-width: 560px !important;

    margin: 0 !important;
    padding: 0 !important;

    z-index: 30 !important;

    transform: translateY(-10px) !important;
}


/* ETIQUETA */

.nova-hero-final .nova-slide-1-eyebrow {
    display: inline-block !important;

    margin-bottom: 20px !important;

    padding: 8px 15px !important;

    color: #ffc629 !important;

    border: 1px solid rgba(255,255,255,.45) !important;

    border-radius: 999px !important;

    font-size: 11px !important;

    font-weight: 900 !important;

    letter-spacing: .8px !important;

    white-space: nowrap !important;
}


/* TITULO */

.nova-hero-final .nova-slide-1-copy h1 {
    margin: 0 !important;

    max-width: 590px !important;

    color: #ffffff !important;

    font-size: clamp(46px, 4.1vw, 64px) !important;

    line-height: .92 !important;

    letter-spacing: -1.5px !important;

    font-weight: 950 !important;
}


.nova-hero-final .nova-slide-1-copy h1 span {
    color: #ffc629 !important;

    font-style: italic !important;
}


/* DESCRIPCIÓN */

.nova-hero-final .nova-slide-1-copy p {
    max-width: 490px !important;

    margin: 22px 0 25px !important;

    color: #d8e3f4 !important;

    font-size: 16px !important;

    line-height: 1.5 !important;
}


/* BOTÓN */

.nova-hero-final .nova-slide-1-button {
    display: inline-flex !important;

    align-items: center !important;
    justify-content: center !important;

    padding: 14px 22px !important;

    background: #ffc629 !important;

    color: #071126 !important;

    border: 3px solid #071126 !important;

    border-radius: 10px !important;

    text-decoration: none !important;

    font-size: 13px !important;

    font-weight: 950 !important;

    white-space: nowrap !important;

    transition: transform .25s ease !important;
}


.nova-hero-final .nova-slide-1-button:hover {
    transform: translateY(-4px) !important;
}


/* =========================================================
   ZONA DE LOS 3 VIDEOS
========================================================= */

.nova-hero-final .nova-slide-1-videos {
    position: absolute !important;

    right: 1.5% !important;
    top: 4% !important;

    width: 51% !important;
    height: 88% !important;

    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    gap: 10px !important;

    margin: 0 !important;
    padding: 0 !important;

    z-index: 20 !important;

    overflow: visible !important;
}


/* =========================================================
   TARJETAS DE VIDEO
========================================================= */

.nova-hero-final .nova-video-card {
    position: relative !important;

    width: 30% !important;
    height: 100% !important;

    flex: 0 0 30% !important;

    overflow: hidden !important;

    margin: 0 !important;
    padding: 0 !important;

    background: #071126 !important;

    border: 2px solid rgba(255,255,255,.35) !important;

    border-radius: 8px !important;

    box-shadow:
        0 20px 45px rgba(0,0,0,.4) !important;

    transform: skewX(-7deg) !important;

    transition:
        transform .3s ease,
        box-shadow .3s ease !important;
}


/* VIDEO */

.nova-hero-final .nova-video-card video {
    position: absolute !important;

    inset: 0 !important;

    width: 100% !important;
    height: 100% !important;

    display: block !important;

    object-fit: cover !important;

    transform: skewX(7deg) scale(1.13) !important;
}


/* CAPA OSCURA */

.nova-hero-final .nova-video-glow {
    position: absolute !important;

    inset: 0 !important;

    z-index: 2 !important;

    pointer-events: none !important;

    background:
        linear-gradient(
            180deg,
            rgba(7,17,38,.02),
            rgba(7,17,38,.22)
        ) !important;
}


/* =========================================================
   POSICIÓN DE CADA VIDEO
========================================================= */

.nova-hero-final .nova-slide-1 .video-card-1 {
    transform:
        skewX(-7deg)
        translateY(22px) !important;
}


.nova-hero-final .nova-slide-1 .video-card-2 {
    transform:
        skewX(-7deg)
        translateY(0) !important;
}


.nova-hero-final .nova-slide-1 .video-card-3 {
    transform:
        skewX(-7deg)
        translateY(-22px) !important;
}


/* HOVER */

.nova-hero-final .nova-slide-1 .nova-video-card:hover {
    transform:
        skewX(-7deg)
        translateY(-8px)
        scale(1.03) !important;

    z-index: 40 !important;

    box-shadow:
        0 30px 60px rgba(0,0,0,.55) !important;
}


/* =========================================================
   CONTADOR DE LA DIAPOSITIVA
========================================================= */

.nova-hero-final .nova-slide-1 .nova-final-counter {
    position: absolute !important;

    right: 40px !important;
    bottom: 30px !important;

    z-index: 100 !important;
}


/* =========================================================
   CELULAR
========================================================= */

@media screen and (max-width: 760px) {

    .nova-hero-final .nova-slide-1 {
        display: block !important;

        width: 100% !important;
        height: 100% !important;

        padding: 25px 15px 0 !important;

        box-sizing: border-box !important;

        overflow: hidden !important;
    }


    /* TEXTO */

    .nova-hero-final .nova-slide-1-copy {
        position: relative !important;

        width: 100% !important;

        max-width: 100% !important;

        margin: 0 auto !important;

        padding: 0 !important;

        text-align: center !important;

        z-index: 30 !important;
    }


    .nova-hero-final .nova-slide-1-eyebrow {
        margin-bottom: 13px !important;

        padding: 7px 11px !important;

        font-size: 9px !important;

        letter-spacing: .5px !important;
    }


    .nova-hero-final .nova-slide-1-copy h1 {
        max-width: 100% !important;

        margin: 0 auto !important;

        font-size: clamp(31px, 9vw, 42px) !important;

        line-height: .95 !important;

        letter-spacing: -1px !important;
    }


    .nova-hero-final .nova-slide-1-copy p {
        max-width: 310px !important;

        margin: 14px auto !important;

        font-size: 12px !important;

        line-height: 1.4 !important;
    }


    .nova-hero-final .nova-slide-1-button {
        padding: 11px 16px !important;

        font-size: 10px !important;
    }


    /* VIDEOS */

    .nova-hero-final .nova-slide-1-videos {
        position: absolute !important;

        left: 0 !important;
        right: 0 !important;

        bottom: 28px !important;

        width: 100% !important;

        height: 38% !important;

        display: flex !important;

        align-items: center !important;
        justify-content: center !important;

        gap: 6px !important;

        padding: 0 10px !important;

        box-sizing: border-box !important;

        z-index: 20 !important;
    }


    .nova-hero-final .nova-video-card {
        width: 31% !important;

        flex: 0 0 31% !important;

        height: 100% !important;

        border-radius: 6px !important;
    }


    .nova-hero-final .nova-video-card video {
        transform:
            skewX(6deg)
            scale(1.13) !important;
    }


    .nova-hero-final .nova-slide-1 .video-card-1 {
        transform:
            skewX(-6deg)
            translateY(12px) !important;
    }


    .nova-hero-final .nova-slide-1 .video-card-2 {
        transform:
            skewX(-6deg)
            translateY(0) !important;
    }


    .nova-hero-final .nova-slide-1 .video-card-3 {
        transform:
            skewX(-6deg)
            translateY(-12px) !important;
    }


    .nova-hero-final .nova-slide-1 .nova-final-counter {
        right: 15px !important;

        bottom: 10px !important;
    }
}


/* =========================================================
   CELULARES MUY PEQUEÑOS
========================================================= */

@media screen and (max-width: 390px) {

    .nova-hero-final .nova-slide-1 {
        padding-top: 20px !important;
    }


    .nova-hero-final .nova-slide-1-copy h1 {
        font-size: 30px !important;
    }


    .nova-hero-final .nova-slide-1-copy p {
        max-width: 280px !important;

        font-size: 11px !important;
    }


    .nova-hero-final .nova-slide-1-videos {
        height: 35% !important;

        bottom: 25px !important;
    }
}/* ==========================================
   NOVA - BOTÓN FIJO DE PROPUESTA
========================================== */

.nova-fixed-cta {
    position: fixed;
    left: 50%;
    bottom: 22px;
    transform: translateX(-50%);
    z-index: 9999;

    width: min(380px, calc(100% - 40px));
    height: 52px;

    display: flex;
    align-items: center;

    background: #ffc629;
    border: 3px solid #071126;
    border-radius: 16px;

    text-decoration: none;
    box-shadow:
        0 12px 35px rgba(0,0,0,.35),
        0 0 0 1px rgba(255,198,41,.3);

    transition:
        transform .25s ease,
        box-shadow .25s ease;
}

/* Hover */

.nova-fixed-cta:hover {
    transform: translateX(-50%) translateY(-5px);

    box-shadow:
        0 18px 45px rgba(0,0,0,.4),
        0 0 25px rgba(255,198,41,.35);
}


/* ==========================================
   PINGÜINO
   Crece hacia arriba y sale del botón
========================================== */

.nova-cta-penguin {
    position: absolute;

    left: 5px;
    bottom: 27px;

    width: 58px;
    height: 54px;

    object-fit: contain;
    object-position: center bottom;

    z-index: 20;

    filter: drop-shadow(0 6px 7px rgba(0,0,0,.25));

    transform-origin: bottom center;
    animation: novaPenguinPeek 3s ease-in-out infinite;
}


/* ==========================================
   CONTENIDO DEL BOTÓN
========================================== */

.nova-cta-content {
    width: 100%;
    height: 100%;

    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 12px 0 65px;
    box-sizing: border-box;
}


/* Icono */

.nova-cta-icon {
    width: 31px;
    height: 31px;

    flex-shrink: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    margin-right: 8px;

    border-radius: 50%;

    background: #071126;
    color: #ffc629;

    font-size: 16px;
    font-weight: 900;

    transform: rotate(-35deg);
}


/* Texto */

.nova-cta-text {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
    line-height: 1;
}

.nova-cta-text strong {
    color: #071126;

    font-size: 13px;
    font-weight: 950;

    letter-spacing: -.4px;
}

.nova-cta-text span {
    margin-top: 4px;

    color: #fff;

    font-size: 11px;
    font-weight: 950;
}


/* Flecha */

.nova-cta-arrow {
    margin-left: auto;

    color: #071126;

    font-size: 30px;
    font-weight: 900;

    transition: transform .25s ease;
}

.nova-fixed-cta:hover .nova-cta-arrow {
    transform: translateX(7px);
}


/* ==========================================
   NOTIFICACIÓN ROJA
========================================== */

.nova-notification {
    position: absolute;

    right: -8px;
    top: -13px;

    width: 36px;
    height: 36px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #ff3030;
    color: #fff;

    border: 4px solid #071126;
    border-radius: 50%;

    font-size: 19px;
    font-weight: 950;

    z-index: 30;

    box-shadow: 0 5px 14px rgba(0,0,0,.3);

    animation: novaNotification 2s infinite;
}


/* Rayitas de notificación */

.nova-notification::before,
.nova-notification::after {
    content: "";

    position: absolute;

    width: 7px;
    height: 17px;

    background: #ff3030;

    border-radius: 5px;

    top: -12px;
}

.nova-notification::before {
    left: 2px;
    transform: rotate(-30deg);
}

.nova-notification::after {
    right: 2px;
    transform: rotate(30deg);
}


/* ==========================================
   ANIMACIONES
========================================== */

@keyframes novaPenguinPeek {

    0%, 100% {
        transform: translateY(0) rotate(-2deg) scale(1);
    }

    50% {
        transform: translateY(-4px) rotate(2deg) scale(1.04);
    }
}


@keyframes novaNotification {

    0%, 70%, 100% {
        transform: scale(1);
    }

    76% {
        transform: scale(1.15);
    }

    82% {
        transform: scale(1);
    }
}


/* ==========================================
   MÓVIL
========================================== */

@media (max-width: 600px) {

    .nova-fixed-cta {
        bottom: 12px;

        width: calc(100% - 24px);
        height: 62px;

        border-radius: 14px;
    }

    .nova-cta-penguin {
        width: 74px;
        height: 64px;

        left: 5px;
        bottom: 35px;
    }

    .nova-cta-content {
        padding-left: 67px;
        padding-right: 12px;
    }

    .nova-cta-icon {
        width: 36px;
        height: 36px;

        margin-right: 9px;

        font-size: 18px;
    }

    .nova-cta-text strong {
        font-size: 13px;
    }

    .nova-cta-text span {
        font-size: 14px;
    }

    .nova-cta-arrow {
        font-size: 26px;
    }

    .nova-notification {
        width: 30px;
        height: 30px;

        right: -5px;
        top: -10px;

        font-size: 16px;
    }

}

/* =========================================================
   NOVA — DIAPOSITIVA 2 — VERSIÓN LIMPIA
========================================================= */

.nova-slide-2 {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    display: grid;
    grid-template-columns: 45% 55%;
    align-items: center;
    padding: 0 40px;
    box-sizing: border-box;
    overflow: hidden;
}

/* TEXTO */

.nova-slide-2-copy {
    position: relative;
    z-index: 20;
    max-width: 620px;
    transform: translateX(80px);
}

.nova-slide-2-eyebrow {
    display: inline-block;
    padding: 10px 18px;
    border: 1px solid rgba(255,198,41,.7);
    border-radius: 999px;
    background: rgba(255,198,41,.08);
    color: #ffc629;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 1.2px;
    text-transform: uppercase;
}

.nova-slide-2-copy h2 {
    margin: 25px 0 20px;
    color: #fff;
    font-size: clamp(50px, 5vw, 72px);
    line-height: 1.08;
    letter-spacing: -1.5px;
    font-weight: 950;
    text-transform: uppercase;
}

.nova-slide-2-copy h2 span {
    display: inline-block;
    color: #ffc629;
    font-style: italic;
    letter-spacing: -1px;
}

.nova-slide-2-copy p {
    max-width: 480px;
    margin: 0 0 24px;
    color: #dbe5f5;
    font-size: 16px;
    line-height: 1.5;
}

.nova-slide-2-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 15px 24px;
    background: #ffc629;
    color: #071126;
    border: 3px solid #071126;
    border-radius: 10px;
    text-decoration: none;
    font-size: 13px;
    font-weight: 950;
    white-space: nowrap;
    box-shadow: 0 8px 20px rgba(0,0,0,.25);
    transition: transform .25s ease, box-shadow .25s ease;
}

.nova-slide-2-button:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 28px rgba(0,0,0,.3);
}

/* ESCENA */

.nova-slide-2-scene {
    position: relative;
    width: 100%;
    height: 100%;
    min-height: 580px;
    overflow: visible;
    transform: translateX(-40px);
}

/* ISLA */

.nova-slide-2-island {
    position: absolute;
    width: 780px;
    max-width: none;
    left: 50%;
    bottom: 40px;
    transform: translateX(-50%);
    z-index: 3;
    filter: drop-shadow(0 25px 25px rgba(0,0,0,.35));
    animation: novaIslandFloat 5s ease-in-out infinite;
}

/* PINGÜINO */

.nova-slide-2-penguin {
    position: absolute;
    width: 400px;
    max-width: none;
    left: calc(50% - 180px);
    bottom: 185px;
    transform: translateX(-50%);
    z-index: 6;
    filter: drop-shadow(0 18px 18px rgba(0,0,0,.3));
    animation: novaPenguinFloat 3.5s ease-in-out infinite;
}

/* REDES */

.nova-slide-2-socials {
    position: absolute;
    right: -15px;
    top: 100px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    z-index: 10;
}

.nova-slide-2-socials img {
    width: 62px;
    height: 62px;
    object-fit: contain;
    filter: drop-shadow(0 8px 8px rgba(0,0,0,.3));
}

/* ANIMACIONES */

@keyframes novaIslandFloat {
    0%, 100% {
        transform: translateX(-50%) translateY(0);
    }

    50% {
        transform: translateX(-50%) translateY(-10px);
    }
}

@keyframes novaPenguinFloat {
    0%, 100% {
        transform: translateX(-50%) translateY(0) rotate(0);
    }

    50% {
        transform: translateX(-50%) translateY(-12px) rotate(-2deg);
    }
}

/* =========================================================
   DIAPOSITIVA 2 — MÓVIL
========================================================= */

@media screen and (max-width: 760px) {

    .nova-slide-2 {
        display: block !important;
        width: 100% !important;
        height: 100% !important;
        padding: 0 !important;
        overflow: hidden !important;
    }

    .nova-slide-2-copy {
        position: relative !important;
        z-index: 20 !important;
        width: calc(100% - 40px) !important;
        max-width: 100% !important;
        margin: 0 auto !important;
        padding: 30px 0 0 !important;
        transform: none !important;
        text-align: center !important;
        box-sizing: border-box !important;
    }

    .nova-slide-2-eyebrow {
        max-width: 100%;
        padding: 8px 12px !important;
        font-size: 9px !important;
        letter-spacing: .7px !important;
        white-space: nowrap;
    }

    .nova-slide-2-copy h2 {
        margin: 16px 0 12px !important;
        font-size: clamp(32px, 10vw, 46px) !important;
        line-height: .94 !important;
        letter-spacing: -1px !important;
    }

    .nova-slide-2-copy h2 span {
        margin-top: 4px;
    }

    .nova-slide-2-copy p {
        width: 100% !important;
        max-width: 320px !important;
        margin: 12px auto 16px !important;
        font-size: 13px !important;
        line-height: 1.35 !important;
    }

    .nova-slide-2-button {
        padding: 12px 18px !important;
        font-size: 11px !important;
        white-space: nowrap !important;
    }

    .nova-slide-2-scene {
        position: absolute !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        width: 100% !important;
        height: 310px !important;
        min-height: 0 !important;
        transform: none !important;
        overflow: visible !important;
    }

    .nova-slide-2-island {
        width: 470px !important;
        max-width: none !important;
        left: 50% !important;
        bottom: 35px !important;
        transform: translateX(-50%) !important;
    }

    .nova-slide-2-penguin {
        width: 270px !important;
        max-width: none !important;
        left: 50% !important;
        bottom: 155px !important;
        transform: translateX(-50%) !important;
    }

    .nova-slide-2-socials {
        right: 8px !important;
        top: 30px !important;
        gap: 7px !important;
    }

    .nova-slide-2-socials img {
        width: 40px !important;
        height: 40px !important;
    }
}

/* Pantallas muy pequeñas */

@media screen and (max-width: 390px) {

    .nova-slide-2-copy {
        padding-top: 22px !important;
    }

    .nova-slide-2-copy h2 {
        font-size: 31px !important;
    }

    .nova-slide-2-copy p {
        max-width: 285px !important;
        font-size: 12px !important;
    }

    .nova-slide-2-button {
        font-size: 10px !important;
        padding: 11px 15px !important;
    }

    .nova-slide-2-scene {
        height: 285px !important;
    }

    .nova-slide-2-island {
        width: 430px !important;
    }

    .nova-slide-2-penguin {
        width: 245px !important;
        bottom: 95px !important;
    }

    .nova-slide-2-socials {
        right: 5px !important;
        top: 25px !important;
    }

    .nova-slide-2-socials img {
        width: 36px !important;
        height: 36px !important;
    }
}

/* =========================================================
   CONTROL DEL SLIDER
========================================================= */

.nova-hero-final {
    position: relative !important;
    overflow: hidden !important;
}

.nova-hero-final .nova-hero-slide {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: opacity .7s ease, visibility .7s ease;
}

.nova-hero-final .nova-hero-slide.active {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    z-index: 10 !important;
}/* =========================================================
   NOVA — DIAPOSITIVA 1 — AJUSTE CELULAR
========================================================= */

@media screen and (max-width: 760px) {

    .nova-hero-final .nova-slide-1 {
        position: absolute !important;
        inset: 0 !important;

        width: 100% !important;
        height: 100% !important;

        display: block !important;
        padding: 18px 14px 0 !important;

        overflow: hidden !important;
        box-sizing: border-box !important;
    }

    /* TEXTO */
    .nova-hero-final .nova-slide-1-copy {
        position: relative !important;

        width: 100% !important;
        max-width: 100% !important;

        margin: 0 auto !important;
        padding: 0 !important;

        transform: none !important;

        text-align: center !important;

        z-index: 30 !important;
    }

    .nova-hero-final .nova-slide-1-eyebrow {
        margin-bottom: 12px !important;
        padding: 7px 10px !important;

        font-size: 8px !important;
        letter-spacing: .5px !important;
    }

    .nova-hero-final .nova-slide-1-copy h1 {
        max-width: 340px !important;

        margin: 0 auto !important;

        font-size: clamp(28px, 8.2vw, 38px) !important;

        line-height: .93 !important;
        letter-spacing: -1px !important;
    }

    .nova-hero-final .nova-slide-1-copy p {
        max-width: 285px !important;

        margin: 12px auto 14px !important;

        font-size: 11px !important;
        line-height: 1.35 !important;
    }

    .nova-hero-final .nova-slide-1-button {
        padding: 10px 15px !important;
        font-size: 10px !important;
    }

    /* VIDEOS */
    .nova-hero-final .nova-slide-1-videos {
        position: absolute !important;

        left: 0 !important;
        right: 0 !important;
        bottom: 42px !important;

        width: 100% !important;
        height: 29% !important;

        padding: 0 8px !important;
        box-sizing: border-box !important;

        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        gap: 5px !important;

        z-index: 15 !important;
    }

    .nova-hero-final .nova-video-card {
        width: 31% !important;
        height: 100% !important;

        flex: 0 0 31% !important;

        transform: skewX(-6deg) !important;
    }

    .nova-hero-final .nova-video-card video {
        transform: skewX(6deg) scale(1.04) !important;
        filter: none !important;
    }

    .nova-hero-final .nova-slide-1 .video-card-1,
    .nova-hero-final .nova-slide-1 .video-card-3 {
        margin-top: 12px !important;
    }

    .nova-hero-final .nova-slide-1 .video-card-2 {
        margin-top: 0 !important;
    }
}/* =========================================================
   NOVA — DIAPOSITIVA 1 — CELULAR DEFINITIVO
========================================================= */

@media screen and (max-width: 760px) {

    /* HERO */
    .nova-hero-final .nova-slide-1 {
        position: absolute !important;
        inset: 0 !important;

        width: 100% !important;
        height: 100% !important;

        display: block !important;

        padding: 18px 14px 0 !important;

        box-sizing: border-box !important;

        overflow: hidden !important;
    }


    /* =====================================================
       TEXTO — ZONA SUPERIOR
    ===================================================== */

    .nova-hero-final .nova-slide-1-copy {
        position: absolute !important;

        top: 18px !important;
        left: 14px !important;
        right: 14px !important;

        width: auto !important;
        max-width: 100% !important;

        margin: 0 !important;
        padding: 0 !important;

        transform: none !important;

        text-align: center !important;

        z-index: 30 !important;
    }


    .nova-hero-final .nova-slide-1-eyebrow {
        display: inline-block !important;

        margin-bottom: 12px !important;

        padding: 7px 10px !important;

        font-size: 8px !important;
        letter-spacing: .5px !important;

        white-space: nowrap !important;
    }


    .nova-hero-final .nova-slide-1-copy h1 {
        width: 100% !important;
        max-width: 340px !important;

        margin: 0 auto !important;

        font-size: clamp(28px, 8.5vw, 40px) !important;

        line-height: .94 !important;

        letter-spacing: -1px !important;
    }


    .nova-hero-final .nova-slide-1-copy p {
        width: 100% !important;
        max-width: 290px !important;

        margin: 12px auto 12px !important;

        font-size: 11px !important;

        line-height: 1.35 !important;
    }


    .nova-hero-final .nova-slide-1-button {
        display: inline-flex !important;

        padding: 10px 15px !important;

        font-size: 10px !important;
    }


    /* =====================================================
       VIDEOS — ZONA INFERIOR
    ===================================================== */

    .nova-hero-final .nova-slide-1-videos {
        position: absolute !important;

        left: 0 !important;
        right: 0 !important;

        top: auto !important;
        bottom: 58px !important;

        width: 100% !important;
        height: 25% !important;

        display: flex !important;

        align-items: center !important;
        justify-content: center !important;

        gap: 5px !important;

        padding: 0 8px !important;

        box-sizing: border-box !important;

        z-index: 15 !important;

        overflow: visible !important;
    }


    .nova-hero-final .nova-video-card {
        width: 31% !important;
        height: 100% !important;

        flex: 0 0 31% !important;

        border-radius: 6px !important;

        transform: skewX(-6deg) !important;
    }


    .nova-hero-final .nova-video-card video {
        transform:
            skewX(6deg)
            scale(1.04) !important;

        filter: none !important;
    }


    .nova-hero-final .nova-slide-1 .video-card-1,
    .nova-hero-final .nova-slide-1 .video-card-3 {
        margin-top: 12px !important;
    }


    .nova-hero-final .nova-slide-1 .video-card-2 {
        margin-top: 0 !important;
    }


    /* =====================================================
       CONTROLES DEL SLIDER
       SIEMPRE ENCIMA DE LOS VIDEOS
    ===================================================== */

    .nova-slider-controls {
        position: absolute !important;

        left: 50% !important;
        bottom: 10px !important;

        transform: translateX(-50%) !important;

        z-index: 9999 !important;

        display: flex !important;

        align-items: center !important;
        justify-content: center !important;

        gap: 10px !important;

        pointer-events: auto !important;
    }


    .nova-slider-arrow {
        position: relative !important;

        z-index: 10000 !important;

        width: 34px !important;
        height: 34px !important;

        display: flex !important;

        align-items: center !important;
        justify-content: center !important;
    }


    .nova-slider-dots {
        position: relative !important;
        z-index: 10000 !important;
    }


    .nova-slider-dot {
        position: relative !important;
        z-index: 10000 !important;
    }
}


/* =========================================================
   CELULARES PEQUEÑOS
========================================================= */

@media screen and (max-width: 390px) {

    .nova-hero-final .nova-slide-1-copy {
        top: 14px !important;
    }


    .nova-hero-final .nova-slide-1-copy h1 {
        max-width: 310px !important;

        font-size: 28px !important;
    }


    .nova-hero-final .nova-slide-1-copy p {
        max-width: 265px !important;

        font-size: 10.5px !important;
    }


    .nova-hero-final .nova-slide-1-videos {
        bottom: 55px !important;
        height: 23% !important;
    }


    .nova-slider-controls {
        bottom: 8px !important;
    }
}/* =========================================================
   AJUSTE FINAL — VIDEOS DIAPOSITIVA 1 EN CELULAR
========================================================= */

@media screen and (max-width: 760px) {

    .nova-hero-final .nova-slide-1-videos {
        bottom: 115px !important;
        height: 27% !important;
    }

    .nova-hero-final .nova-video-card {
        height: 100% !important;
    }

    /* Controles debajo de los videos */
    .nova-slider-controls {
        bottom: 72px !important;
    }
}@media screen and (max-width: 760px) {

    .nova-hero-final .nova-slide-1-videos {
        bottom: 200px !important;
    }

    .nova-slider-controls {
        bottom: 155px !important;
    }

}/* =========================================================
   VIDEOS — LLENAR TARJETA SIN CAMBIAR LA INCLINACIÓN
========================================================= */

.nova-hero-final .nova-video-card {
    overflow: hidden !important;
}

.nova-hero-final .nova-video-card video {
    position: absolute !important;

    top: -5% !important;
    left: -5% !important;

    width: 110% !important;
    height: 110% !important;

    max-width: none !important;

    object-fit: cover !important;

    transform: scale(1.08) !important;

    filter: none !important;
}


/* CELULAR */

@media screen and (max-width: 760px) {

    .nova-hero-final .nova-video-card video {
        top: -5% !important;
        left: -5% !important;

        width: 110% !important;
        height: 110% !important;

        transform: scale(1.06) !important;
    }
}/* =========================================================
   NOVA — CONTROLES DEL SLIDER
========================================================= */

.nova-hero-final .nova-slider-controls {
    position: absolute !important;

    left: 50% !important;
    bottom: 18px !important;

    transform: translateX(-50%) !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    gap: 12px !important;

    width: auto !important;
    height: auto !important;

    z-index: 9999 !important;

    margin: 0 !important;
    padding: 0 !important;

    pointer-events: auto !important;
}


/* FLECHAS */

.nova-hero-final .nova-slider-arrow {
    width: 42px !important;
    height: 42px !important;

    min-width: 42px !important;
    min-height: 42px !important;

    padding: 0 !important;
    margin: 0 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    border: 2px solid rgba(255,255,255,.8) !important;
    border-radius: 50% !important;

    background: rgba(7,17,38,.72) !important;
    color: #fff !important;

    font-size: 25px !important;
    line-height: 1 !important;

    cursor: pointer !important;

    box-sizing: border-box !important;

    transition:
        transform .2s ease,
        background .2s ease !important;
}


.nova-hero-final .nova-slider-arrow:hover {
    transform: scale(1.08) !important;
    background: #ffc629 !important;
    color: #071126 !important;
}


/* PUNTOS */

.nova-hero-final .nova-slider-dots {
    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    gap: 7px !important;

    width: auto !important;
    height: auto !important;
}


.nova-hero-final .nova-slider-dot {
    width: 9px !important;
    height: 9px !important;

    min-width: 9px !important;
    min-height: 9px !important;

    padding: 0 !important;
    margin: 0 !important;

    border: 0 !important;

    border-radius: 50% !important;

    background: rgba(255,255,255,.4) !important;

    cursor: pointer !important;

    transition:
        width .25s ease,
        border-radius .25s ease,
        background .25s ease !important;
}


.nova-hero-final .nova-slider-dot.active {
    width: 28px !important;

    border-radius: 20px !important;

    background: #ffc629 !important;
}


/* =========================================================
   CELULAR
========================================================= */

@media screen and (max-width: 760px) {

    .nova-hero-final .nova-slider-controls {
        left: 50% !important;
        bottom: 76px !important;

        transform: translateX(-50%) !important;

        gap: 10px !important;

        width: max-content !important;
    }


    .nova-hero-final .nova-slider-arrow {
        width: 34px !important;
        height: 34px !important;

        min-width: 34px !important;
        min-height: 34px !important;

        font-size: 20px !important;
    }


    .nova-hero-final .nova-slider-dot {
        width: 8px !important;
        height: 8px !important;

        min-width: 8px !important;
        min-height: 8px !important;
    }


    .nova-hero-final .nova-slider-dot.active {
        width: 24px !important;
    }
}/* =========================================================
   CTA PINGÜINO — SOLO ESCRITORIO
   DEBAJO DEL VIDEO CENTRAL
========================================================= */

@media screen and (min-width: 761px) {

    .nova-fixed-cta {
        position: fixed !important;

        left: auto !important;
        right: 20% !important;

        bottom: 22px !important;

        transform: none !important;

        z-index: 99999 !important;
    }

    .nova-fixed-cta:hover {
        transform: translateY(-5px) !important;
    }
}/* =========================================================
   DIAPOSITIVA 1 — ESPACIADO DEL TITULAR
========================================================= */

@media screen and (min-width: 761px) {

    .nova-hero-final .nova-slide-1-copy h1 {
        line-height: .88 !important;
        letter-spacing: -1.8px !important;
    }

    .nova-hero-final .nova-slide-1-copy h1 span {
        display: inline-block !important;
        margin-bottom: 4px !important;
    }

}.nova-slide-1-copy h1 {
    color: #fff !important;
}

.nova-slide-1-copy h1 > span {
    color: #ffc629 !important;
    font-style: italic;
}

.nova-slide-1-copy h1 strong {
    color: #fff !important;
    font-weight: 950;
}

.nova-slide-1-copy h1 .nova-mix-line {
    display: block !important;
}

.nova-slide-1-copy h1 .nova-mix-line > span {
    color: #ffc629 !important;
    font-style: italic;
}

.nova-slide-1-copy h1 .nova-mix-line strong {
    color: #fff !important;
    font-weight: 950;
}@media screen and (min-width: 761px) {

    .nova-slide-1-copy .nova-lo-fabrique {
        display: block !important;
        line-height: .88 !important;
        margin-top: -4px !important;
    }

    .nova-slide-1-copy .nova-lo-fabrique strong {
        color: #fff !important;
        font-weight: 950 !important;
    }

    .nova-slide-1-copy .nova-lo-fabrique span {
        color: #ffc629 !important;
        font-style: italic !important;
        font-weight: 950 !important;
    }

}/* =========================================================
   DIAPOSITIVA 1 — TÍTULO CELULAR
========================================================= */

@media screen and (max-width: 760px) {

    .nova-hero-final .nova-slide-1-copy h1 {
        width: 100% !important;
        max-width: 360px !important;

        margin: 0 auto !important;

        font-size: clamp(30px, 8.2vw, 40px) !important;
        line-height: .92 !important;
        letter-spacing: -1px !important;

        text-align: center !important;
    }


    /* NO / NECESITAS */
    .nova-hero-final .nova-slide-1-copy h1 > span {
        display: inline !important;
    }


    /* DEJA / QUE LA IA */
    .nova-hero-final .nova-slide-1-copy h1 .nova-mix-line {
        display: block !important;

        width: 100% !important;

        margin: 4px 0 0 !important;
        padding: 0 !important;

        line-height: .92 !important;

        white-space: nowrap !important;

        text-align: center !important;
    }


    /* LO / FABRIQUE / POR TI */
    .nova-hero-final .nova-slide-1-copy h1 .nova-lo-fabrique {
        display: block !important;

        margin-top: 2px !important;

        line-height: .92 !important;

        white-space: normal !important;
    }


    .nova-hero-final .nova-slide-1-copy h1 .nova-lo-fabrique strong {
        display: inline !important;

        color: #fff !important;
    }


    .nova-hero-final .nova-slide-1-copy h1 .nova-lo-fabrique span {
        display: inline !important;

        color: #ffc629 !important;
    }


    /* EVITAR ESPACIOS GIGANTES ENTRE LÍNEAS */
    .nova-hero-final .nova-slide-1-copy h1 br {
        line-height: 0 !important;
    }


    /* DESCRIPCIÓN MÁS ABAJO, PERO CONTROLADA */
    .nova-hero-final .nova-slide-1-copy p {
        margin-top: 14px !important;
    }

}@media screen and (max-width: 760px) {

    .nova-hero-final .nova-slide-1-copy {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
    }

    .nova-hero-final .nova-slide-1-button {
        order: 3 !important;
        margin-top: 20px !important;
        position: relative !important;
        transform: none !important;
        z-index: 40 !important;
    }
}@media screen and (max-width: 760px) {

    .nova-hero-final .nova-slide-1-videos {
        top: 66% !important;
        bottom: auto !important;

        transform: translateY(-50%) !important;
    }

}.tienda-btn {
    position: relative;
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
    height: 52px;
    padding: 6px 15px 6px 9px !important;
    border-radius: 11px;
    overflow: hidden;
    text-decoration: none;
    box-shadow: 0 6px 18px rgba(255, 198, 41, 0.22);
    transition: transform .25s ease, box-shadow .25s ease;
}

/* Tiendita */
.tienda-btn-icon {
    width: 40px;
    height: 40px;
    object-fit: contain;
    flex-shrink: 0;
}

/* Texto */
.tienda-btn span {
    font-size: 11px;
    line-height: 1;
    font-weight: 950;
    white-space: nowrap;
}

/* Flecha */
.tienda-btn b {
    font-size: 20px;
    line-height: 1;
    margin-left: 2px;
    transition: transform .25s ease;
}

/* Brillo que pasa por el botón */
.tienda-btn::after {
    content: "";
    position: absolute;
    top: 0;
    left: -80%;
    width: 45%;
    height: 100%;
    background: linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,.45),
        transparent
    );
    transform: skewX(-20deg);
    animation: tiendaBrillo 4s infinite;
}

/* Movimiento suave */
@keyframes tiendaBrillo {
    0%, 65% {
        left: -80%;
    }

    85% {
        left: 130%;
    }

    100% {
        left: 130%;
    }
}

.tienda-btn:hover {
    transform: translateY(-3px) scale(1.08);
    box-shadow: 0 12px 30px rgba(255, 198, 41, .45);
    z-index: 10;
}

.tienda-btn:hover b {
    transform: translateX(4px);
}.tienda-btn {
    animation: tiendaPulso 5s ease-in-out infinite;
}

@keyframes tiendaPulso {
    0%, 82%, 100% {
        box-shadow: 0 6px 18px rgba(255, 198, 41, .22);
    }

    88% {
        box-shadow: 0 8px 28px rgba(255, 198, 41, .48);
    }

    93% {
        box-shadow: 0 6px 18px rgba(255, 198, 41, .22);
    }
}
@media (max-width: 768px) {

    .tienda-btn {
        height: 46px;
        padding: 5px 12px 5px 7px !important;
        gap: 6px;
        border-radius: 10px;
    }

    .tienda-btn-icon {
        width: 34px;
        height: 34px;
    }

    .tienda-btn span {
        font-size: 9px;
    }

    .tienda-btn b {
        font-size: 17px;
    }

    .tienda-btn:hover {
        transform: translateY(-2px) scale(1.04);
    }
}@media (max-width: 480px) {

    .tienda-btn {
        height: 42px;
        padding: 4px 9px 4px 6px !important;
        gap: 5px;
    }

    .tienda-btn-icon {
        width: 30px;
        height: 30px;
    }

    .tienda-btn span {
        font-size: 8px;
    }

    .tienda-btn b {
        font-size: 15px;
    }
}/* =========================
   IMÁGENES DE SERVICIOS
   ========================= */

.solucion-visual {
    position: relative;
    width: 100%;
    height: 260px;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    margin: -10px 0 25px;
    overflow: hidden;
}

.solucion-visual img {
    display: block;
    width: auto !important;
    height: 270px !important;
    max-width: 100% !important;
    max-height: 270px !important;
    object-fit: contain;

    opacity: 0;
    transform: translateY(35px) scale(.92);

    transition:
        opacity .8s ease,
        transform .9s cubic-bezier(.2,.8,.2,1);
}/* Aparición de las imágenes */
.solucion-card.visible .solucion-visual img {
    opacity: 1;
    transform: translateY(0) scale(1);
}


/* =========================
   PROFUNDIDAD DEL PINGÜINO
   ========================= */

.solucion-card.visible .web-visual .web-pinguino {
    opacity: 1;

    animation:
        profundidadPinguino 4.5s ease-in-out infinite;

    filter:
        drop-shadow(0 14px 12px rgba(0, 0, 0, 0.18));
}/* =========================
   TAMAÑO DE LA ESCENA WEB
   ========================= */

.web-visual .web-tienda {
    position: absolute;

    width: 320px !important;
    height: 225px !important;

    max-width: none !important;
    max-height: none !important;

    object-fit: contain;

    left: 40%;
    margin-left: -160px;

    bottom: 0;

    z-index: 1;

    opacity: 0;

    transform: translateY(40px) scale(.9);

    transition:
        opacity .9s ease,
        transform 1s cubic-bezier(.16, 1, .3, 1);
}

.web-visual .web-pinguino {
    width: 170px !important;
    height: 205px !important;
    left: 18px;
    bottom: 0;
}


@keyframes profundidadPinguino {

    0% {
        transform:
            translate3d(0, 0, 0)
            scale(1);
    }

    50% {
        transform:
            translate3d(0, -8px, 0)
            scale(1.035);
    }

    100% {
        transform:
            translate3d(0, 0, 0)
            scale(1);
    }

}


/* Pequeño movimiento después de aparecer */

@keyframes imagenFlotando {

    0%, 100% {
        transform: translateY(0) scale(1);
    }

    50% {
        transform: translateY(-7px) scale(1.01);
    }

}/* =========================
   MOVIMIENTO PINGÜINO REDES
   ========================= */

.solucion-card.visible .solucion-visual img[src*="pinguino-parlante"] {
    animation: anunciarRedes 3.8s ease-in-out infinite;
    transform-origin: center bottom;
    filter: drop-shadow(0 12px 10px rgba(0, 0, 0, 0.16));
}

@keyframes anunciarRedes {

    0% {
        transform:
            translateY(0)
            rotate(0deg)
            scale(1);
    }

    20% {
        transform:
            translateY(-5px)
            rotate(-1deg)
            scale(1.015);
    }

    40% {
        transform:
            translateY(0)
            rotate(1deg)
            scale(1.02);
    }

    60% {
        transform:
            translateY(-4px)
            rotate(-1deg)
            scale(1.015);
    }

    80% {
        transform:
            translateY(0)
            rotate(.5deg)
            scale(1.005);
    }

    100% {
        transform:
            translateY(0)
            rotate(0deg)
            scale(1);
    }

}.volver-inicio-wrap {
    text-align: center;
    margin: 45px 0 10px;
}

.volver-inicio {
    display: inline-flex;
    align-items: center;
    gap: 8px;

    color: #071126;
    text-decoration: none;

    font-size: 13px;
    font-weight: 900;
    letter-spacing: .5px;

    padding: 12px 20px;

    border: 2px solid #071126;
    border-radius: 10px;

    transition: .25s ease;
}

.volver-inicio:hover {
    background: #071126;
    color: #ffc629;
    transform: translateY(-2px);
}/* =========================================
   PRUEBA SEMANAL — PARLANTE
   ========================================= */

.prueba-semanal {
    width: 100%;
    display: flex;
    justify-content: center;
    margin: 12px 0 18px;
    position: relative;
    overflow: hidden;
}

.prueba-semanal-link {
    display: inline-block;
    position: relative;
    cursor: pointer;
    text-decoration: none;

    animation: pruebaPulso 4.5s ease-in-out infinite;

    transition:
        transform .25s ease,
        filter .25s ease;
}

.prueba-semanal-img {
    width: 260px;
    max-width: 90%;
    height: auto;
    display: block;
}


/* Brillo periódico */
.prueba-semanal::after {
    content: "";

    position: absolute;
    top: 0;
    left: -70%;

    width: 35%;
    height: 100%;

    background: linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,.65),
        transparent
    );

    transform: skewX(-20deg);

    animation: brilloPrueba 4.5s ease-in-out infinite;

    pointer-events: none;
}


/* Pulsación */
@keyframes pruebaPulso {

    0%, 75%, 100% {
        transform: scale(1);
        filter: drop-shadow(0 0 0 rgba(255,198,41,0));
    }

    82% {
        transform: scale(1.025);
        filter: drop-shadow(0 0 14px rgba(255,198,41,.35));
    }

    88% {
        transform: scale(1.04);
        filter: drop-shadow(0 0 24px rgba(255,198,41,.55));
    }

    93% {
        transform: scale(1.015);
        filter: drop-shadow(0 0 12px rgba(255,198,41,.25));
    }

}


/* Brillo */
@keyframes brilloPrueba {

    0%, 60% {
        left: -70%;
    }

    78% {
        left: 130%;
    }

    100% {
        left: 130%;
    }

}


/* Hover */
.prueba-semanal-link:hover {
    transform: translateY(-4px) scale(1.04);
    filter: drop-shadow(
        0 10px 20px rgba(255,198,41,.38)
    );
}


/* Móvil */
@media (max-width: 600px) {

    .prueba-semanal-img {
        width: 220px;
    }

}