    /* =======================
       RESET BÁSICO Y ESTILOS GENERALES
       ======================= */
    * {
        margin: 0;
        padding: 0;
        box-sizing: border-box;
    }
    body {
        font-family: Arial, sans-serif;
        font-size: 16px;
        margin: 0;
        padding: 0;
    }

    html {
      scroll-behavior: smooth;
    }


    .container {
        width: 100%;
        position: relative;
    }


    @font-face {
        font-family: 'great_vibesregular';
        src: url('/fonts/greatvibes-regular-webfont.woff2') format('woff2'),
            url('/fonts/greatvibes-regular-webfont.woff') format('woff'),
            url('/fonts/greatvibes-regular-webfont.ttf') format('truetype');

    }

    @font-face {
        font-family: 'poiret_oneregular';
        src: url('/fonts/poiretone-regular-webfont.woff2') format('woff2'),
            url('/fonts/poiretone-regular-webfont.woff') format('woff'),
            url('/fonts/poiretone-regular-webfont.ttf') format('truetype');


    }    

    /* =======================
       DIV 1: OVERLAY INICIAL
       ======================= */
    #div-1 {
        width: 100%;
        height: 100vh;
        background-color: #000000;
        background-size: cover;
        background-position: center;
        display: none;               /* Oculto por defecto */
        flex-direction: column;
        justify-content: center;
        align-items: center;
        position: fixed;
        top: 0;
        left: 0;
        z-index: 10;
    }
    #div-1.visible {
        display: flex;
    }
    #div-1 a {
        color: rgb(33, 8, 8);
        text-decoration: none;
        font-size: 1.125rem;
        position: absolute;
        bottom: 0;
    }
    #div-1 a:hover,
    #div-1 a:active {
        color: #e0e0e0;
    }

    /* =======================
       CONTENEDOR PRINCIPAL DE CONTENIDO
       ======================= */
    .content-container {
        width: 100%;
        position: relative;
        z-index: 2;
        margin-top: 0;
    }

    /* =======================
       DIVS 2 A 13: ESTILOS BÁSICOS Y COLORES DE FONDO
       ======================= */
    #div-2, #div-3, #div-4, #div-5, #div-6, #div-7, #div-8, #div-9, #div-10, #div-11, #div-12, #div-13 {
        width: 100%;
        padding: 0;
        overflow-x: hidden;
        position: relative;
    }
    #div-2 { background-color: #ffffff; }
    #div-3 { background-color: #b6b6b6; }
    #div-4 { background-color: #a2a1a1; }
    #div-5 { background-color: #17131f; }
    #div-6 { background-color: #17131f; }
    #div-7 { background-color: #17131f; }
    #div-8 { background-color: #909090; }
    #div-9 { background-color: #8a8a8a; }
    #div-10 { background-color: #848484; }
    #div-11 { background-color: #7e7e7e; }
    #div-12 { background-color: #787878; }
    #div-13 { background-color: #727272; }

    /* FONDOS DE IMAGEN Y OVERLAY (clases compartidas) */
    [id^="div-"].background-image {
        background-repeat: no-repeat;
        background-position: center center;
        background-size: cover;
    }
    #div-2.background-image { background-image: url('/imagenes/bannerBG1_1.webp'); }
    #div-3.background-image { background-image: url('/imagenes/bannerBG1_1.webp'); }
    #div-4.background-image { background-image: url('/imagenes/bannerBG1_1.webp'); }
    #div-5.background-image { background-image: url('/imagenes/bannerBG1_1.webp'); }
    #div-6.background-image { background-image: url('/imagenes/bannerBG1_1.webp'); }
    #div-7.background-image { background-image: url('/imagenes/bannerBG1_1.webp'); }
    #div-8.background-image { background-image: url('/imagenes/bannerBG1_1.webp'); }
    #div-9.background-image { background-image: url('/imagenes/bannerBG1_1.webp'); }
    #div-10.background-image { background-image: url('/imagenes/bannerBG1_1.webp'); }
    #div-11.background-image { background-image: url('/imagenes/bg.webp'); }
    #div-12.background-image { background-image: url('/imagenes/bg.webp'); }
    #div-13.background-image { background-image: url('/imagenes/bg.webp'); }
    [id^="div-"].background-image.overlay-active::after {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: 1;
        pointer-events: none;
    }
    /* COLORES DE OVERLAY ESPECÍFICOS */
    #div-2.background-image.overlay-active::after { background-color: rgba(0, 128, 0, 0.5); }
    #div-3.background-image.overlay-active::after { background-color: rgba(0, 128, 0, 0.5); }
    #div-4.background-image.overlay-active::after { background-color: rgba(241, 116, 13, 0.448); }
    #div-5.background-image.overlay-active::after { background-color: rgba(5, 17, 131, 0.639); }
    #div-6.background-image.overlay-active::after { background-color: rgba(255, 255, 0, 0.5); }
    #div-7.background-image.overlay-active::after { background-color: rgba(128, 0, 128, 0.5); }
    #div-8.background-image.overlay-active::after { background-color: rgba(0, 255, 255, 0.5); }
    #div-9.background-image.overlay-active::after { background-color: rgba(255, 165, 0, 0.5); }
    #div-10.background-image.overlay-active::after { background-color: rgba(128, 128, 128, 0.5); }
    #div-11.background-image.overlay-active::after { background-color: rgba(255, 192, 203, 0.5); }
    #div-12.background-image.overlay-active::after { background-color: rgba(128, 128, 128, 0.5); }
    #div-13.background-image.overlay-active::after { background-color: rgba(255, 192, 203, 0.5); }

    /* CONTENIDO DENTRO DE CADA DIV */
    .content {
        position: relative;
        z-index: 2;
        max-width: 1400px;
        margin: 0 auto;
        padding: 20px;
        box-sizing: border-box;
    }
    @media (min-width: 2100px) {
        .content {
            max-width: 2500px;
        }
    }

    /* =======================
       FOOTER
       ======================= */
    footer {
        width: 100%;
        background-color: #000000;
        color: white;
        padding: 40px 20px;
    }
    .footer-content {
        max-width: 1200px;
        margin: 0 auto;
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 20px;
    }
    .footer-section h3 {
        font-size: 1.125rem;
        margin-bottom: 15px;
    }
    .footer-section ul {
        list-style: none;
    }
    .footer-section ul li {
        margin-bottom: 10px;
    }
    .footer-section a {
        color: #807f7f;
        text-decoration: none;
        font-size: 0.875rem;
        transition: color 0.3s ease;
    }
    .footer-section a:hover,
    .footer-section a:active {
        color: white;
    }

    .footer-section ul li a:hover::after {
    content: " –";          /* un espacio en blanco + guion */
    color: #E6220D;         /* guion en naranja */
    margin-left: 4px;       /* separación opcional */
    font-size: 0.875rem;    /* mismo tamaño que el enlace */
    font-weight: normal;    /* mismo peso que el enlace */
    }

    /* Asegurarnos de que el enlace “Suscribirse” siempre sea blanco */
    .footer-section a.cta-button {
    color: #ffffff;
    }

    /* Y que siga siendo blanco también al pasar el ratón */
    .footer-section a.cta-button:hover {
    color: #ffffff !important;
    }

    .contact-info p {
        font-size: 0.875rem;
        margin-bottom: 10px;
    }
    .social-links a {
        display: inline-block;
        margin-right: 10px;
        font-size: 1.25rem;
    }
    .cta-button {
        display: inline-block;
        padding: 10px 20px;
        background-color: #7A5AF8;
        color: white;
        text-decoration: none;
        border-radius: 5px;
        font-size: 0.875rem;
        margin-top: 10px;
        transition: background-color 0.3s ease;
    }
    .cta-button:hover,
    .cta-button:active {
        background-color: #1565c0;
    }
    .footer-bottom {
        text-align: center;
        padding-top: 20px;
        border-top: 1px solid #444;
        margin-top: 20px;
        font-size: 0.875rem;
    }
    .footer-bottom img {
        max-width: 100px;
        margin-bottom: 10px;
    }

    /* Estilos para móvil (≤ 768px), los que hacen que el footer sea UNA COLUMNA */
    @media (max-width: 768px) {
        .footer-content {
            /* En móvil: mostramos cada .footer-section en una fila */
            display: flex !important;
            flex-direction: column;
            grid-template-columns: none !important;
            text-align: center;
        }
        .footer-section {
            margin-bottom: 20px;
        }
        .social-links a {
            margin: 0 5px;
        }
        .footer-bottom img {
            max-width: 80px;
        }
    }

    /* =======================
    SCROLLBAR PERSONALIZADO
    ======================= */
    body {
        --sb-track-color: #ffffff;
        --sb-thumb-color: #5F25DE;
        --sb-size: 16px;
        }

        body::-webkit-scrollbar {
        width: var(--sb-size);
        }

        body::-webkit-scrollbar-track {
        background: var(--sb-track-color);
        border-radius: 0px;
        }

        body::-webkit-scrollbar-thumb {
        background: var(--sb-thumb-color);
        border-radius: 10px;
        border: 2px solid #232E33;
        }

        /* Fallback para navegadores que no soporten ::-webkit-scrollbar */
        @supports not selector(::-webkit-scrollbar) {
        body {
            scrollbar-color: var(--sb-thumb-color) var(--sb-track-color);
            scrollbar-width: thin;
        }
    }



    /* =======================
       BOTÓN “SCROLL TO TOP”
       ======================= */
    .progress-wrap {
        position: fixed;
        bottom: 40px;
        right: 30px;
        height: 46px;
        width: 46px;
        border-radius: 50%;
        background-color: #ffffff;
        border: 2px solid #cccccc;
        box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
        cursor: pointer;
        opacity: 0;
        visibility: hidden;
        transition: opacity 0.3s ease;
        z-index: 1000;
    }
    .progress-wrap.active {
        opacity: 1;
        visibility: visible;
    }
    .progress-wrap::after {
        content: '\2191';
        font-size: 1.5rem;
        color: #1f2029;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        line-height: 46px;
    }
    .progress-wrap:hover::after {
        color: #5F25DE;
    }
    .progress-circle {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        transform: rotate(-90deg);
    }
    .progress-circle path {
        stroke: #5F25DE;
        stroke-width: 7px;
        fill: none;
        stroke-dasharray: 308;
        stroke-dashoffset: 308;
        transition: stroke-dashoffset 0.3s ease;
    }
    @media (max-width: 840px) {
        .progress-wrap {
            bottom: 10px;
            right: 10px;
        }
    }

    /* =======================
       STICKY LINKS LATERALES
       ======================= */
    #sticky-links {
        position: fixed;
        top: 50%;
        right: 10px;
        display: flex;
        flex-direction: column;
        align-items: flex-end;
        z-index: 8;
        transform: translateY(-50%);
    }
    .sticky-link {
        width: 25px;
        height: 25px;
        background-color: #ffffff;
        border: 1px solid #000000;
        border-radius: 50%;
        margin-bottom: 25px;
        cursor: pointer;
        position: relative;
        transition: background-color 0.3s ease, border 0.3s ease;
        display: block;
    }
    .sticky-link:hover {
        background-color: #ff6200;
        border: 2px solid #000000;
    }
    .sticky-link.active {
        background-color: red;
        border: 1px solid #000000;
    }
    .sticky-link:hover.active {
        background-color: #ff6200;
        border: 2px solid #000000;
    }
    .sticky-link::after {
        content: attr(data-tooltip);
        position: absolute;
        right: 35px;
        top: 50%;
        transform: translateY(-50%);
        background-color: #333;
        color: #fff;
        padding: 5px 10px;
        border-radius: 4px;
        font-size: 0.75rem;
        white-space: nowrap;
        opacity: 0;
        visibility: hidden;
        transition: opacity 0.3s ease, visibility 0.3s ease;
    }
    .sticky-link:hover::after {
        opacity: 1;
        visibility: visible;
    }
    @media (max-width: 767px) {
        #sticky-links {
            display: none;
        }
    }

    /* =======================
       MENÚ STICKY PRINCIPAL
       ======================= */
    #menu {
        width: 100%;
        background-color: #000000;
        box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
        position: sticky;
        top: 0;
        z-index: 9;
        margin: 0;
        padding: 0;
    }
    .menu-container {
        max-width: 1200px;
        margin: 0 auto;
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 15px 20px;
    }
    .menu-items {
        display: flex;
        list-style: none;
    }
    .menu-items li {
        position: relative;
        margin: 0 15px;
    }
    .menu-items a {
        text-decoration: none;
        color: #ffffff;
        font-size: 1rem;
        font-weight: 500;
        transition: color 0.3s ease;
    }
    .menu-items a:hover {
        color: #E6220D;
        font-weight: bold;
    }
    @media (min-width: 769px) {
        .menu-items li:last-child {
            position: absolute;
            right: 10px;
        }
        .menu-items li:hover .submenu {
            display: block;
        }
    }
    .submenu {
        display: none;
        position: absolute;
        background-color: #ffffff;
        box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
        top: 100%;
        left: 0;
        list-style: none;
        padding: 10px 0 35px;
        min-width: 250px;
        z-index: 10;
    }
    .submenu li {
        margin: 0;
        padding: 8px 20px;
    }
    .submenu a {
        font-size: 0.875rem;
        color: #333;
    }
    .submenu a:hover {
        color: #E6220D;
        font-weight: bold;
    }

    /* =======================
       HAMBURGER MENU PRINCIPAL (MÓVIL)
       ======================= */
    .menu-toggle {
        display: none;
        font-size: 1.5rem;
        cursor: pointer;
        color: #333;
    }
    @media (max-width: 768px) {
        #menu {
            width: 40px;
            height: 40px;
            background-color: #ffffff;
            box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
            position: fixed;
            top: 0;
        }
        .menu-container {
            width: 40px;
            height: 40px;
            padding: 0;
            display: flex;
            justify-content: center;
            align-items: center;
            background-color: #ffffff;
        }
        .menu-toggle {
            display: block;
            font-size: 1.875rem;
            line-height: 40px;
            text-align: center;
            z-index: 10;
        }
        .menu-items {
            display: none;
            flex-direction: column;
            position: absolute;
            top: 0px;
            left: 0;
            width: 100vw;
            background-color: #000000;
            box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
            padding: 10px 0;
            z-index: 8;
        }
        .menu-items.active {
            display: flex;
        }
        .menu-toggle::before {
            content: '☰';
            color: #E6220D;
        }
        .menu-toggle.active::before {
            content: '✖';
            color: #E6220D;
            font-size: 1.875rem;
            font-weight: bold;
        }
        .menu-items li {
            margin: 10px 0;
            text-align: center;
        }
        .submenu {
            position: static;
            box-shadow: none;
            background-color: #f9f9f9;
        }
        .menu-items li.active .submenu {
            display: block;
        }
    }

    /* =======================
       HAMBURGER MENU LATERAL (ESCRITORIO & MÓVIL)
       ======================= */
    #hamburger-menu {
        position: fixed;
        top: 0;
        left: 0;
        width: 45px;
        height: 45px;
        background-color: rgba(255, 255, 255, 0.9);
        border-radius: 8px;
        z-index: 9;
        display: flex;
        align-items: center;
        justify-content: center;
        box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
        margin: 0;
    }
    .hamburger-toggle {
        width: 40px;
        height: 40px;
        cursor: pointer;
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        transition: transform 0.3s ease;
    }
    .hamburger-toggle span {
        width: 30px;
        height: 3px;
        background-color: #333;
        position: absolute;
        transition: all 0.3s ease;
    }
    .hamburger-toggle span::before,
    .hamburger-toggle span::after {
        content: '';
        width: 30px;
        height: 3px;
        background-color: #333;
        position: absolute;
        transition: all 0.3s ease;
    }
    .hamburger-toggle span::before {
        transform: translateY(-10px);
    }
    .hamburger-toggle span::after {
        transform: translateY(10px);
    }
    .hamburger-toggle.active span {
        background-color: transparent;
    }
    .hamburger-toggle.active span::before {
        transform: translateY(0) rotate(45deg);
        background-color: #ff0000;
    }
    .hamburger-toggle.active span::after {
        transform: translateY(0) rotate(-45deg);
        background-color: #ff0000;
    }
    .hamburger-toggle:hover {
        transform: scale(1.1);
    }
    .hamburger-toggle:hover span,
    .hamburger-toggle:hover span::before,
    .hamburger-toggle:hover span::after {
        background-color: #1e90ff;
    }
    .hamburger-menu-items {
        display: none;
        position: fixed;
        top: 50px;
        left: 0;
        width: 250px;
        background-color: #fff;
        box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.1);
        padding: 20px;
        flex-direction: column;
        z-index: 8;
    }
    .hamburger-menu-items.active {
        display: flex;
    }
    .hamburger-menu-items li {
        margin: 15px 0;
        position: relative;
    }
    .hamburger-menu-items a {
        text-decoration: none;
        color: #333;
        font-size: 1rem;
        font-weight: 500;
        transition: color 0.3s ease;
    }
    .hamburger-menu-items a:hover {
        color: #1e90ff;
    }
    .hamburger-submenu {
        display: none;
        list-style: none;
        padding-left: 20px;
        margin-top: 10px;
    }
    .hamburger-menu-items li.active .hamburger-submenu {
        display: block;
    }
    .hamburger-submenu li {
        margin: 10px 0;
    }
    .hamburger-submenu a {
        font-size: 0.875rem;
        color: #666;
    }
    .hamburger-submenu a:hover {
        color: #1e90ff;
    }
    @media (max-width: 768px) {
        .hamburger-menu-items {
            width: 70%;
        }
    }
    @media (min-width: 769px) {
        .hamburger-toggle {
            display: flex;
        }
        .hamburger-menu-items {
            top: 50px;
            left: 0;
            width: 250px;
        }
        .hamburger-menu-items li:hover .hamburger-submenu,
        .hamburger-menu-items li.hover-active .hamburger-submenu {
            display: block;
        }
        .hamburger-submenu {
            position: static;
            background-color: #f9f9f9;
            padding-left: 20px;
            margin-top: 10px;
        }
        .hamburger-submenu li {
            padding: 8px 0;
        }
    }

    /* =======================
       COOKIE CONSENT
       ======================= */
    #cookie-consent {
        display: none;
        position: fixed;
        bottom: 20px;
        left: 20px;
        right: 20px;
        background-color: rgba(0, 0, 0, 0.8);
        color: #ffffff;
        padding: 20px;
        border-radius: 8px;
        box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
        z-index: 1001;
        max-width: 500px;
        margin: 0 auto;
    }
    #cookie-consent p {
        font-size: 0.875rem;
        margin-bottom: 15px;
        line-height: 1.5;
    }
    #cookie-consent a {
        color: #1e90ff;
        text-decoration: underline;
        transition: color 0.3s ease;
    }
    #cookie-consent a:hover {
        color: #1565c0;
    }
    .cookie-buttons {
        display: flex;
        gap: 10px;
        justify-content: flex-end;
    }
    .cookie-button {
        padding: 10px 20px;
        border: none;
        border-radius: 5px;
        font-size: 0.875rem;
        cursor: pointer;
        transition: background-color 0.3s ease;
    }
    #cookie-accept {
        background-color: #28a745;
        color: #ffffff;
    }
    #cookie-accept:hover {
        background-color: #218838;
    }
    #cookie-reject {
        background-color: #6c757d;
        color: #ffffff;
    }
    #cookie-reject:hover {
        background-color: #5a6268;
    }
    #cookie-configure {
        background-color: #ffc107;
        color: #000000;
    }
    #cookie-configure:hover {
        background-color: #e0a800;
    }
    #cookie-preferences {
        margin-top: 15px;
        padding: 10px;
        background-color: rgba(255, 255, 255, 0.1);
        display: none;  /* Oculto por defecto */
    }
    #cookie-preferences h3 {
        font-size: 1rem;
        margin-bottom: 10px;
    }
    #cookie-preferences label {
        display: block;
        margin-bottom: 8px;
    }
    #cookie-save {
        background-color: #1e90ff;
        color: #ffffff;
        padding: 10px 20px;
        border: none;
        border-radius: 5px;
        font-size: 0.875rem;
        cursor: pointer;
        transition: background-color 0.3s ease;
    }
    #cookie-save:hover {
        background-color: #1565c0;
    }
    @keyframes bounceInZoomIn {
        0% {
            opacity: 0;
            transform: scale(0.7);
        }
        50% {
            opacity: 0.5;
            transform: scale(1.1);
        }
        70% {
            opacity: 0.8;
            transform: scale(0.95);
        }
        100% {
            opacity: 1;
            transform: scale(1);
        }
    }
    #cookie-consent.active {
        display: block;
        animation: bounceInZoomIn 0.6s ease;
    }
    @media (max-width: 768px) {
        #cookie-consent {
            bottom: 10px;
            left: 10px;
            right: 10px;
            padding: 15px;
        }
        .cookie-buttons {
            flex-direction: column;
            gap: 8px;
        }
        .cookie-button {
            width: 100%;
            text-align: center;
        }
    }

    /* =======================
       COSITAS LATERAL (SOLO LINKS Y CONTROLES DE FUENTE)
       ======================= */
    #cositas {
        display: none;
        position: fixed;
        top: 50%;
        left: -310px;
        transform: translateY(-50%);
        width: 350px;
        height: 150px;
        z-index: 10;
        transition: left 0.3s ease;
    }
    #cositas.active {
        left: -10px;
    }
    .cositas-container {
        display: flex;
        width: 100%;
        height: 150px;
    }
    .cositas-options {
        width: 310px;
        height: 150px;
        background-color: #ffffff;
        color: #000000;
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        padding: 10px;
        /* Quitamos overflow-y para que no haga scroll aquí */
    }
    .cositas-font-controls {
        width: 50px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }
    .cositas-font-button {
        background-color: #f0f0f0;
        border: 1px solid #ccc;
        border-radius: 4px;
        padding: 2px 4px;
        margin: 5px 0;
        font-size: 1rem;
        cursor: pointer;
        transition: background-color 0.3s ease;
    }
    .cositas-font-button:hover {
        background-color: #E6220D;
        color: #ffffff;
    }
    .cositas-links {
        width: 180px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: flex-start;
    }
    .cositas-games {
        width: 60px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: flex-start;
    }
    .cositas-options a {
        color: #000000;
        text-decoration: none;
        margin: 5px 0;
        cursor: pointer;
        transition: color 0.3s ease;
        font-size: 0.875rem;
    }
    .cositas-options a:hover {
        color: #E6220D;
        font-weight: bold;
    }
    .cositas-novedades {
        width: 40px;
        height: 150px;
        background-color: #E6220D;
        color: #ffffff;
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: 0.75rem;
        cursor: pointer;
        text-align: center;
        writing-mode: vertical-rl;
        transform: rotate(180deg);
    }
    @media (max-width: 768px) {
        #cositas {
            left: -180px;
            width: 250px;
            height: 145px;
        }
        #cositas.active {
            left: -10px;
        }
        .cositas-container {
            height: 145px;
        }
        .cositas-options {
            width: 180px;
            height: 145px;
            flex-direction: column;
            justify-content: flex-start;
            padding: 5px;
        }
        .cositas-novedades {
            font-size: 0.625rem;
            height: 145px;
        }
        .cositas-font-controls {
            width: 100%;
            flex-direction: row;
            justify-content: center;
            margin-bottom: 5px;
        }
        .cositas-font-button {
            font-size: 0.875rem;
            margin: 0 5px;
            padding: 3px 8px;
        }
        .cositas-links {
            width: 100%;
            align-items: center;
            display: flex;
            flex-direction: column;
        }
        .cositas-links a {
            margin-bottom: -10px;
            display: block;
            text-align: center;
        }
        .cositas-links a:last-child {
            margin-bottom: 0;
        }
        .cositas-games {
            width: 100%;
            align-items: center;
        }
        .cositas-options a {
            font-size: 0.75rem;
        }
    }

    /* =======================
       MODAL DE COSITAS
       ======================= */
    .cositas-modal {
        display: none;
        position: fixed;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 80vw;
        height: 80vh;
        background-color: #d3d3d3;
        z-index: 100;
        justify-content: center;
        align-items: center;
        box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
    }
    .cositas-modal.active {
        display: flex;
    }
    .cositas-modal-content {
        font-size: 1.5rem;
        color: #000000;
        text-align: center;
        width: 100%;
        height: 100%;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }
    .cositas-modal-content p {
        margin-bottom: 2px;
    }
    .game-buttons {
        display: flex;
        gap: 10px;
        flex-wrap: wrap;
        justify-content: center;
    }
    .game-button {
        padding: 3px 6px;
        background-color: #1e90ff;
        color: #ffffff;
        border: none;
        border-radius: 5px;
        font-size: 1rem;
        cursor: pointer;
        transition: background-color 0.3s ease;
    }
    .game-button:hover {
        background-color: #1565c0;
    }
    .game-iframe {
        width: 100%;
        height: 80%;
        border: none;
        margin-top: 5px;
        display: none;
    }
    .cositas-modal-close {
        position: absolute;
        top: 5px;
        right: 5px;
        font-size: 1.5rem;
        color: #ff0000;
        cursor: pointer;
        font-weight: bold;
    }
    .cositas-modal-close:hover {
        color: #cc0000;
    }
    .modal-overlay {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.5);
        z-index: 99;
    }
    .modal-overlay.active {
        display: block;
    }

    /* =======================
       MODAL SUSCRIPCIÓN
       ======================= */
    .subscribe-modal {
        display: none;
        position: fixed;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 50vw;
        height: 50vh;
        background-color: #ffffff;
        z-index: 100;
        justify-content: center;
        align-items: center;
        box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
        border-radius: 8px;
    }
    .subscribe-modal.active {
        display: flex;
    }
    .subscribe-modal-content {
        font-size: 1.5rem;
        color: #000000;
        text-align: center;
    }
    .subscribe-modal-close {
        position: absolute;
        top: 10px;
        right: 10px;
        font-size: 1.5rem;
        color: #ff0000;
        cursor: pointer;
        font-weight: bold;
    }
    .subscribe-modal-close:hover {
        color: #cc0000;
    }
    @media (max-width: 768px) {
        .subscribe-modal {
            width: 80vw;
            height: 60vh;
        }
        .subscribe-modal-content {
            font-size: 1.125rem;
        }
        .subscribe-modal-close {
            font-size: 1.25rem;
        }
    }

    /* =======================
       MODAL “ACERCA DE” (USANDO CLASE .about-us-modal)
       ======================= */
    .about-us-modal {
        display: none;
        position: fixed;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 95vw;
        height: 90vh;
        background-color: #ffffff;
        z-index: 100;
        box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
        border-radius: 8px;
    }
    .about-us-modal.active {
        display: flex;
    }
    .about-us-modal-content {
        width: 100%;
        height: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
    }
    .modal-iframe {
        width: 100%;
        height: 100%;
        border: none;
    }
    .about-us-modal-close {
        position: absolute;
        top: 10px;
        right: 10px;
        font-size: 1.5rem;
        color: #ff0000;
        cursor: pointer;
        font-weight: bold;
    }
    .about-us-modal-close:hover {
        color: #cc0000;
    }
    @media (max-width: 768px) {
        .about-us-modal {
            width: 98vw;
            height: 95vh;
        }
        .about-us-modal-close {
            font-size: 1.25rem;
        }
    }

    /* =======================
       MODAL “SOBRE TUNJA” (ANIMACIÓN SCALE)
       ======================= */
    .about-tunja-modal {
        display: none;
        position: fixed;
        top: 0;
        right: 0;
        width: 45vw;
        height: 80vh;
        background-color: #ffffff;
        z-index: 100;
        box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
        border-radius: 8px;
        animation: scaleIn 1s ease forwards;
    }
    @keyframes scaleIn {
        0% {
            transform: scale(0.3);
        }
        100% {
            transform: scale(1);
        }
    }
    .about-tunja-modal.active {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }
    .about-tunja-modal-content {
        width: 100%;
        height: 100%;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        padding: 20px;
        text-align: justify;
    }
    .about-tunja-modal-content img {
        max-width: 100%;
        height: auto;
        margin-bottom: 20px;
    }
    .about-tunja-modal-content h3 {
        font-size: 1.5rem;
        margin-bottom: 15px;
        text-align: center;
    }
    .about-tunja-modal-content p {
        font-size: 1rem;
        line-height: 1.5;
    }
    .about-tunja-modal-close {
        position: absolute;
        top: 10px;
        right: 10px;
        font-size: 1.5rem;
        color: #ff0000;
        cursor: pointer;
        font-weight: bold;
    }
    .about-tunja-modal-close:hover {
        color: #cc0000;
    }
    @media (max-width: 840px) {
        .about-tunja-modal {
            width: 80vw;
            height: 80vh;
        }
        .about-tunja-modal-content h3 {
            font-size: 1.25rem;
        }
        .about-tunja-modal-content p {
            font-size: 0.875rem;
        }
        .about-tunja-modal-close {
            font-size: 1.25rem;
        }
    }

    /* =======================
       MODAL “SERVICIOS” (REUSA .about-us-modal)
       ======================= */
    #services-modal {
        width: 70vw;
        height: 70vh;
    }
    @media (max-width: 768px) {
        #services-modal {
            width: 98vw;
            height: 95vh;
        }
    }

    /* =======================
       TIPOS DE LETRA / FORMATO DE TEXTO
       ======================= */
    /* Tamaños fluidos basados en rem + vw. Escalan al pulsar A+ / A– ajustando font-size de <html> */
    h1 {
        font-family: 'great_vibesregular', Arial, sans-serif;
        font-size: calc(1.5rem + 2.5vw) !important;
        line-height: calc(2rem + 2vw) !important;
    }

    h2 {
        font-family: 'poiret_oneregular', Arial, sans-serif;
        font-size: calc(1.25rem + 2vw) !important;
        line-height: calc(1.75rem + 1.8vw) !important;
    }
    h3 {
        font-family: 'poiret_oneregular', Arial, sans-serif;
        font-size: calc(1.125rem + 1.5vw) !important;
        line-height: calc(1.5rem + 1.5vw) !important;
    }
    h4 {
        font-size: calc(1rem + 1vw) !important;
        line-height: calc(1.25rem + 1vw) !important;
    }
    h5 {
        font-size: calc(0.875rem + 0.8vw) !important;
        line-height: calc(1.125rem + 0.8vw) !important;
    }
    h6 {
        font-size: calc(0.75rem + 0.5vw) !important;
        line-height: calc(1rem + 0.5vw) !important;
    }
    p {
        font-family: 'poiret_oneregular', Arial, sans-serif;
        font-size: calc(1rem + 0.3vw) !important;
        line-height: calc(1.5rem + 0.5vw) !important;
    }

/* =======================
   AJUSTES MÓVILES
   ======================= */
@media screen and (max-width: 840px) {
    p {
        font-size: 1.3rem !important; /* 17px */
    }
}



    /* =======================
        PÁRRAFOS MÁS PEQUEÑOS EN VISTA NORMAL
        ======================= */
    @media (min-width: 841px) {
        .p-small {
        font-size: calc(0.5rem + 0.25vw);
        line-height: calc(0.75rem + 0.25vw);
        }
    }    

    /* Colores disponibles para títulos y párrafos */
    .text-black   { color: #000000; }
    .text-white   { color: #ffffff; }
    .text-orange  { color: #E6220D; }

    /* Alineaciones de texto */
    .text-left    { text-align: left; }
    .text-center  { text-align: center; }
    .text-right   { text-align: right; }
    .text-justify { text-align: justify; }

    /* Peso de fuente */
    .font-normal  { font-weight: normal; }
    .font-bold    { font-weight: bold; }

    /* =======================
       ENLACES / VÍNCULOS
       ======================= */
    .enlace {
        color: #E6220D;
        text-decoration: none;
        font-weight: normal;
        transition: color 0.3s ease, font-weight 0.3s ease;
    }
    .enlace:hover {
        font-weight: bold;
    }

    /* =======================
       ANIMACIONES DE MOVIMIENTO (DIRECCIONES)
       ======================= */
    .animated {
        opacity: 0;
        transition: transform 2s ease-out, opacity 2s ease-out;
        text-align: center;
    }
    .animated.visible {
        opacity: 1;
        transform: translate(0, 0);
    }
    .move-right { transform: translateX(-100%); }
    .move-left  { transform: translateX(100%);  }
    .move-up    { transform: translateY(100%);  }
    .move-down  { transform: translateY(-100%); }

    /* =======================
       ANIMACIONES DE ESCALA Y MÁS
       ======================= */
    img {
        max-width: 100%;
        height: auto;
        display: block;
        margin: 0 auto;
    }
    .escalar {
        opacity: 0;
        transition: all 1s ease-out;
    }
    .escalar.visible {
        opacity: 1;
    }
    .escalar.scale {
        transform: scale(0.5);
    }
    .escalar.scale.visible {
        transform: scale(1);
    }
    .escalar.slide-up {
        transform: translateY(50px);
    }
    .escalar.slide-up.visible {
        transform: translateY(0);
    }
    .escalar.rotate {
        transform: rotate(-15deg) scale(0.8);
    }
    .escalar.rotate.visible {
        transform: rotate(0deg) scale(1);
    }
    .escalar.bounce-in {
        transform: scale(1.3);
    }
    .escalar.bounce-in.visible {
        transform: scale(1);
        animation: bounce 1s ease-out;
    }
    @keyframes bounce {
        0%   { transform: scale(1.3); }
        50%  { transform: scale(0.8); }
        100% { transform: scale(1);   }
    }
    .escalar.swing-in {
        transform: rotate(20deg);
        transform-origin: center top;
    }
    .escalar.swing-in.visible {
        transform: rotate(0deg);
        animation: swing 1s ease-out;
    }
    @keyframes swing {
        0%  { transform: rotate(20deg); }
        40% { transform: rotate(-10deg); }
        70% { transform: rotate(5deg); }
        100%{ transform: rotate(0deg);  }
    }

    /* =======================
       IMÁGENES PARA FICHAS (.casate)
       ======================= */
    .casate {
        width: auto;
        height: 150px;
        transition: transform 0.3s ease;
    }
    .casate:hover {
        animation: bounce 0.6s ease;
    }
    @media (max-width: 840px) {
        .casate {
            width: auto;
            height: 60px;
        }
    }


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

/* ---------- Botón 1 - Versión Original ---------- */
.btn1-original {
  all: unset;
  cursor: pointer;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  position: relative;
  border-radius: 100em;
  background-color: rgba(0, 0, 0, 0.75);
  box-shadow:
    -0.15em -0.15em 0.15em -0.075em rgba(5, 5, 5, 0.25),
    0.0375em 0.0375em 0.0675em 0 rgba(5, 5, 5, 0.1);
}
.btn1-original::after {
  content: "";
  position: absolute;
  z-index: 0;
  width: calc(100% + 0.3em);
  height: calc(100% + 0.3em);
  top: -0.15em;
  left: -0.15em;
  border-radius: inherit;
  background: linear-gradient(
    -135deg,
    rgba(5, 5, 5, 0.5),
    transparent 20%,
    transparent 100%
  );
  filter: blur(0.0125em);
  opacity: 0.25;
  mix-blend-mode: multiply;
}
.btn1-original .btn1-outer {
  position: relative;
  z-index: 1;
  border-radius: inherit;
  transition: box-shadow 300ms ease;
  will-change: box-shadow;
  box-shadow:
    0 0.05em 0.05em -0.01em rgba(5, 5, 5, 1),
    0 0.01em 0.01em -0.01em rgba(5, 5, 5, 0.5),
    0.15em 0.3em 0.1em -0.01em rgba(5, 5, 5, 0.25);
}
.btn1-original:hover .btn1-outer {
  box-shadow:
    0 0 0 0 rgba(5, 5, 5, 1),
    0 0 0 0 rgba(5, 5, 5, 0.5),
    0 0 0 0 rgba(5, 5, 5, 0.25);
}
.btn1-original .btn1-inner {
  --inset: 0.035em;
  position: relative;
  z-index: 1;
  border-radius: inherit;
  padding: 1em 1.5em;
  background-image: linear-gradient(
    135deg,
    rgba(230, 230, 230, 1),
    rgba(180, 180, 180, 1)
  );
  transition:
    box-shadow 300ms ease,
    clip-path 250ms ease,
    background-image 250ms ease,
    transform 250ms ease;
  will-change: box-shadow, clip-path, background-image, transform;
  overflow: clip;
  clip-path: inset(0 0 0 0 round 100em);
  box-shadow:
    0 0 0 0 inset rgba(5, 5, 5, 0.1),
    -0.05em -0.05em 0.05em 0 inset rgba(5, 5, 5, 0.25),
    0 0 0 0 inset rgba(5, 5, 5, 0.1),
    0 0 0.05em 0.2em inset rgba(255, 255, 255, 0.25),
    0.025em 0.05em 0.1em 0 inset rgba(255, 255, 255, 1),
    0.12em 0.12em 0.12em inset rgba(255, 255, 255, 0.25),
    -0.075em -0.25em 0.25em 0.1em inset rgba(5, 5, 5, 0.25);
}
.btn1-original:hover .btn1-inner {
  clip-path: inset(
    clamp(1px, 0.0625em, 2px) clamp(1px, 0.0625em, 2px)
      clamp(1px, 0.0625em, 2px) clamp(1px, 0.0625em, 2px) round 100em
  );
  box-shadow:
    0.1em 0.15em 0.05em 0 inset rgba(5, 5, 5, 0.75),
    -0.025em -0.03em 0.05em 0.025em inset rgba(5, 5, 5, 0.5),
    0.25em 0.25em 0.2em 0 inset rgba(5, 5, 5, 0.5),
    0 0 0.05em 0.5em inset rgba(255, 255, 255, 0.15),
    0 0 0 0 inset rgba(255, 255, 255, 1),
    0.12em 0.12em 0.12em inset rgba(255, 255, 255, 0.25),
    -0.075em -0.12em 0.2em 0.1em inset rgba(5, 5, 5, 0.25);
}
.btn1-original .btn1-inner span {
  position: relative;
  z-index: 4;
  font-family: "Inter", sans-serif;
  letter-spacing: -0.05em;
  font-weight: 500;
  color: rgba(0, 0, 0, 0);
  background-image: linear-gradient(
    135deg,
    rgba(25, 25, 25, 1),
    rgba(75, 75, 75, 1)
  );
  -webkit-background-clip: text;
  background-clip: text;
  transition: transform 250ms ease;
  display: block;
  will-change: transform;
  text-shadow: rgba(0, 0, 0, 0.1) 0 0 0.1em;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.btn1-original:hover .btn1-inner span {
  transform: scale(0.975);
}
.btn1-original:active .btn1-inner {
  transform: scale(0.975);
}

/* ---------- Botón 1 - Versión Negra ---------- */
.btn1-black {
  all: unset;
  cursor: pointer;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  position: relative;
  border-radius: 100em;
  background-color: rgba(0, 0, 0, 1);
  box-shadow:
    -0.15em -0.15em 0.15em -0.075em rgba(0, 0, 0, 0.4),
    0.0375em 0.0375em 0.0675em 0 rgba(0, 0, 0, 0.2);
}
.btn1-black::after {
  content: "";
  position: absolute;
  z-index: 0;
  width: calc(100% + 0.3em);
  height: calc(100% + 0.3em);
  top: -0.15em;
  left: -0.15em;
  border-radius: inherit;
  background: linear-gradient(
    -135deg,
    rgba(0, 0, 0, 0.5),
    transparent 20%,
    transparent 100%
  );
  filter: blur(0.0125em);
  opacity: 0.25;
  mix-blend-mode: multiply;
}
.btn1-black .btn1-outer {
  position: relative;
  z-index: 1;
  border-radius: inherit;
  transition: box-shadow 300ms ease;
  will-change: box-shadow;
  box-shadow:
    0 0.05em 0.05em -0.01em rgba(0, 0, 0, 1),
    0 0.01em 0.01em -0.01em rgba(0, 0, 0, 0.5),
    0.15em 0.3em 0.1em -0.01em rgba(0, 0, 0, 0.25);
}
.btn1-black:hover .btn1-outer {
  box-shadow:
    0 0 0 0 rgba(0, 0, 0, 1),
    0 0 0 0 rgba(0, 0, 0, 0.5),
    0 0 0 0 rgba(0, 0, 0, 0.25);
}
.btn1-black .btn1-inner {
  --inset: 0.035em;
  position: relative;
  z-index: 1;
  border-radius: inherit;
  padding: 1em 1.5em;
  background-image: linear-gradient(
    135deg,
    rgba(50, 50, 50, 1),
    rgba(20, 20, 20, 1)
  );
  transition:
    box-shadow 300ms ease,
    clip-path 250ms ease,
    background-image 250ms ease,
    transform 250ms ease;
  will-change: box-shadow, clip-path, background-image, transform;
  overflow: clip;
  clip-path: inset(0 0 0 0 round 100em);
  box-shadow:
    0 0 0 0 inset rgba(0, 0, 0, 0.2),
    -0.05em -0.05em 0.05em 0 inset rgba(0, 0, 0, 0.5),
    0 0 0 0 inset rgba(0, 0, 0, 0.2),
    0 0 0.05em 0.2em inset rgba(255, 255, 255, 0.1),
    0.025em 0.05em 0.1em 0 inset rgba(255, 255, 255, 0.2),
    0.12em 0.12em 0.12em inset rgba(255, 255, 255, 0.1),
    -0.075em -0.25em 0.25em 0.1em inset rgba(0, 0, 0, 0.5);
}
.btn1-black:hover .btn1-inner {
  clip-path: inset(
    clamp(1px, 0.0625em, 2px) clamp(1px, 0.0625em, 2px)
      clamp(1px, 0.0625em, 2px) clamp(1px, 0.0625em, 2px) round 100em
  );
  box-shadow:
    0.1em 0.15em 0.05em 0 inset rgba(0, 0, 0, 0.9),
    -0.025em -0.03em 0.05em 0.025em inset rgba(0, 0, 0, 0.6),
    0.25em 0.25em 0.2em 0 inset rgba(0, 0, 0, 0.6),
    0 0 0.05em 0.5em inset rgba(255, 255, 255, 0.15),
    0 0 0 0 inset rgba(255, 255, 255, 0.8),
    0.12em 0.12em 0.12em inset rgba(255, 255, 255, 0.1),
    -0.075em -0.12em 0.2em 0.1em inset rgba(0, 0, 0, 0.5);
}
.btn1-black .btn1-inner span {
  position: relative;
  z-index: 4;
  font-family: "Inter", sans-serif;
  letter-spacing: -0.05em;
  font-weight: 500;
  color: rgba(0, 0, 0, 0);
  background-image: linear-gradient(
    135deg,
    rgba(255, 255, 255, 1),
    rgba(200, 200, 200, 1)
  );
  -webkit-background-clip: text;
  background-clip: text;
  transition: transform 250ms ease;
  display: block;
  will-change: transform;
  text-shadow: rgba(0, 0, 0, 0.1) 0 0 0.1em;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.btn1-black:hover .btn1-inner span {
  transform: scale(0.975);
}
.btn1-black:active .btn1-inner {
  transform: scale(0.975);
}


/* ---------- Botón 2 - Versión Original ---------- */
.btn2-original-wrapper .btn2 {
  display: block;
  position: relative;
  width: 76px;
  height: 76px;
  margin: 0;
  overflow: hidden;
  outline: none;
  background-color: transparent;
  cursor: pointer;
  border: 0;
}
.btn2-original-wrapper .btn2:before {
  content: "";
  position: absolute;
  border-radius: 50%;
  inset: 7px;
  border: 3px solid black;
  transition:
    opacity 0.4s cubic-bezier(0.77, 0, 0.175, 1) 80ms,
    transform 0.5s cubic-bezier(0.455, 0.03, 0.515, 0.955) 80ms;
}
.btn2-original-wrapper .btn2:after {
  content: "";
  position: absolute;
  border-radius: 50%;
  inset: 7px;
  border: 4px solid #599a53;
  transform: scale(1.3);
  transition:
    opacity 0.4s cubic-bezier(0.165, 0.84, 0.44, 1),
    transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  opacity: 0;
}
.btn2-original-wrapper .btn2:hover:before,
.btn2-original-wrapper .btn2:focus:before {
  opacity: 0;
  transform: scale(0.7);
  transition:
    opacity 0.4s cubic-bezier(0.165, 0.84, 0.44, 1),
    transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.btn2-original-wrapper .btn2:hover:after,
.btn2-original-wrapper .btn2:focus:after {
  opacity: 1;
  transform: scale(1);
  transition:
    opacity 0.4s cubic-bezier(0.77, 0, 0.175, 1) 80ms,
    transform 0.5s cubic-bezier(0.455, 0.03, 0.515, 0.955) 80ms;
}
.btn2-original-wrapper .btn2-box {
  display: flex;
  position: absolute;
  top: 0;
  left: 0;
}
.btn2-original-wrapper .btn2-elem {
  display: block;
  width: 30px;
  height: 30px;
  margin: 24px 18px 0 22px;
  transform: rotate(360deg);
  fill: #f0eeef;
}
.btn2-original-wrapper .btn2:hover .btn2-box,
.btn2-original-wrapper .btn2:focus .btn2-box {
  transition: 0.4s;
  transform: translateX(-69px);
}

/* ---------- Botón 2 - Versión Negra ---------- */
.btn2-black-wrapper .btn2 {
  display: block;
  position: relative;
  width: 76px;
  height: 76px;
  margin: 0;
  overflow: hidden;
  outline: none;
  background-color: transparent;
  cursor: pointer;
  border: 0;
}
.btn2-black-wrapper .btn2:before {
  content: "";
  position: absolute;
  border-radius: 50%;
  inset: 7px;
  border: 3px solid #000;
  transition:
    opacity 0.4s cubic-bezier(0.77, 0, 0.175, 1) 80ms,
    transform 0.5s cubic-bezier(0.455, 0.03, 0.515, 0.955) 80ms;
}
.btn2-black-wrapper .btn2:after {
  content: "";
  position: absolute;
  border-radius: 50%;
  inset: 7px;
  border: 4px solid #000;
  transform: scale(1.3);
  transition:
    opacity 0.4s cubic-bezier(0.165, 0.84, 0.44, 1),
    transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  opacity: 0;
}
.btn2-black-wrapper .btn2:hover:before,
.btn2-black-wrapper .btn2:focus:before {
  opacity: 0;
  transform: scale(0.7);
  transition:
    opacity 0.4s cubic-bezier(0.165, 0.84, 0.44, 1),
    transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.btn2-black-wrapper .btn2:hover:after,
.btn2-black-wrapper .btn2:focus:after {
  opacity: 1;
  transform: scale(1);
  transition:
    opacity 0.4s cubic-bezier(0.77, 0, 0.175, 1) 80ms,
    transform 0.5s cubic-bezier(0.455, 0.03, 0.515, 0.955) 80ms;
}
.btn2-black-wrapper .btn2-box {
  display: flex;
  position: absolute;
  top: 0;
  left: 0;
}
.btn2-black-wrapper .btn2-elem {
  display: block;
  width: 30px;
  height: 30px;
  margin: 24px 18px 0 22px;
  transform: rotate(360deg);
  fill: #000;
}
.btn2-black-wrapper .btn2:hover .btn2-box,
.btn2-black-wrapper .btn2:focus .btn2-box {
  transition: 0.4s;
  transform: translateX(-69px);
}


/* ---------- Botón 3 - Versión Original ---------- */
.btn3-original {
  --h-button: 48px;
  --w-button: 102px;
  --round: 0.75rem;
  cursor: pointer;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  transition: all 0.25s ease;
  background: radial-gradient(
      65.28% 65.28% at 50% 100%,
      rgba(223, 113, 255, 0.8) 0%,
      rgba(223, 113, 255, 0) 100%
    ),
    linear-gradient(0deg, #7a5af8, #7a5af8);
  border-radius: var(--round);
  border: none;
  outline: none;
  padding: 12px 18px;
}
.btn3-original::before,
.btn3-original::after {
  content: "";
  position: absolute;
  inset: var(--space);
  transition: all 0.5s ease-in-out;
  border-radius: calc(var(--round) - var(--space));
  z-index: 0;
}
.btn3-original::before {
  --space: 1px;
  background: linear-gradient(
    177.95deg,
    rgba(255, 255, 255, 0.19) 0%,
    rgba(255, 255, 255, 0) 100%
  );
}
.btn3-original::after {
  --space: 2px;
  background: radial-gradient(
      65.28% 65.28% at 50% 100%,
      rgba(223, 113, 255, 0.8) 0%,
      rgba(223, 113, 255, 0) 100%
    ),
    linear-gradient(0deg, #7a5af8, #7a5af8);
}
.btn3-original:active {
  transform: scale(0.95);
}
.btn3-original .fold {
  z-index: 1;
  position: absolute;
  top: 0;
  right: 0;
  height: 1rem;
  width: 1rem;
  display: inline-block;
  transition: all 0.5s ease-in-out;
  background: radial-gradient(
    100% 75% at 55%,
    rgba(223, 113, 255, 0.8) 0%,
    rgba(223, 113, 255, 0) 100%
  );
  box-shadow: 0 0 3px black;
  border-bottom-left-radius: 0.5rem;
  border-top-right-radius: var(--round);
}
.btn3-original .fold::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 150%;
  height: 150%;
  transform: rotate(45deg) translateX(0%) translateY(-18px);
  background-color: #e8e8e8;
  pointer-events: none;
}
.btn3-original:hover .fold {
  margin-top: -1rem;
  margin-right: -1rem;
}
.btn3-original .points_wrapper {
  overflow: hidden;
  width: 100%;
  height: 100%;
  pointer-events: none;
  position: absolute;
  z-index: 1;
}
.btn3-original .point {
  bottom: -10px;
  position: absolute;
  animation: floating-points infinite ease-in-out;
  pointer-events: none;
  width: 2px;
  height: 2px;
  background-color: #fff;
  border-radius: 9999px;
}
@keyframes floating-points {
  0% {
    transform: translateY(0);
  }
  85% {
    opacity: 0;
  }
  100% {
    transform: translateY(-55px);
    opacity: 0;
  }
}
.btn3-original .point:nth-child(1) {
  left: 10%;
  opacity: 1;
  animation-duration: 2.35s;
  animation-delay: 0.2s;
}
.btn3-original .point:nth-child(2) {
  left: 30%;
  opacity: 0.7;
  animation-duration: 2.5s;
  animation-delay: 0.5s;
}
.btn3-original .point:nth-child(3) {
  left: 25%;
  opacity: 0.8;
  animation-duration: 2.2s;
  animation-delay: 0.1s;
}
.btn3-original .point:nth-child(4) {
  left: 44%;
  opacity: 0.6;
  animation-duration: 2.05s;
}
.btn3-original .point:nth-child(5) {
  left: 50%;
  opacity: 1;
  animation-duration: 1.9s;
}
.btn3-original .point:nth-child(6) {
  left: 75%;
  opacity: 0.5;
  animation-duration: 1.5s;
  animation-delay: 1.5s;
}
.btn3-original .point:nth-child(7) {
  left: 88%;
  opacity: 0.9;
  animation-duration: 2.2s;
  animation-delay: 0.2s;
}
.btn3-original .point:nth-child(8) {
  left: 58%;
  opacity: 0.8;
  animation-duration: 2.25s;
  animation-delay: 0.2s;
}
.btn3-original .point:nth-child(9) {
  left: 98%;
  opacity: 0.6;
  animation-duration: 2.6s;
  animation-delay: 0.1s;
}
.btn3-original .point:nth-child(10) {
  left: 65%;
  opacity: 1;
  animation-duration: 2.5s;
  animation-delay: 0.2s;
}
.btn3-original .inner {
  z-index: 2;
  gap: 6px;
  position: relative;
  width: 100%;
  color: white;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
  transition: color 0.2s ease-in-out;
}
.btn3-original .inner svg.icon {
  width: 18px;
  height: 18px;
  transition: fill 0.1s linear;
}
.btn3-original:focus svg.icon {
  fill: white;
}
.btn3-original:hover svg.icon {
  fill: transparent;
  animation:
    dasharray 1s linear forwards,
    filled 0.1s linear forwards 0.95s;
}
@keyframes dasharray {
  from {
    stroke-dasharray: 0 0 0 0;
  }
  to {
    stroke-dasharray: 68 68 0 0;
  }
}
@keyframes filled {
  to {
    fill: white;
  }
}

/* ---------- Botón 3 - Versión Negra ---------- */
.btn3-black {
  --h-button: 48px;
  --w-button: 102px;
  --round: 0.75rem;
  cursor: pointer;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  transition: all 0.25s ease;
  background: linear-gradient(0deg, #000, #000);
  border-radius: var(--round);
  border: none;
  outline: none;
  padding: 12px 18px;
}
.btn3-black::before,
.btn3-black::after {
  content: "";
  position: absolute;
  inset: var(--space);
  transition: all 0.5s ease-in-out;
  border-radius: calc(var(--round) - var(--space));
  z-index: 0;
}
.btn3-black::before {
  --space: 1px;
  background: linear-gradient(
    177.95deg,
    rgba(255, 255, 255, 0.1) 0%,
    rgba(255, 255, 255, 0) 100%
  );
}
.btn3-black::after {
  --space: 2px;
  background: linear-gradient(0deg, #000, #000);
}
.btn3-black:active {
  transform: scale(0.95);
}
.btn3-black .fold {
  z-index: 1;
  position: absolute;
  top: 0;
  right: 0;
  height: 1rem;
  width: 1rem;
  display: inline-block;
  transition: all 0.5s ease-in-out;
  background: linear-gradient(0deg, #000, #000);
  box-shadow: 0 0 3px rgba(0, 0, 0, 0.5);
  border-bottom-left-radius: 0.5rem;
  border-top-right-radius: var(--round);
}
.btn3-black .fold::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 150%;
  height: 150%;
  transform: rotate(45deg) translateX(0%) translateY(-18px);
  background-color: #333;
  pointer-events: none;
}
.btn3-black:hover .fold {
  margin-top: -1rem;
  margin-right: -1rem;
}
.btn3-black .points_wrapper {
  overflow: hidden;
  width: 100%;
  height: 100%;
  pointer-events: none;
  position: absolute;
  z-index: 1;
}
.btn3-black .point {
  bottom: -10px;
  position: absolute;
  animation: floating-points infinite ease-in-out;
  pointer-events: none;
  width: 2px;
  height: 2px;
  background-color: #fff;
  border-radius: 9999px;
}
.btn3-black .point:nth-child(1) {
  left: 10%;
  opacity: 1;
  animation-duration: 2.35s;
  animation-delay: 0.2s;
}
.btn3-black .point:nth-child(2) {
  left: 30%;
  opacity: 0.7;
  animation-duration: 2.5s;
  animation-delay: 0.5s;
}
.btn3-black .point:nth-child(3) {
  left: 25%;
  opacity: 0.8;
  animation-duration: 2.2s;
  animation-delay: 0.1s;
}
.btn3-black .point:nth-child(4) {
  left: 44%;
  opacity: 0.6;
  animation-duration: 2.05s;
}
.btn3-black .point:nth-child(5) {
  left: 50%;
  opacity: 1;
  animation-duration: 1.9s;
}
.btn3-black .point:nth-child(6) {
  left: 75%;
  opacity: 0.5;
  animation-duration: 1.5s;
  animation-delay: 1.5s;
}
.btn3-black .point:nth-child(7) {
  left: 88%;
  opacity: 0.9;
  animation-duration: 2.2s;
  animation-delay: 0.2s;
}
.btn3-black .point:nth-child(8) {
  left: 58%;
  opacity: 0.8;
  animation-duration: 2.25s;
  animation-delay: 0.2s;
}
.btn3-black .point:nth-child(9) {
  left: 98%;
  opacity: 0.6;
  animation-duration: 2.6s;
  animation-delay: 0.1s;
}
.btn3-black .point:nth-child(10) {
  left: 65%;
  opacity: 1;
  animation-duration: 2.5s;
  animation-delay: 0.2s;
}
.btn3-black .inner {
  z-index: 2;
  gap: 6px;
  position: relative;
  width: 100%;
  color: white;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
  transition: color 0.2s ease-in-out;
}
.btn3-black .inner svg.icon {
  width: 18px;
  height: 18px;
  transition: fill 0.1s linear;
}
.btn3-black:focus svg.icon {
  fill: white;
}
.btn3-black:hover svg.icon {
  fill: transparent;
  animation:
    dasharray 1s linear forwards,
    filled 0.1s linear forwards 0.95s;
}

/* ---------- Botón 4 - Versión Original ---------- */
.btn4-original {
  position: relative;
  display: inline-block;
  cursor: pointer;
  outline: none;
  border: 0;
  vertical-align: middle;
  text-decoration: none;
  background: transparent;
  padding: 0;
  font-size: inherit;
  font-family: inherit;
  width: 12rem;
  height: auto;
}
.btn4-original .btn4-circle {
  transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
  position: relative;
  display: block;
  margin: 0;
  width: 3rem;
  height: 3rem;
  background: #282936;
  border-radius: 1.625rem;
}
.btn4-original .btn4-circle .btn4-icon {
  transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  background: #fff;
}
.btn4-original .btn4-circle .btn4-icon.arrow {
  transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
  left: 0.625rem;
  width: 1.125rem;
  height: 0.125rem;
  background: none;
}
.btn4-original .btn4-circle .btn4-icon.arrow::before {
  position: absolute;
  content: "";
  top: -0.29rem;
  right: 0.0625rem;
  width: 0.625rem;
  height: 0.625rem;
  border-top: 0.125rem solid #fff;
  border-right: 0.125rem solid #fff;
  transform: rotate(45deg);
}
.btn4-original .btn4-text {
  transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 0.75rem 0;
  margin: 0 0 0 1.85rem;
  color: #282936;
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
  text-transform: uppercase;
}
.btn4-original:hover .btn4-circle {
  width: 100%;
}
.btn4-original:hover .btn4-circle .btn4-icon.arrow {
  background: #fff;
  transform: translate(1rem, 0);
}
.btn4-original:hover .btn4-text {
  color: #fff;
}

/* ---------- Botón 4 - Versión Negra ---------- */
.btn4-black {
  position: relative;
  display: inline-block;
  cursor: pointer;
  outline: none;
  border: 0;
  vertical-align: middle;
  text-decoration: none;
  background: transparent;
  padding: 0;
  font-size: inherit;
  font-family: inherit;
  width: 12rem;
  height: auto;
}
.btn4-black .btn4-circle {
  transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
  position: relative;
  display: block;
  margin: 0;
  width: 3rem;
  height: 3rem;
  background: #000;
  border-radius: 1.625rem;
}
.btn4-black .btn4-circle .btn4-icon {
  transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  background: #fff;
}
.btn4-black .btn4-circle .btn4-icon.arrow {
  transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
  left: 0.625rem;
  width: 1.125rem;
  height: 0.125rem;
  background: none;
}
.btn4-black .btn4-circle .btn4-icon.arrow::before {
  position: absolute;
  content: "";
  top: -0.29rem;
  right: 0.0625rem;
  width: 0.625rem;
  height: 0.625rem;
  border-top: 0.125rem solid #fff;
  border-right: 0.125rem solid #fff;
  transform: rotate(45deg);
}
.btn4-black .btn4-text {
  transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 0.75rem 0;
  margin: 0 0 0 1.85rem;
  color: #000;
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
  text-transform: uppercase;
}
.btn4-black:hover .btn4-circle {
  width: 100%;
}
.btn4-black:hover .btn4-circle .btn4-icon.arrow {
  background: #fff;
  transform: translate(1rem, 0);
}
.btn4-black:hover .btn4-text {
  color: #fff;
}


/* ---------- Botón 5 - Versión Original ---------- */
.btn5-original-uiverse {
  position: relative;
  background: #ffffff;
  color: #000;
  padding: 15px;
  margin: 10px;
  border-radius: 10px;
  width: 150px;
  height: 50px;
  font-size: 17px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  box-shadow: 0 10px 10px rgba(0, 0, 0, 0.1);
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}
.btn5-original-uiverse .btn5-tooltip {
  position: absolute;
  top: 0;
  font-size: 14px;
  background: #ffffff;
  color: #ffffff;
  padding: 5px 8px;
  border-radius: 5px;
  box-shadow: 0 10px 10px rgba(0, 0, 0, 0.1);
  opacity: 0;
  pointer-events: none;
  transition: all 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}
.btn5-original-uiverse .btn5-tooltip::before {
  position: absolute;
  content: "";
  height: 8px;
  width: 8px;
  background: #ffffff;
  bottom: -3px;
  left: 50%;
  transform: translate(-50%) rotate(45deg);
  transition: all 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}
.btn5-original-uiverse:hover .btn5-tooltip {
  top: -45px;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.btn5-original-uiverse:hover,
.btn5-original-uiverse:hover .btn5-tooltip,
.btn5-original-uiverse:hover .btn5-tooltip::before {
  background: linear-gradient(320deg, rgb(3, 77, 146), rgb(0, 60, 255));
  color: #ffffff;
}

/* ---------- Botón 5 - Versión Negra ---------- */
.btn5-black-uiverse {
  position: relative;
  background: #5519d9;
  color: #fff;
  padding: 15px;
  margin: 10px;
  border-radius: 10px;
  width: 250px;
  height: 50px;
  font-size: 17px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  box-shadow: 0 10px 10px rgba(0, 0, 0, 0.4);
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}
.btn5-black-uiverse .btn5-tooltip {
  position: absolute;
  top: 0;
  font-size: 14px;
  background: #000;
  color: #fff;
  padding: 5px 8px;
  border-radius: 5px;
  box-shadow: 0 10px 10px rgba(0, 0, 0, 0.4);
  opacity: 0;
  pointer-events: none;
  transition: all 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}
.btn5-black-uiverse .btn5-tooltip::before {
  position: absolute;
  content: "";
  height: 8px;
  width: 8px;
  background: #000;
  bottom: -3px;
  left: 50%;
  transform: translate(-50%) rotate(45deg);
  transition: all 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}
.btn5-black-uiverse:hover .btn5-tooltip {
  top: -45px;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.btn5-black-uiverse:hover,
.btn5-black-uiverse:hover .btn5-tooltip,
.btn5-black-uiverse:hover .btn5-tooltip::before {
  background: #1e035a;
  color: #fff;
}


/* ---------- Botón 6 - Versión Original ---------- */
.btn6-original-shine {
  position: relative;
  padding: 12px 48px;
  color: #fff;
  background: linear-gradient(to right, #9f9f9f 0, #fff 10%, #868686 20%);
  background-position: 0;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: shine 3s infinite linear;
  animation-fill-mode: forwards;
  -webkit-text-size-adjust: none;
  font-weight: 600;
  font-size: 16px;
  text-decoration: none;
  white-space: nowrap;
  font-family: "Poppins", sans-serif;
  display: inline-block;
}
@-moz-keyframes shine {
  0% {
    background-position: 0;
  }
  60% {
    background-position: 180px;
  }
  100% {
    background-position: 180px;
  }
}
@-webkit-keyframes shine {
  0% {
    background-position: 0;
  }
  60% {
    background-position: 180px;
  }
  100% {
    background-position: 180px;
  }
}
@-o-keyframes shine {
  0% {
    background-position: 0;
  }
  60% {
    background-position: 180px;
  }
  100% {
    background-position: 180px;
  }
}
@keyframes shine {
  0% {
    background-position: 0;
  }
  60% {
    background-position: 180px;
  }
  100% {
    background-position: 180px;
  }
}

/* ---------- Botón 6 - Versión Negra ---------- */
.btn6-black-shine {
  position: relative;
  padding: 12px 48px;
  color: #000;
  background: linear-gradient(to right, #000 0, #333 10%, #111 20%);
  background-position: 0;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: shine-black 3s infinite linear;
  animation-fill-mode: forwards;
  -webkit-text-size-adjust: none;
  font-weight: 600;
  font-size: 16px;
  text-decoration: none;
  white-space: nowrap;
  font-family: "Poppins", sans-serif;
  display: inline-block;
}
@keyframes shine-black {
  0% {
    background-position: 0;
  }
  60% {
    background-position: 180px;
  }
  100% {
    background-position: 180px;
  }
}


/* ---------- Botón 7 - Versión Original ---------- */
.btn7-original-golden {
  touch-action: manipulation;
  display: inline-block;
  outline: none;
  font-family: inherit;
  font-size: 1em;
  box-sizing: border-box;
  border: none;
  border-radius: 0.3em;
  height: 2.75em;
  line-height: 2.5em;
  text-transform: uppercase;
  padding: 0 1em;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(110, 80, 20, 0.4),
    inset 0 -2px 5px 1px rgba(139, 66, 8, 1),
    inset 0 -1px 1px 3px rgba(250, 227, 133, 1);
  background-image: linear-gradient(
    160deg,
    #a54e07,
    #b47e11,
    #fef1a2,
    #bc881b,
    #a54e07
  );
  border: 1px solid #a55d07;
  color: rgb(120, 50, 5);
  text-shadow: 0 2px 2px rgba(250, 227, 133, 1);
  cursor: pointer;
  transition: all 0.2s ease-in-out;
  background-size: 100% 100%;
  background-position: center;
}
.btn7-original-golden:focus,
.btn7-original-golden:hover {
  background-size: 150% 150%;
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23),
    inset 0 -2px 5px 1px #b17d10, inset 0 -1px 1px 3px rgba(250, 227, 133, 1);
  border: 1px solid rgba(165, 93, 7, 0.6);
  color: rgba(120, 50, 5, 0.8);
}
.btn7-original-golden:active {
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(110, 80, 20, 0.4),
    inset 0 -2px 5px 1px #b17d10, inset 0 -1px 1px 3px rgba(250, 227, 133, 1);
}

/* ---------- Botón 7 - Versión Negra ---------- */
.btn7-black-golden {
  touch-action: manipulation;
  display: inline-block;
  outline: none;
  font-family: inherit;
  font-size: 1em;
  box-sizing: border-box;
  border: none;
  border-radius: 0.3em;
  height: 2.75em;
  line-height: 2.5em;
  text-transform: uppercase;
  padding: 0 1em;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.5), 0 3px 6px rgba(30, 30, 30, 0.4),
    inset 0 -2px 5px 1px rgba(50, 50, 50, 1),
    inset 0 -1px 1px 3px rgba(150, 150, 150, 1);
  background-image: linear-gradient(
    160deg,
    #333,
    #444,
    #111,
    #444,
    #333
  );
  border: 1px solid #000;
  color: #fff;
  text-shadow: 0 2px 2px rgba(0, 0, 0, 0.5);
  cursor: pointer;
  transition: all 0.2s ease-in-out;
  background-size: 100% 100%;
  background-position: center;
}
.btn7-black-golden:focus,
.btn7-black-golden:hover {
  background-size: 150% 150%;
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.7), 0 6px 6px rgba(0, 0, 0, 0.5),
    inset 0 -2px 5px 1px #222, inset 0 -1px 1px 3px rgba(100, 100, 100, 1);
  border: 1px solid rgba(0, 0, 0, 0.8);
  color: rgba(255, 255, 255, 0.8);
}
.btn7-black-golden:active {
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.5), 0 3px 6px rgba(30, 30, 30, 0.4),
    inset 0 -2px 5px 1px #222, inset 0 -1px 1px 3px rgba(100, 100, 100, 1);
}


/* =======================
   COMPONENTES FICHAS
   ======================= */

/* ---------- Ficha 1 ---------- */
.ficha1-outer {
  width: 300px;
  height: 250px;
  border-radius: 10px;
  padding: 1px;
  background: radial-gradient(circle 230px at 0% 0%, #ffffff, #0c0d0d);
  position: relative;
}
.ficha1-dot {
  width: 5px;
  aspect-ratio: 1;
  position: absolute;
  background-color: #fff;
  box-shadow: 0 0 10px #ffffff;
  border-radius: 100px;
  z-index: 2;
  right: 10%;
  top: 10%;
  animation: ficha1-moveDot 6s linear infinite;
}
@keyframes ficha1-moveDot {
  0%, 100% {
    top: 10%;
    right: 10%;
  }
  25% {
    top: 10%;
    right: calc(100% - 35px);
  }
  50% {
    top: calc(100% - 30px);
    right: calc(100% - 35px);
  }
  75% {
    top: calc(100% - 30px);
    right: 10%;
  }
}
.ficha1-card {
  z-index: 1;
  width: 100%;
  height: 100%;
  border-radius: 9px;
  border: solid 1px #202222;
  background-size: 20px 20px;
  background: radial-gradient(circle 280px at 0% 0%, #444444, #0c0d0d);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  flex-direction: column;
  color: #fff;
}
.ficha1-ray {
  width: 220px;
  height: 45px;
  border-radius: 100px;
  position: absolute;
  background-color: #c7c7c7;
  opacity: 0.4;
  box-shadow: 0 0 50px #fff;
  filter: blur(10px);
  transform-origin: 10%;
  top: 0%;
  left: 0;
  transform: rotate(40deg);
}
.ficha1-text {
  font-weight: bolder;
  font-size: 4rem;
  background: linear-gradient(45deg, #000000 4%, #fff, #000);
  background-clip: text;
  color: transparent;
}
.ficha1-line {
  width: 100%;
  height: 1px;
  position: absolute;
  background-color: #2c2c2c;
}
.ficha1-topl {
  top: 10%;
  background: linear-gradient(90deg, #888888 30%, #1d1f1f 70%);
}
.ficha1-bottoml {
  bottom: 10%;
}
.ficha1-leftl {
  left: 10%;
  width: 1px;
  height: 100%;
  background: linear-gradient(180deg, #747474 30%, #222424 70%);
}
.ficha1-rightl {
  right: 10%;
  width: 1px;
  height: 100%;
}

/* ---------- Ficha 2 ---------- */
.ficha2-parent {
  width: 290px;
  height: 300px;
  perspective: 1000px;
}
.ficha2-card {
  height: 100%;
  border-radius: 50px;
  background: linear-gradient(135deg, rgb(0, 255, 214) 0%, rgb(8, 226, 96) 100%);
  transition: all 0.5s ease-in-out;
  transform-style: preserve-3d;
  box-shadow: rgba(5, 71, 17, 0) 40px 50px 25px -40px, rgba(5, 71, 17, 0.2) 0px 25px 25px -5px;
  position: relative;
}
.ficha2-glass {
  transform-style: preserve-3d;
  position: absolute;
  inset: 8px;
  border-radius: 55px;
  border-top-right-radius: 100%;
  background: linear-gradient(0deg, rgba(255, 255, 255, 0.349) 0%, rgba(255, 255, 255, 0.815) 100%);
  transform: translate3d(0px, 0px, 25px);
  border-left: 1px solid white;
  border-bottom: 1px solid white;
  transition: all 0.5s ease-in-out;
}
.ficha2-content {
  padding: 100px 60px 0px 30px;
  transform: translate3d(0, 0, 26px);
}
.ficha2-title {
  display: block;
  color: #00894d;
  font-weight: 900;
  font-size: 20px;
}
.ficha2-text {
  display: block;
  color: rgba(0, 137, 78, 0.7647058824);
  font-size: 15px;
  margin-top: 20px;
}
.ficha2-bottom {
  padding: 10px 12px;
  transform-style: preserve-3d;
  position: absolute;
  bottom: 20px;
  left: 20px;
  right: 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  transform: translate3d(0, 0, 26px);
}
.ficha2-social-buttons-container {
  display: flex;
  gap: 10px;
  transform-style: preserve-3d;
}
.ficha2-social-button {
  width: 30px;
  aspect-ratio: 1;
  padding: 5px;
  background: rgb(255, 255, 255);
  border-radius: 50%;
  border: none;
  display: grid;
  place-content: center;
  box-shadow: rgba(5, 71, 17, 0.5) 0px 7px 5px -5px;
  transition: transform 0.2s ease-in-out 0.4s, box-shadow 0.2s ease-in-out 0.4s;
}
.ficha2-social-button:nth-child(2) {
  transition: transform 0.2s ease-in-out 0.6s, box-shadow 0.2s ease-in-out 0.6s;
}
.ficha2-social-button:nth-child(3) {
  transition: transform 0.2s ease-in-out 0.8s, box-shadow 0.2s ease-in-out 0.8s;
}
.ficha2-social-button svg {
  width: 15px;
  fill: #00894d;
  transition: fill 0.2s ease-in-out;
}
.ficha2-social-button:hover {
  background: black;
}
.ficha2-social-button:hover svg {
  fill: white;
}
.ficha2-social-button:active {
  background: rgb(255, 234, 0);
}
.ficha2-social-button:active svg {
  fill: black;
}
.ficha2-view-more {
  display: flex;
  align-items: center;
  width: 40%;
  justify-content: flex-end;
  transition: all 0.2s ease-in-out;
}
.ficha2-view-more:hover {
  transform: translate3d(0, 0, 10px);
}
.ficha2-view-more-button {
  background: none;
  border: none;
  color: #00c37b;
  font-weight: bolder;
  font-size: 12px;
}
.ficha2-view-more svg {
  fill: none;
  stroke: #00c37b;
  stroke-width: 3px;
  max-height: 15px;
}
.ficha2-logo {
  position: absolute;
  right: 0;
  top: 0;
  transform-style: preserve-3d;
}
.ficha2-logo .circle {
  display: block;
  position: absolute;
  aspect-ratio: 1;
  border-radius: 50%;
  top: 0;
  right: 0;
  box-shadow: rgba(100, 100, 111, 0.2) -10px 10px 20px 0px;
  backdrop-filter: blur(5px);
  background: rgba(0, 249, 203, 0.2);
  transition: all 0.5s ease-in-out;
}
.ficha2-circle1 {
  width: 170px;
  transform: translate3d(0, 0, 20px);
  top: 8px;
  right: 8px;
}
.ficha2-circle2 {
  width: 140px;
  transform: translate3d(0, 0, 40px);
  top: 10px;
  right: 10px;
  backdrop-filter: blur(1px);
  transition-delay: 0.4s;
}
.ficha2-circle3 {
  width: 110px;
  transform: translate3d(0, 0, 60px);
  top: 17px;
  right: 17px;
  transition-delay: 0.8s;
}
.ficha2-circle4 {
  width: 80px;
  transform: translate3d(0, 0, 80px);
  top: 23px;
  right: 23px;
  transition-delay: 1.2s;
}
.ficha2-circle5 {
  width: 50px;
  transform: translate3d(0, 0, 100px);
  top: 30px;
  right: 30px;
  display: grid;
  place-content: center;
  transition-delay: 1.6s;
}
.ficha2-circle5 svg {
  width: 20px;
  fill: white;
}
.ficha2-parent:hover .ficha2-card {
  transform: rotate3d(1, 1, 0, 30deg);
  box-shadow: rgba(5, 71, 17, 0.3) 30px 50px 25px -40px, rgba(5, 71, 17, 0.1) 0px 25px 30px 0px;
}
.ficha2-parent:hover .ficha2-social-buttons-container .ficha2-social-button {
  transform: translate3d(0, 0, 50px);
  box-shadow: rgba(5, 71, 17, 0.2) -5px 20px 10px 0px;
}
.ficha2-parent:hover .ficha2-circle2 {
  transform: translate3d(0, 0, 60px);
}
.ficha2-parent:hover .ficha2-circle3 {
  transform: translate3d(0, 0, 80px);
}
.ficha2-parent:hover .ficha2-circle4 {
  transform: translate3d(0, 0, 100px);
}
.ficha2-parent:hover .ficha2-circle5 {
  transform: translate3d(0, 0, 120px);
}

/* ---------- Ficha 3 ---------- */
.ficha3-card-container {
  position: relative;
  display: inline-block;
  margin: 12px;
}
.ficha3-card1 {
  display: block;
  position: relative;
  max-width: 262px;
  background-color: #f2f8f9;
  border-radius: 4px;
  padding: 32px 24px;
  margin: 12px;
  text-decoration: none;
  z-index: 0;
  overflow: hidden;
}
.ficha3-card1 p {
  font-size: 17px;
  font-weight: 400;
  line-height: 20px;
  color: #666;
}
.ficha3-card1 p.small {
  font-size: 14px;
}
.ficha3-card1:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: -16px;
  right: -16px;
  background: #00838d;
  height: 32px;
  width: 32px;
  border-radius: 32px;
  transform: scale(1);
  transform-origin: 50% 50%;
  transition: transform 0.25s ease-out;
}
.ficha3-card1:hover:before {
  transform: scale(21);
}
.ficha3-card1:hover p {
  transition: all 0.3s ease-out;
  color: rgba(255, 255, 255, 0.8);
}
.ficha3-card1:hover h3 {
  transition: all 0.3s ease-out;
  color: #fff;
}

/* Opciones adicionales (card2, card3, card4) si se usan: */
.ficha3-card2 {
  display: block;
  top: 0px;
  position: relative;
  max-width: 262px;
  background-color: #f2f8f9;
  border-radius: 4px;
  padding: 32px 24px;
  margin: 12px;
  text-decoration: none;
  z-index: 0;
  overflow: hidden;
  border: 1px solid #f2f8f9;
}
.ficha3-card2:hover {
  transition: all 0.2s ease-out;
  box-shadow: 0px 4px 8px rgba(38, 38, 38, 0.2);
  top: -4px;
  border: 1px solid #ccc;
  background-color: white;
}
.ficha3-card2:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: -16px;
  right: -16px;
  background: #00838d;
  height: 32px;
  width: 32px;
  border-radius: 32px;
  transform: scale(2);
  transform-origin: 50% 50%;
  transition: transform 0.15s ease-out;
}
.ficha3-card2:hover:before {
  transform: scale(2.15);
}

.ficha3-card3 {
  display: block;
  top: 0px;
  position: relative;
  max-width: 262px;
  background-color: #f2f8f9;
  border-radius: 4px;
  padding: 32px 24px;
  margin: 12px;
  text-decoration: none;
  overflow: hidden;
  border: 1px solid #f2f8f9;
}
.ficha3-card3 .go-corner {
  opacity: 0.7;
}
.ficha3-card3:hover {
  border: 1px solid #00838d;
  box-shadow: 0px 0px 999px 999px rgba(255, 255, 255, 0.5);
  z-index: 500;
}
.ficha3-card3:hover p {
  color: #00838d;
}
.ficha3-card3:hover .go-corner {
  transition: opacity 0.3s linear;
  opacity: 1;
}

.ficha3-card4 {
  display: block;
  top: 0px;
  position: relative;
  max-width: 262px;
  background-color: #fff;
  border-radius: 4px;
  padding: 32px 24px;
  margin: 12px;
  text-decoration: none;
  overflow: hidden;
  border: 1px solid #ccc;
}
.ficha3-card4 .go-corner {
  background-color: #00838d;
  height: 100%;
  width: 16px;
  padding-right: 9px;
  border-radius: 0;
  transform: skew(6deg);
  margin-right: -36px;
  align-items: start;
  background-image: linear-gradient(-45deg, #8f479a 1%, #dc2a74 100%);
}
.ficha3-card4 .go-arrow {
  transform: skew(-6deg);
  margin-left: -2px;
  margin-top: 9px;
  opacity: 0;
}
.ficha3-card4:hover {
  border: 1px solid #cd3d73;
}
.ficha3-card4 h3 {
  margin-top: 8px;
}
.ficha3-card4:hover .go-corner {
  margin-right: -12px;
}
.ficha3-card4:hover .go-arrow {
  opacity: 1;
}

/* ---------- Ficha 4 ---------- */
.ficha4-container {
  background-color: #ffffff;
  display: flex;
  width: 460px;
  height: 120px;
  position: relative;
  border-radius: 6px;
  transition: 0.3s ease-in-out;
}
.ficha4-container:hover {
  transform: scale(1.03);
  width: 220px;
}
.ficha4-container:hover .ficha4-left-side {
  width: 100%;
}
.ficha4-left-side {
  background-color: #5de2a3;
  width: 130px;
  height: 120px;
  border-radius: 4px;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  transition: 0.3s;
  flex-shrink: 0;
  overflow: hidden;
}
.ficha4-right-side {
  width: calc(100% - 130px);
  display: flex;
  align-items: center;
  overflow: hidden;
  cursor: pointer;
  justify-content: space-between;
  white-space: nowrap;
  transition: 0.3s;
}
.ficha4-right-side:hover {
  background-color: #f9f7f9;
}
.ficha4-arrow {
  width: 20px;
  height: 20px;
  margin-right: 20px;
}
.ficha4-new {
  font-size: 23px;
  font-family: "Lexend Deca", sans-serif;
  margin-left: 20px;
}
.ficha4-card {
  width: 70px;
  height: 46px;
  background-color: #c7ffbc;
  border-radius: 6px;
  position: absolute;
  display: flex;
  z-index: 10;
  flex-direction: column;
  align-items: center;
  box-shadow: 9px 9px 9px -2px rgba(77, 200, 143, 0.72);
}
.ficha4-card-line {
  width: 65px;
  height: 13px;
  background-color: #80ea69;
  border-radius: 2px;
  margin-top: 7px;
}
@media only screen and (max-width: 480px) {
  .ficha4-container {
    transform: scale(0.7);
  }
  .ficha4-container:hover {
    transform: scale(0.74);
  }
  .ficha4-new {
    font-size: 18px;
  }
}
.ficha4-buttons {
  width: 8px;
  height: 8px;
  background-color: #379e1f;
  box-shadow: 0 -10px 0 0 #26850e, 0 10px 0 0 #56be3e;
  border-radius: 50%;
  margin-top: 5px;
  transform: rotate(90deg);
  margin: 10px 0 0 -30px;
}
.ficha4-container:hover .ficha4-card {
  animation: ficha4-slide-top 1.2s cubic-bezier(0.645, 0.045, 0.355, 1) both;
}
.ficha4-container:hover .ficha4-post {
  animation: ficha4-slide-post 1s cubic-bezier(0.165, 0.84, 0.44, 1) both;
}
@keyframes ficha4-slide-top {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-70px) rotate(90deg);
  }
  60% {
    transform: translateY(-70px) rotate(90deg);
  }
  100% {
    transform: translateY(-8px) rotate(90deg);
  }
}
.ficha4-post {
  width: 63px;
  height: 75px;
  background-color: #dddde0;
  position: absolute;
  z-index: 11;
  bottom: 10px;
  top: 120px;
  border-radius: 6px;
  overflow: hidden;
}
.ficha4-post-line {
  width: 47px;
  height: 9px;
  background-color: #545354;
  position: absolute;
  border-radius: 0px 0px 3px 3px;
  right: 8px;
  top: 8px;
}
.ficha4-post-line:before {
  content: "";
  position: absolute;
  width: 47px;
  height: 9px;
  background-color: #757375;
  top: -8px;
}
.ficha4-screen {
  width: 47px;
  height: 23px;
  background-color: #ffffff;
  position: absolute;
  top: 22px;
  right: 8px;
  border-radius: 3px;
}
.ficha4-numbers {
  width: 12px;
  height: 12px;
  background-color: #838183;
  box-shadow: 0 -18px 0 0 #838183, 0 18px 0 0 #838183;
  border-radius: 2px;
  position: absolute;
  transform: rotate(90deg);
  left: 25px;
  top: 52px;
}
.ficha4-numbers-line2 {
  width: 12px;
  height: 12px;
  background-color: #aaa9ab;
  box-shadow: 0 -18px 0 0 #aaa9ab, 0 18px 0 0 #aaa9ab;
  border-radius: 2px;
  position: absolute;
  transform: rotate(90deg);
  left: 25px;
  top: 68px;
}
@keyframes ficha4-slide-post {
  50% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(-70px);
  }
}
.ficha4-dollar {
  position: absolute;
  font-size: 16px;
  font-family: "Lexend Deca", sans-serif;
  width: 100%;
  left: 0;
  top: 0;
  color: #4b953b;
  text-align: center;
}
.ficha4-container:hover .ficha4-dollar {
  animation: ficha4-fade-in-fwd 0.3s 1s backwards;
}
@keyframes ficha4-fade-in-fwd {
  0% {
    opacity: 0;
    transform: translateY(-5px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

/* ---------- Ficha 5 ---------- */
.ficha5-container {
  display: flex;
  align-items: center;
  justify-content: center;
}
.ficha5-box {
  width: 200px;
  height: 250px;
  border-radius: 20px;
  background: linear-gradient(170deg, rgba(58, 56, 56, 0.623) 0%, rgb(31, 31, 31) 100%);
  position: relative;
  box-shadow: 0 25px 50px rgba(0, 0, 0, 0.55);
  cursor: pointer;
  transition: all 0.3s;
}
.ficha5-box:hover {
  transform: scale(0.9);
}
.ficha5-box span {
  position: absolute;
  overflow: hidden;
  width: 150px;
  height: 150px;
  top: -10px;
  left: -10px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.ficha5-box span::before {
  content: 'Premium';
  position: absolute;
  width: 150%;
  height: 40px;
  background-image: linear-gradient(45deg, #ff6547 0%, #ffb144 51%, #ff7053 100%);
  transform: rotate(-45deg) translateY(-20px);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.23);
}
.ficha5-box span::after {
  content: '';
  position: absolute;
  width: 10px;
  bottom: 0;
  left: 0;
  height: 10px;
  z-index: -1;
  box-shadow: 140px -140px #cc3f47;
  background-image: linear-gradient(45deg, #FF512F 0%, #F09819 51%, #FF512F 100%);
}

/* ---------- Ficha 6 ---------- */
.ficha6-plan-card {
  background: #fff;
  width: 15rem;
  padding-left: 2rem;
  padding-right: 2rem;
  padding-top: 10px;
  padding-bottom: 20px;
  border-radius: 10px;
  border-bottom: 4px solid #000446;
  box-shadow: 0 6px 30px rgba(207, 212, 222, 0.3);
  font-family: "Poppins", sans-serif;
}
.ficha6-plan-card h2 {
  margin-bottom: 15px;
  font-size: 27px;
  font-weight: 600;
}
.ficha6-plan-card h2 span {
  display: block;
  margin-top: -4px;
  color: #4d4d4d;
  font-size: 12px;
  font-weight: 400;
}
.ficha6-etiquet-price {
  position: relative;
  background: #fdbd4a;
  width: 14.46rem;
  margin-left: -0.65rem;
  padding: 0.2rem 1.2rem;
  border-radius: 5px 0 0 5px;
}
.ficha6-etiquet-price p {
  margin: 0;
  padding-top: 0.4rem;
  display: flex;
  font-size: 1.9rem;
  font-weight: 500;
}
.ficha6-etiquet-price p:before {
  content: "$";
  margin-right: 5px;
  font-size: 15px;
  font-weight: 300;
}
.ficha6-etiquet-price p:after {
  content: "/ handle";
  margin-left: 5px;
  font-size: 15px;
  font-weight: 300;
}
.ficha6-etiquet-price div {
  position: absolute;
  bottom: -23px;
  right: 0px;
  width: 0;
  height: 0;
  border-top: 13px solid #c58102;
  border-bottom: 10px solid transparent;
  border-right: 13px solid transparent;
  z-index: -6;
}
.ficha6-benefits-list {
  margin-top: 16px;
}
.ficha6-benefits-list ul {
  padding: 0;
  font-size: 14px;
}
.ficha6-benefits-list ul li {
  color: #4d4d4d;
  list-style: none;
  margin-bottom: 0.2rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.ficha6-benefits-list ul li svg {
  width: 0.9rem;
  fill: currentColor;
}
.ficha6-benefits-list ul li span {
  font-weight: 300;
}
.ficha6-button-get-plan {
  display: flex;
  justify-content: center;
  margin-top: 1.2rem;
}
.ficha6-button-get-plan a {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #000446;
  color: #fff;
  padding: 10px 15px;
  border-radius: 5px;
  text-decoration: none;
  font-size: 0.8rem;
  letter-spacing: 0.05rem;
  font-weight: 500;
  transition: all 0.3s ease;
}
.ficha6-button-get-plan a:hover {
  transform: translateY(-3%);
  box-shadow: 0 3px 10px rgba(207, 212, 222, 0.9);
}
.ficha6-button-get-plan .ficha6-svg-rocket {
  margin-right: 10px;
  width: 0.9rem;
  fill: currentColor;
}


/* seccion 3 */

    /* Contenedores */
    .wrapper {
      max-width: 1200px;
      margin: 0 auto;
      padding: 0 1.5rem;
    }

    /* Responsive Flex */
    .flex-responsive {
      display: flex;
      flex-direction: column;
      gap: 2rem;
    }
    @media (min-width: 768px) {
      .flex-responsive {
        flex-direction: row;
        justify-content: space-between;
        align-items: flex-start;
      }
    }

    /* ---------------------------------------------------
       SECCIÓN 1: Hero Text (fondo azul oscuro)
    ---------------------------------------------------- */
    .bg-dark-blue {
      background-color: #1e035a;
      color: #FFFFFF;
    }
    .hero-text {
      padding: 3rem 0;
    }
    .hero-text--left p {
      font-size: 1rem;
      line-height: 1.6;
      margin: 0;
      max-width: 480px;
    }
    .hero-text--right blockquote {
      font-size: 1.125rem;
      font-style: italic;
      line-height: 1.4;
      text-align: right;
      margin: 0;
    }

    /* ---------------------------------------------------
       SECCIÓN 2: Servicios (degradado 50 % azul / 50 % blanco)
    ---------------------------------------------------- */
    .services {
      background: linear-gradient(
        to bottom,
        #1e035a 50%,
        #FFFFFF 50%
      );
      padding-top: 0;
      padding-bottom: 0;
    }
    .services .wrapper {
      padding-top: 3rem;
      padding-bottom: 3rem;
    }
    .grid {
      display: grid;
      gap: 1.5rem;
    }
    .grid-3-cols {
      grid-template-columns: 1fr;
    }
    @media (min-width: 768px) {
      .grid-3-cols {
        grid-template-columns: repeat(3, 1fr);
      }
    }
    .service-card {
      position: relative;
      overflow: visible;
    }
    .service-card img {
      width: 100%;
      height: auto;
      aspect-ratio: 16/9;
      object-fit: cover;
      border-radius: 0.25rem;
      display: block;
    }
    .service-card .caption {
      position: absolute;
      bottom: -1.5rem;
      left: 50%;
      transform: translateX(-50%);
      background-color: #FFFFFF;
      padding: 0.5rem 1rem;
      border-radius: 0.25rem;
      box-shadow: 0 2px 6px rgba(0,0,0,0.1);
      font-size: 0.875rem;
      font-weight: 600;
      color: #0A1B2E;
      text-align: center;
      white-space: nowrap;
    }

    /* ---------------------------------------------------
       SECCIÓN 3: About Us (fondo blanco)
    ---------------------------------------------------- */
    .about-us {
      background-color: #FFFFFF;
      padding: 4rem 0;
    }
    .about-us--text h2 {
      color: #0A1B2E;
      font-size: 1.75rem;
      line-height: 1.4;
      margin-bottom: 1rem;
      max-width: 480px;
    }
    .about-us--text p {
      font-size: 1rem;
      line-height: 1.6;
      margin-bottom: 1.5rem;
      max-width: 480px;
    }
    .signature img {
      max-width: 180px;
      height: auto;
      display: block;
      margin-top: 1rem;
    }
    .about-us--images {
      display: grid;
      gap: 1.5rem;
      grid-template-columns: 1fr;
    }
    @media (min-width: 768px) {
      .about-us--images {
        grid-template-columns: 1fr 1fr;
        gap: 1rem;
      }
    }
    .about-us--images img {
      width: 100%;
      height: auto;
      object-fit: cover;
      border-radius: 0.5rem;
      box-shadow: 0 4px 8px rgba(0,0,0,0.1);
    }
    .about-us--images img.img-meeting {
      height: 400px;
      object-fit: cover;
    }

    /* ---------------------------------------------------
       SECCIÓN 4: CTA Hero (imagen de fondo + texto superpuesto)
    ---------------------------------------------------- */
    .cta-hero {
      position: relative;
      width: 100%;
      height: 500px;
    }
    @media (max-width: 1024px) {
      .cta-hero {
        height: 350px;
      }
    }
    @media (max-width: 600px) {
      .cta-hero {
        height: 250px;
      }
    }
    .hero-image {
      width: 100%;
      height: 100%;
      background-size: cover;
      background-position: center;
      position: relative;
    }
    .overlay-text {
      position: absolute;
      top: 50%;
      left: 10%;
      transform: translateY(-50%);
      /* color: #0A1B2E; */
      max-width: 35%;
    }
    @media (max-width: 1024px) {
      .overlay-text {
        max-width: 50%;
        left: 5%;
      }
    }
    @media (max-width: 768px) {
      .overlay-text {
        position: relative;
        transform: none;
        top: auto;
        left: auto;
        margin: 0 auto;
        max-width: 100%;
        text-align: left;
        padding: 1rem 0;
      }
    }
    .overlay-text h2 {
      font-size: 2rem;
      font-weight: 700;
      line-height: 1.2;
      margin-bottom: 1rem;
    }
    .overlay-text p {
      font-size: 1rem;
      line-height: 1.6;
      margin-bottom: 1.5rem;
      /* color: #0A1B2E; */
    }
    .flex-kpis {
      display: flex;
      gap: 3rem;
    }
    @media (max-width: 768px) {
      .flex-kpis {
        flex-direction: column;
        gap: 1.5rem;
      }
    }
    .kpi-number {
      display: block;
      font-size: 2.5rem;
      font-weight: 800;
      color: #ffffff;
    }
    .kpi-label {
      display: block;
      font-size: 1rem;
      color: #ffffff;
    }


    /* ====== Sección Hero ====== */
    .hero {
      position: relative;
      width: 100%;
      height: 100vh; /* Ocupa toda la altura del viewport */
      background-image: url("https://themes.themegoods.com/bookingo/demo/wp-content/uploads/2019/01/young-professionals-around-a-table-at-a-business-PRK39CZ.jpg");
      background-size: cover;
      background-position: center;
      background-attachment: fixed; /* Fondo fijo */
    }

    /* ====== Overlay oscuro ====== */
    .overlay {
      position: absolute;
      top: 0;
      left: 0;
      width: 45%;               /* Ajusta según prefieras más o menos ancho para texto */
      height: 100%;
      background-color: rgba(0, 0, 0, 0.6);
      z-index: 1;
    }

    /* ====== Contenido sobre la capa ====== */
    .hero-content {
      position: relative;
      z-index: 2;               /* Encima del overlay */
      width: 90%;
      max-width: 600px;         /* Máxima anchura para no crecer demasiado */
      margin: 0 auto;           /* Centrado horizontal */
      top: 50%;                 /* Centrado vertical en el contenedor */
      transform: translateY(-50%);
      color: #fff;
      padding: 2rem;
    }

    /* ====== Estilos del título ====== */
    .hero-content h1 {
      font-size: 3rem;
      font-weight: 700;
      margin-bottom: 1rem;
      font-family: 'Helvetica Neue', Arial, sans-serif;
    }

    /* ====== Estilos del párrafo ====== */
    .hero-content p {
      font-size: 1rem;
      margin-bottom: 1.5rem;
      line-height: 1.6;
    }

    /* ====== Estilos del botón ====== */
    .hero-content .cta-button {
      display: inline-block;
      padding: 0.75rem 1.5rem;
      background-color: #2563EB;
      color: #fff;
      text-decoration: none;
      font-size: 1rem;
      border-radius: 4px;
      transition: background-color 0.2s ease, box-shadow 0.2s ease;
    }

    .hero-content .cta-button:hover {
      background-color: #1E40AF;
      box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    }

    /* ====== Contenido siguiente al hero ====== */
    main {
      background-color: #f5f5f5;
      padding: 4rem 1rem;
    }

    main .container {
      max-width: 800px;
      margin: 0 auto;
    }

    /* ====== Responsividad ====== */
    @media (max-width: 768px) {
      .overlay {
        width: 100%; /* En móviles, ocupa todo el ancho para legibilidad */
      }
      .hero-content {
        width: 90%;
        padding: 1.5rem;
      }
      .hero-content h1 {
        font-size: 2.5rem;
      }
      .hero-content p {
        font-size: 1rem;
      }
    }


    /* =======================
       opcion ocultar
       ======================= */

      /* Ocultar en resoluciones menores o iguales a 840px */
      @media (max-width: 840px) {
        .ocultar-840 {
          display: none;
        }
      }

      @media (min-width: 841px) {
        .ocultar-840 {
          display: block; /* Puedes cambiar a inline-block, flex, etc. */
        }
      }


      /* Ocultar en resoluciones normales (entre 841px y 2000px) */
      @media (min-width: 841px) and (max-width: 2000px) {
        .ocultar-normal {
          display: none;
        }
      }

      @media (max-width: 840px), (min-width: 2001px) {
        .ocultar-normal {
          display: block;
        }
      }


      /* Ocultar en resoluciones mayores a 2000px */
      @media (min-width: 2001px) {
        .ocultar-2000 {
          display: none;
        }
      }

      @media (max-width: 2000px) {
        .ocultar-2000 {
          display: block;
        }
      }

    /* =======================
       home div 1 bienvenida
       ======================= */

    .eingang {
      position: relative;
      width: 100%;
      height: 100vh; /* Ocupa toda la altura del viewport */
      background-image: url("https://stellarium.bold-themes.com/conference/wp-content/uploads/sites/4/2018/03/hero_home_01.jpg");
      background-size: 100% 100%;
      background-position: center;
      /* Animación de zoom más rápido y con más ampliación, repetida 4 veces */
      animation: zoom 8s linear 4 forwards;
    }

    @keyframes zoom {
      from {
        background-size: 100% 100%;
      }
      to {
        background-size: 130% 130%;
      }
    }

/* =======================
   Ajuste fondo div-1 en móvil usando ::after
   ======================= */
@media (max-width: 768px) {
  .eingang {
    background-image: none !important;
  }

  .eingang::after {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    width: 100%;
    height: 100%;
    background-image: url("https://stellarium.bold-themes.com/conference/wp-content/uploads/sites/4/2018/03/hero_home_01.jpg");
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    transform: translateX(-50%) scale(1);
    transform-origin: center center;
    animation: zoom-mobile 8s linear 4 !important;
    z-index: 0;
  }

  @keyframes zoom-mobile {
    from {
      transform: translateX(-50%) scale(1);
    }
    to {
      transform: translateX(-50%) scale(1.2);
    }
  }
}


    /* ====== Capa de sombreado detrás del texto ====== */
    .eingang::before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: rgba(0, 0, 0, 0.5);
      z-index: 1;
    }

    /* ====== Contenido sobre el fondo ====== */
    .content-block {
      position: relative;
      z-index: 2;               /* Encima de la capa oscura */
      width: 90%;
      max-width: 1800px;         /* Máximo ancho del contenedor de texto */
      margin: 0 auto;           /* Centrado horizontal */
      top: 50%;                 /* Centrado vertical en el contenedor */
      transform: translateY(-50%);
      padding: 2rem;
      text-align: center;       /* Centrado de texto */
    }

    /* ====== Estilos del subtítulo ====== */
    .subtitle-text {
      font-size: 1rem;
      letter-spacing: 1px;
      text-transform: uppercase;
      color: #A174FF;
      margin-bottom: 0.5rem;
    }

    /* ====== Estilos de la fecha ====== */
    .fecha {
      font-size: 2rem;
      color: #A174FF;
      margin-bottom: 1.5rem;
    }

    /* ====== Estilos de los botones ====== */
    .button-group {
      display: flex;
      gap: 12rem;
      justify-content: center;
      flex-wrap: wrap;
    }

    .button-primary {
      display: inline-block;
      padding: 0.75rem 1.5rem;
      background-color: #2563EB;
      color: #fff;
      text-decoration: none;
      font-size: 1rem;
      border-radius: 4px;
      transition: background-color 0.2s ease, box-shadow 0.2s ease;
    }

    .button-primary:hover {
      background-color: #1E40AF;
      box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    }

    .button-primary.alt {
      background-color: #A174FF;
    }

    .button-primary.alt:hover {
      background-color: #7A43E0;
      box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    }

    /* ====== Responsividad ====== */
    @media (max-width: 768px) {
      .eingang::before {
        background: rgba(0, 0, 0, 0.6);
      }
      .content-block {
        width: 100%;
        padding: 1.5rem;
      }
      h1 {
        font-size: 2.5rem;
      }
      .fecha {
        font-size: 1.5rem;
      }
    }    


    /* =======================
       seccion div 2 que es
       ======================= */

    /* Contenedor principal */
    .about-section {
      max-width: 1800px;
      margin: 0 auto;
      padding: 1.5rem 1.5rem;
      display: grid;
      grid-template-columns: 1fr;
      gap: 2rem;

    }
    @media (min-width: 768px) {
      .about-section {
        grid-template-columns: 1fr 1fr;
        align-items: center;
        gap: 2rem;
      }
    }

    /* --------------------------------------------
       LADO IZQUIERDO: Imágenes superpuestas
    -------------------------------------------- */
    .left-images {
      position: relative;
      width: 100%;
      height: auto;
      display: flex;
      justify-content: flex-start;
      margin-top: -150px;
    }
    /* Imagen principal grande */
    .img-large {
      width: 100%;
      max-width: 400px;
      border-radius: 1rem;
      display: block;
      
    }

    @media screen and (max-width: 840px) {
      .left-images {
        justify-content: center;
        margin-top: 0px;
      }
    }
    /* Badge “30+ years of experience” */
    .experience-badge {
      position: absolute;
      top: 1rem;
      left: 1rem;
      background: linear-gradient(135deg, #5519d9, #A174FF); /* Degradado (green-start → green-end) */
      color: #FFFFFF;                                       /* Equivalente a var(--white) */
      padding: 1rem 1.25rem;
      border-radius: 0.75rem;
      font-size: 0.9rem;
      font-weight: 600;
      display: flex;
      align-items: center;
      gap: 0.5rem;
    }
    .experience-badge svg {
      width: 20px;
      height: 20px;
      fill: #FFFFFF;   /* Equivalente a var(--white) */
      flex-shrink: 0;
    }
    /* Texto vertical “5200+ FIVE STAR REVIEWS” */
    .vertical-text {
      position: absolute;
      bottom: 0;
      left: -1rem;
      transform: translateY(-50%) rotate(-90deg);
      transform-origin: left bottom;
      font-size: 0.8rem;
      font-weight: 600;
      color: #0D1B17;   /* Equivalente a var(--text-dark) */
      letter-spacing: 0.05em;
    }
    /* Imagen secundaria pequeña */
    .img-small {
      position: absolute;
      bottom: -1rem;
      right: -1rem;
      width: 200px;
      border-radius: 1rem;
      border-top: 10px solid rgb(255, 255, 255);
      border-left: 10px solid rgb(255, 255, 255);
      /* box-shadow: 0 4px 8px rgba(0, 0, 0, 0.515); */

      /* Filtro sepia o grayscale */
      filter: grayscale(100%);
      transition: filter 0.3s ease;
    }

    /* Hover: recuperamos el color original */
    .img-small:hover {
      filter: grayscale(0%);
    }

    /* --------------------------------------------
       LADO DERECHO: Texto y contenido
    -------------------------------------------- */
    .about-content {
      display: flex;
      flex-direction: column;
      gap: 0.6rem;
    }
    /* “ABOUT US” pequeño encabezado */
    .about-label {
      font-size: 0.9rem;
      font-weight: 600;
      text-transform: uppercase;
      color: #000000;  /* Equivalente a var(--green-start) */
    }
    /* Título principal */
    .about-title {
      font-size: 2rem;
      font-weight: 700;
      line-height: 1.2;
      color: #0D1B17;  /* Equivalente a var(--text-dark) */
    }
    /* Parte en verde del título */
    .about-title .highlight {
      background: linear-gradient(90deg, #5519d9, #A174FF); /* Degradado (green-start → green-end) */
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
    }
    /* Párrafo descriptivo */
    .about-text {
      font-size: 1rem;
      color: #5A5A5A;  /* Equivalente a var(--text-medium) */
      max-width: 500px;
    }
    /* Lista de puntos con check */
    .check-list {
      list-style: none;
      display: flex;
      flex-direction: column;
      gap: 0.75rem;
    }
    .check-list li {
      display: flex;
      align-items: center;
      gap: 0.5rem;
      font-family: 'poiret_oneregular', Arial, sans-serif;
      font-size: 1rem;
      color: #0D1B17;  /* Equivalente a var(--text-dark) */
      font-weight: 600;
    }
    .check-list li::before {
      content: '✔';
      color: #A174FF; /* Equivalente a var(--green-start) */
      font-size: 1rem;
      flex-shrink: 0;
    }

    /* Avatares de clientes satisfechos */
    .client-row {
      display: flex;
      /* align-items: center; */
      /* gap: -0.75rem; */
      margin-top: 0.5rem;
    }
    .client-row img {
      width: 60px;
      height: 60px;
      border-radius: 50%;
      border: 2px solid #FFFFFF; /* Equivalente a var(--white) */
      object-fit: cover;
      box-shadow: 0 2px 4px rgba(0,0,0,0.1);

    }

    .client-row + p {
      margin-left: 1rem;
      font-size: 0.9rem;
      color: #0D1B17; /* Equivalente a var(--text-dark) */
      font-weight: 500;
    }

    /* Línea divisoria */
    .divider {
      height: 1px;
      background-color: #D8D8D8; /* Equivalente a var(--divider) */
      margin: 0.5rem 0;
      border: none;
    }

    /* Bloque de icono “Creative Result” */
    .creative-block {
      display: flex;
      align-items: center;
      gap: 1rem;
    }
    .creative-block svg {
      width: 40px;
      height: 40px;
      fill: #A174FF; /* Equivalente a var(--green-start) */
      flex-shrink: 0;
    }
    .creative-block .creative-text {
      display: flex;
      flex-direction: column;
      gap: 0.25rem;
    }
    .creative-block .creative-text .title {
      font-size: 1rem;
      font-weight: 600;
      color: #0D1B17; /* Equivalente a var(--text-dark) */
    }
    .creative-block .creative-text .subtitle {
      font-size: 0.9rem;
      color: #5A5A5A; /* Equivalente a var(--text-medium) */
    }


/* nuevas imagenes en linea */

        .imgs-linea {
            display: flex;
            justify-content: flex-start;
            align-items: center;
        }

        .imgs-linea-wrap {
            width: 75px;
            height: 75px;
            margin-right: -15px; /* Negative margin for 10px overlap */
        }

        .imgs-linea-wrap img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            border-radius: 50%; /* Optional: makes images circular */
            transition: all 0.3s ease; /* Smooth transition for hover effect */
        }

        .imgs-linea-wrap img:hover {
            filter: brightness(1.2); /* Increase brightness on hover */
            box-shadow: 0 0 10px rgba(255, 255, 255, 0.8); /* Subtle glow effect */
            border: 1px solid black; /* Add 1px solid black border on hover */
        }

        /* Ensure the last image doesn't have a negative margin */
        .imgs-linea-wrap:last-child {
            margin-right: 0;
        }