    @font-face {
        font-family: 'Euphemia Regular';
        src: url('/fonts/Euphemia-Regular.ttf') format('truetype');
        font-weight: 400;
        font-style: normal;
    }

    @font-face {
        font-family: 'Euphemia Bold';
        src: url('/fonts/Euphemia-Bold.ttf') format('truetype');
        font-weight: 700;
        font-style: normal;
    }

    @font-face {
        font-family: 'Euphemia Italic';
        src: url('/fonts/Euphemia-Italic.ttf') format('truetype');
        font-weight: 400;
        font-style: italic;
    }

    @font-face{
        font-family: 'Snell Roundhand Regular';
        src: url('/fonts/snellroundhand_black.otf') format('opentype');
        font-weight: 400;
        font-style: normal;
    }

    @font-face{
        font-family: 'Snell Roundhand Bold';
        src: url('/fonts/snellroundhand_bold.otf') format('opentype');
        font-weight: 700;
        font-style: normal;
    }
     
     
    * {
        margin: 0;
        padding: 0;
        box-sizing: border-box;
    }

    body {
        background-color: #1a1e36; /* Azul oscuro de fondo */
        font-family: 'Montserrat', sans-serif;
        color: white;
        overflow-x: hidden;
    }

    /* --- SECCIÓN SUPERIOR (HERO) --- */
    .hero {
        position: relative;
        min-height: 80vh;
        background: linear-gradient(
                        rgba(26, 30, 54, 0.6),
                        rgba(26, 30, 54, 0.6)
                    ),
                    url('/assets/images/background-1.webp');
        background-size: cover;
        background-position: center;

        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;

        padding: 60px 20px 40px;
        text-align: center;
    }


    .main-title {
        font-family: 'Euphemia Regular';
        font-size: 100px;
        line-height: 0.9;
        margin: 0;
    }

    .year-title {
        font-family: 'Snell Roundhand Regular';
        font-style: italic;
        font-size: 140px;
        margin: -10px 0 20px;
    }

    .btn-empezar {
        background-color: #ff2d75;
        color: white;
        font-family: 'Euphemia Regular';
        text-decoration: none;

        padding: 12px 60px;
        border-radius: 50px;
        font-size: 18px;
        text-transform: uppercase;

        margin: 15px 0;

        transition: transform 0.2s;
        box-shadow: 0 4px 15px rgba(255, 45, 117, 0.4);
    }

    .btn-empezar:hover {
        transform: scale(1.05);
    }


    .btn-empezar:active {
        transform: scale(0.98); /* Efecto de "click" cuando lo presionas */
    }

    /* --- SECCIÓN DE INSTRUCCIONES --- */
    .divider {
        display: flex;
        width: 100%;
        height: 35px;
        background-color: #1a1e36; /* Fondo oscuro (los huecos) */
        gap: 12px; /* Espacio entre los trapecios */
    }

    /* Base para todas las piezas claras */
    .divider div {
        background-color: #aeb9d0;
        height: 100%;
    }

    /* Bloque inicial: Recto a la izquierda, inclinado a la derecha */
    .bloque-inicio {
        width: 80px;
        clip-path: polygon(0% 0%, 100% 0%, 75% 100%, 0% 100%);
    }

    /* Los dos cortos: Trapecios puros con puntas afiladas */
    .trapecio {
        width: 60px;
        /* Este corte crea la punta de trapecio perfecta */
        clip-path: polygon(25% 0%, 100% 0%, 75% 100%, 0% 100%);
    }

    /* Barra larga: Inclinada al inicio, recta hasta el final de la pantalla */
    .barra-final {
        flex-grow: 1; /* Esto la hace responsiva, ocupa todo el resto */
        clip-path: polygon(20px 0%, 100% 0%, 100% 100%, 0% 100%);
    }

    .instructions {
        padding: 50px 10%;
        position: relative;
        overflow: hidden;
    }

    .instructions::before {
        content: '';
        position: absolute;
        inset: 0;
        z-index: -1;
        
        background-image: 
            linear-gradient(to right, rgba(255, 255, 255, 0.15) 3px, transparent 1px),
            linear-gradient(to bottom, rgba(255, 255, 255, 0.15) 3px, transparent 1px);
        background-size: 40px 40px;

        -webkit-mask-image: 
            radial-gradient(circle 120px at var(--mouse-x, -100%) var(--mouse-y, -100%), transparent 0%, black 100%),
            linear-gradient(115deg, transparent 50%, black 100%);

        mask-image: 
            radial-gradient(circle 120px at var(--mouse-x, -100%) var(--mouse-y, -100%), transparent 0%, black 100%),
            linear-gradient(115deg, transparent 50%, black 100%);

        -webkit-mask-composite: source-in; 
        mask-composite: intersect;
        
        transition: mask-image 0.1s;
    }
    .step {
        position: relative;
        z-index: 1; /* Asegura que el texto esté siempre por encima */
        display: flex;
        align-items: center;
        margin-bottom: 50px;
        max-width: 900px;
        margin-left: auto;
        margin-right: auto;
    }

    .number {
        font-family: 'Snell Roundhand Regular';
        font-size: 130px;
        color: #ff2d75;
        min-width: 100px;
        margin-right: 30px;
        line-height: 1;
    }

    .text {
        font-family: 'Euphemia Regular';
        font-size: 18px;
        line-height: 1.4;
        font-weight: 300;
    }

    footer {
        /* Fondo sólido para marcar el final de la página */
        background-color: #16192c; 
        padding: 100px 20px 60px 20px;
        text-align: center;
        position: relative;
        width: 100%;
        /* Línea superior para separar de la sección de instrucciones */
        border-top: 1px solid rgba(255, 255, 255, 0.05);
    }

    /* Ajuste de los textos del footer */
    footer p {
        font-family: 'Euphemia Regular', sans-serif;
        color: #A0A3BD;
        font-size: 0.9rem;
        margin-bottom: 10px;
        letter-spacing: 1px;
    }

    .credits {
        display: flex;
        flex-direction: column;
        align-items: center;
        margin-top: 30px;
    }

    footer b {
        color: #EC0058; /* Tu magenta */
        font-family: 'Euphemia Bold', sans-serif;
    }

    .ampersand {
        font-family: 'Snell Roundhand Regular', cursive;
        font-size: 2.5rem;
        color: white;
        opacity: 0.3;
        margin: 10px 0;
        line-height: 1;
    }

    .footer-link {
        text-decoration: none;
        color: inherit;
        transition: all 0.3s ease;
    }

    .footer-link b {
        color: #EC0058;
        transition: text-shadow 0.3s ease;
    }

    .footer-link:hover b {
        text-shadow: 0 0 10px rgba(236, 0, 88, 0.6);
        color: #ff337e;
    }

    .countdown-box {
        margin-top: 20px;
        text-align: center;

        padding: 20px;
        background: rgba(26, 30, 54, 0.6);
        backdrop-filter: blur(10px);
        border: 1px solid rgba(236, 0, 88, 0.3);
        border-radius: 15px;

        width: 90%;
        max-width: 450px;
    }


    .countdown-box p {
        font-size: 0.75rem;
        letter-spacing: 4px;
        color: #ffffff;
        margin-bottom: 15px;
        opacity: 0.8;
    }

    .timer-digital {
        font-family: 'Courier New', Courier, monospace;
        font-size: 3rem; /* Tamaño para escritorio */
        font-weight: bold;
        color: #EC0058;
        text-shadow: 0 0 20px rgba(236, 0, 88, 0.8), 
                    0 0 5px rgba(255, 255, 255, 0.2); 
        display: flex;
        justify-content: center;
        gap: 10px;
        line-height: 1;
    }


    /* Responsivo */
    @media (max-width: 768px) {
        .number { font-size: 60px; min-width: 60px; }
        .divider { height: 25px; gap: 8px; }
        .bloque-inicio { width: 50px; }
        .trapecio { width: 40px; }
        .countdown-box p {
            font-size: 0.7rem;
            letter-spacing: 3px;
        }

        .hero {
            min-height: 80vh;
            padding-top: 80px;
            padding-bottom: 40px;
        }

        .main-title {
            font-size: 55px;
            line-height: 1.1;
        }

        .year-title {
            font-size: 85px;
            margin-bottom: 10px;
        }

        .btn-empezar {
            padding: 10px 40px;
            font-size: 16px;
        }

        .countdown-box {
            margin-top: 15px;
        }

        .timer-digital {
            font-size: 1.5rem;
        }
    }