.registration-shortcuts {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: start;
    gap: clamp(16px, 2.5vw, 40px);
    margin: 0 0 clamp(56px, 7vw, 100px);
    padding: 20px 0;
    scroll-margin-top: 120px;
}

.registration-sticker {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    min-width: 0;
    color: #0f100f;
    text-align: center;
    text-decoration: none;
}

.registration-sticker img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 1.5;
    object-fit: contain;
    transform-origin: 50% 70%;
    transition: transform 350ms cubic-bezier(.22, 1.4, .36, 1), filter 350ms ease;
}

.registration-sticker span {
    max-width: 28ch;
    font-size: clamp(12px, 1.1vw, 17px);
    font-weight: 700;
    line-height: 1.5;
}

.registration-sticker:focus-visible {
    outline: 3px solid #0f100f;
    outline-offset: 10px;
    border-radius: 12px;
}

.registration-sticker:focus-visible img {
    transform: translateY(-10px) rotate(-5deg) scale(1.05);
    filter: drop-shadow(0 10px 0 rgb(15 16 15 / 15%));
}

@media (hover: hover) and (pointer: fine) {
    .registration-sticker:hover img {
        transform: translateY(-10px) rotate(-5deg) scale(1.05);
        filter: drop-shadow(0 10px 0 rgb(15 16 15 / 15%));
    }

    .registration-sticker:nth-child(even):hover img {
        transform: translateY(-10px) rotate(5deg) scale(1.05);
    }
}

@media (max-width: 991px) {
    .registration-shortcuts {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 32px 24px;
    }

    .registration-sticker span {
        font-size: 14px;
    }
}

@media (max-width: 575px) {
    .registration-shortcuts {
        gap: 28px 16px;
    }

    .registration-sticker {
        gap: 10px;
    }

    .registration-sticker span {
        font-size: 12px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .registration-sticker img {
        transition: none;
    }

    .registration-shortcuts .registration-sticker img {
        transform: none;
    }
}
