:root {
            --color-bg-dark: #0d0d0d;
            --color-bg-light: #ffffff;
            --color-fg-dark: #ffffff;
            --color-fg-light: #000000;
            --color-red-neon: #ff073a;
            --color-yellow-neon: #ffff00;
            --color-blue-neon: #00ffff;
            --color-green-neon: #00ff00;
            --font-titles: 'Montserrat', sans-serif;
            --font-body: 'Roboto', sans-serif;
            --font-special: 'Poppins', sans-serif;
            --transition-speed: 0.3s;
        }

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

        html {
            font-size: 16px;
            /* Base font size */
        }

        body {
            background: var(--color-bg-dark);
            color: var(--color-fg-dark);
            font-family: var(--font-body);
            overflow-x: hidden;
            line-height: 1.6;
        }

        header,
        main,
        section,
        footer {
            display: block;
            width: 100%;
        }

        /* Botón de idioma */
        #langBtn {
            position: fixed;
            top: 1rem;
            right: 1rem;
            z-index: 9999;
            background: var(--color-red-neon);
            color: var(--color-fg-dark);
            padding: 0.625rem 0.9375rem;
            /* 10px 15px */
            border: none;
            border-radius: 0.25rem;
            font-weight: bold;
            cursor: pointer;
            transition: background var(--transition-speed), transform var(--transition-speed);
            font-family: var(--font-special);
            font-size: 1rem;
        }

        #langBtn:hover {
            background: #ff3f62;
            transform: rotate(360deg);
        }

        #langMenu {
            position: fixed;
            top: 4rem;
            right: 1rem;
            z-index: 9999;
            background: rgba(0, 0, 0, 0.9);
            color: var(--color-fg-dark);
            padding: 0.625rem;
            display: none;
            border: 0.0625rem solid var(--color-red-neon);
            border-radius: 0.25rem;
            animation: slideDown 0.5s ease-in-out;
        }

        @keyframes slideDown {
            0% {
                opacity: 0;
                transform: translateY(-1.25rem);
            }

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

        #langMenu button {
            display: block;
            margin: 0.3125rem 0;
            /* 5px 0 */
            background: none;
            border: none;
            color: var(--color-fg-dark);
            cursor: pointer;
            font-weight: bold;
            text-align: left;
            font-family: var(--font-body);
            transition: color var(--transition-speed);
            font-size: 1rem;
            width: 100%;
        }

        #langMenu button:hover {
            color: var(--color-red-neon);
        }

        /* Botón de contacto flotante */
        #contactBtn {
            position: fixed;
            bottom: 1rem;
            right: 1rem;
            z-index: 9999;
            background: var(--color-blue-neon);
            color: var(--color-fg-dark);
            padding: 0.75rem 1.5rem;
            /* 12px 24px */
            border: none;
            border-radius: 0.25rem;
            font-weight: bold;
            cursor: pointer;
            transition: background var(--transition-speed), transform var(--transition-speed);
            font-family: var(--font-special);
            font-size: 1rem;
        }

        #contactBtn:hover {
            background: #00e5ff;
            transform: scale(1.05);
        }

        /* Modales */
        .modal {
            display: none;
            position: fixed;
            z-index: 10000;
            left: 0;
            top: 0;
            width: 100%;
            height: 100%;
            overflow: auto;
            background-color: rgba(0, 0, 0, 0.8);
            justify-content: center;
            align-items: center;
            padding: 1rem;
        }

        .modalContent {
            background-color: var(--color-bg-light);
            color: var(--color-fg-light);
            padding: 1.5rem;
            border: 0.125rem solid var(--color-red-neon);
            border-radius: 0.5rem;
            max-width: 600px;
            width: 100%;
            position: relative;
            font-family: var(--font-body);
            font-size: 1rem;
        }

        .closeModal {
            position: absolute;
            top: 0.5rem;
            right: 0.75rem;
            color: var(--color-fg-dark);
            font-size: 1.5rem;
            font-weight: bold;
            cursor: pointer;
        }

        .closeModal:hover {
            color: var(--color-red-neon);
        }

        /* HERO */
        .hero {
            position: relative;
            height: 100vh;
            background: #000;
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            text-align: center;
            overflow: hidden;
            perspective: 1000px;
            padding: 1rem;
        }

        .hero::before {
            content: "";
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: url('https://images.unsplash.com/photo-1663778009516-087156761eb9') center/cover no-repeat;
            opacity: 0.15;
            z-index: 1;
            animation: rotateBackground 20s linear infinite;
        }

        @keyframes rotateBackground {
            0% {
                transform: rotate(0deg) scale(1);
            }

            50% {
                transform: rotate(180deg) scale(1.2);
            }

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

        .hero h1 {
            position: relative;
            z-index: 2;
            font-family: var(--font-titles);
            font-weight: 700;
            font-size: 2.5rem;
            /* 40px */
            margin: 1.25rem 0;
            /* 20px */
            text-shadow: 0 0 0.625rem var(--color-red-neon), 0 0 1.25rem var(--color-red-neon);
            text-transform: uppercase;
            animation: glow 2s infinite alternate;
            max-width: 90%;
        }

        @keyframes glow {
            0% {
                text-shadow: 0 0 0.625rem var(--color-red-neon), 0 0 1.25rem var(--color-red-neon);
            }

            100% {
                text-shadow: 0 0 1.25rem var(--color-red-neon), 0 0 2.5rem var(--color-red-neon);
            }
        }

        .hero p {
            position: relative;
            z-index: 2;
            font-size: 1.125rem;
            /* 18px */
            margin-bottom: 1.25rem;
            /* 20px */
            text-shadow: 0 0 0.3125rem #000;
            animation: fadeIn 2s ease-in-out;
            max-width: 80%;
        }

        @keyframes fadeIn {
            0% {
                opacity: 0;
            }

            100% {
                opacity: 1;
            }
        }

        .countdown {
            position: relative;
            z-index: 2;
            font-size: 1.125rem;
            /* 18px */
            font-weight: bold;
            color: var(--color-yellow-neon);
            margin-bottom: 0.625rem;
            /* 10px */
            text-shadow: 0 0 0.625rem var(--color-yellow-neon);
            animation: pulse 1.5s infinite;
        }

        @keyframes pulse {

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

            50% {
                transform: scale(1.1);
            }
        }

        #limitedSlots {
            position: relative;
            z-index: 2;
            margin-bottom: 1.875rem;
            /* 30px */
            font-size: 1.0625rem;
            /* 17px */
            color: var(--color-red-neon);
            font-weight: bold;
            animation: shake 0.5s infinite;
        }

        @keyframes shake {

            0%,
            100% {
                transform: translateX(0);
            }

            25% {
                transform: translateX(-0.3125rem);
                /* -5px */
            }

            75% {
                transform: translateX(0.3125rem);
                /* 5px */
            }
        }

        .hero button {
            position: relative;
            z-index: 2;
            background: var(--color-red-neon);
            color: var(--color-fg-dark);
            padding: 0.9375rem 1.875rem;
            /* 15px 30px */
            border: none;
            cursor: pointer;
            font-weight: bold;
            font-size: 1.2rem;
            /* 19px */
            font-family: var(--font-special);
            transition: box-shadow 0.2s, transform 0.2s;
            animation: bounce 2s infinite;
            border-radius: 0.25rem;
        }

        @keyframes bounce {

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

            50% {
                transform: translateY(-0.625rem);
                /* -10px */
            }
        }

        .hero button:hover {
            box-shadow: 0 0 1.25rem var(--color-red-neon);
            transform: scale(1.1);
        }

        /* SECCIÓN DE OFERTAS */
        .offersSection {
            background: #111;
            padding: 2rem 5%;
        }

        .offersSection h2 {
            font-family: var(--font-titles);
            font-size: 2rem;
            color: var(--color-fg-light);
            margin-bottom: 1.5rem;
            text-align: center;
        }

        .offersContainer,
        .cpaOffersContainer {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
            gap: 1.5rem;
        }

        .offerCard,
        .cpaOfferItem {
            background: #222;
            padding: 1rem;
            border-radius: 0.5rem;
            box-shadow: 0 0 0.3125rem rgba(0, 0, 0, 0.5);
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            transition: transform var(--transition-speed), box-shadow var(--transition-speed);
        }

        .offerCard:hover,
        .cpaOfferItem:hover {
            transform: translateY(-0.3125rem);
            /* -5px */
            box-shadow: 0 0 0.625rem rgba(0, 0, 0, 0.7);
        }

        .offerCard h3,
        .cpaOfferItem h4 {
            font-family: var(--font-titles);
            font-size: 1.25rem;
            /* 20px */
            margin-bottom: 0.5rem;
            color: var(--color-fg-light);
        }

        .offerPayout,
        .cpaOfferItem p {
            font-size: 1rem;
            /* 16px */
            margin-bottom: 1rem;
            color: var(--color-yellow-neon);
        }

        .offerBtn,
        .cpaBtn {
            background: var(--color-green-neon);
            color: var(--color-fg-dark);
            text-align: center;
            padding: 0.5rem;
            border-radius: 0.25rem;
            text-decoration: none;
            font-weight: bold;
            transition: background var(--transition-speed), transform var(--transition-speed);
            font-size: 1rem;
        }

        .offerBtn:hover,
        .cpaBtn:hover {
            background: #00e600;
            transform: scale(1.05);
        }

        /* TESTIMONIOS */
        .testimonialsSection {
            padding: 2rem 5%;
            background: var(--color-bg-light);
            color: var(--color-bg-dark);
        }

        .testimonialsSection h2 {
            font-family: var(--font-titles);
            font-size: 2rem;
            margin-bottom: 1.5rem;
            text-align: center;
        }

        .testimonialsContainer {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
            gap: 1.5rem;
        }

        .testimonialItem {
            background: #f0f0f0;
            padding: 1rem;
            border-radius: 0.5rem;
            box-shadow: 0 0 0.3125rem rgba(0, 0, 0, 0.1);
            font-style: italic;
        }

        .testimonialItem small {
            display: block;
            margin-top: 0.5rem;
            font-size: 0.875rem;
            color: #555;
            text-align: right;
        }

        /* SECCIÓN INFORMATIVA */
        .infoSection {
            padding: 2rem 5%;
            background: #222;
            color: var(--color-fg-light);
        }

        .infoSection h2 {
            font-family: var(--font-titles);
            font-size: 1.75rem;
            margin-bottom: 1.5rem;
            text-align: center;
        }

        .infoContent {
            max-width: 800px;
            margin: 0 auto;
            font-size: 1rem;
            line-height: 1.6;
        }

        .infoContent h3 {
            font-family: var(--font-titles);
            font-size: 1.25rem;
            margin-top: 1rem;
            margin-bottom: 0.5rem;
        }

        .infoContent ul {
            list-style-type: disc;
            margin-left: 1.5rem;
        }

        .infoContent strong {
            color: var(--color-red-neon);
        }

        /* CPA EXCLUSIVAS */
        .cpaSection {
            padding: 2rem 5%;
            background: #111;
            color: var(--color-fg-light);
        }

        .cpaSection h2 {
            font-family: var(--font-titles);
            font-size: 2rem;
            margin-bottom: 1.5rem;
            text-align: center;
        }

        .cpaSection p {
            max-width: 800px;
            margin: 0 auto 1.5rem auto;
            font-size: 1rem;
            line-height: 1.6;
            text-align: center;
        }

        /* FOOTER */
        .footer {
            background: #000;
            color: #fff;
            padding: 2rem 5%;
            text-align: center;
            font-size: 0.875rem;
        }

        .footer a {
            color: var(--color-red-neon);
            text-decoration: none;
            margin: 0 0.5rem;
            transition: color var(--transition-speed);
        }

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

        .trustLogos {
            margin: 1.5rem 0;
            display: flex;
            justify-content: center;
            flex-wrap: wrap;
            gap: 1rem;
        }

        .trustLogos img {
            max-width: 100px;
            height: auto;
            filter: brightness(0) invert(1);
        }

        .logosDisclaimer {
            font-size: 0.75rem;
            color: #aaa;
            margin-top: 1rem;
            max-width: 800px;
            margin-left: auto;
            margin-right: auto;
        }

        /* Responsividad y ajustes de grid */
        @media (max-width: 1024px) {

            .offersContainer,
            .cpaOffersContainer,
            .testimonialsContainer {
                grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
            }

            .hero h1 {
                font-size: 2rem;
            }

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

            .countdown {
                font-size: 1rem;
            }

            #limitedSlots {
                font-size: 0.9375rem;
                /* 15px */
            }

            .hero button {
                font-size: 1rem;
                padding: 0.75rem 1.5rem;
            }
        }

        @media (max-width: 768px) {

            .offersSection,
            .testimonialsSection,
            .infoSection,
            .cpaSection,
            .footer {
                padding: 1.5rem 3%;
            }

            .offersContainer,
            .cpaOffersContainer,
            .testimonialsContainer {
                grid-template-columns: 1fr;
            }

            .hero h1 {
                font-size: 1.75rem;
            }

            .hero p {
                font-size: 0.9375rem;
                /* 15px */
            }

            .countdown {
                font-size: 0.9375rem;
            }

            #limitedSlots {
                font-size: 0.875rem;
                /* 14px */
            }

            .hero button {
                font-size: 0.9rem;
                padding: 0.625rem 1.25rem;
            }

            .testimonialItem,
            .offerCard,
            .cpaOfferItem {
                padding: 0.75rem;
            }
        }

        @media (max-width: 480px) {

            .offersSection,
            .testimonialsSection,
            .infoSection,
            .cpaSection,
            .footer {
                padding: 1rem 2%;
            }

            .hero h1 {
                font-size: 1.5rem;
            }

            .hero p {
                font-size: 0.875rem;
                /* 14px */
            }

            .countdown {
                font-size: 0.875rem;
            }

            #limitedSlots {
                font-size: 0.8125rem;
                /* 13px */
            }

            .hero button {
                font-size: 0.8rem;
                padding: 0.5rem 1rem;
            }

            .testimonialItem,
            .offerCard,
            .cpaOfferItem {
                padding: 0.5rem;
            }

            .trustLogos img {
                max-width: 80px;
            }
        }