@keyframes float {

    0%,
    100% {
        transform: rotateZ(-63deg) rotateX(35deg) rotateY(45deg) translate(var(--translate-x), var(--translate-y)) translateZ(20px);
    }

    50% {
        transform: rotateZ(-63deg) rotateX(35deg) rotateY(45deg) translate(var(--translate-x), var(--translate-y)) translateZ(-20px);
    }
}

@keyframes shadow-animation {

    0%,
    100% {
        transform: rotateZ(-63deg) rotateX(35deg) rotateY(45deg) translate(var(--translate-x), var(--translate-y)) translateZ(-20px);
        background-color: rgba(0, 84, 145, 0.05);
        box-shadow: 0 0 10px 10px rgba(0, 84, 145, 0.05);
    }

    50% {
        transform: rotateZ(-63deg) rotateX(35deg) rotateY(45deg) translate(var(--translate-x), var(--translate-y)) translateZ(-20px);
        background-color: rgba(0, 84, 145, 0.1);
        box-shadow: 0 0 10px 5px rgba(0, 84, 145, 0.1);
    }
}

.shadow {
    position: absolute;
    width: var(--width);
    height: var(--height);
    transform-style: preserve-3d;
    border: none;
}

.shadow-none {
    position: absolute;
    width: 0;
    height: 0;
    background-attachment: fixed;
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    transform-style: preserve-3d;
    filter: blur(0.75px);
    border: none;
}

.card {
    position: absolute;
    width: var(--width);
    height: var(--height);
    background-color: rgba(140, 173, 196, 0.1);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    transition: background-color 1s ease;
    transform-style: preserve-3d;
    filter: blur(0.75px);
    box-shadow: inset -1px 7px 16px 5px rgba(140, 173, 196, 0.5);
    transform: rotateZ(-63deg) rotateX(35deg) rotateY(45deg) translate(var(--translate-x), var(--translate-y)) translateZ(20px)
}

.card:hover,
.small-card:hover,
.tile-link:focus-within .small-card,
.tile-wrapper:focus-within .card {
    background-color: rgba(140, 173, 196, 0.4);
}

.small-card {
    position: absolute;
    width: var(--small-card-width);
    height: var(--small-card-height);
    background-color: rgba(140, 173, 196, 0.07);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    transition: background-color 1s ease;
    transform-style: preserve-3d;
    box-shadow: inset -1px 7px 16px 5px rgba(140, 173, 196, 0.2);
    transform: rotateZ(-63deg) rotateX(35deg) rotateY(45deg) translate(var(--translate-x), var(--translate-y)) translateZ(20px);
    animation: float 5s ease-in-out infinite;
}

.tile-top .card {
    animation: float 7s ease-in-out infinite;
    animation-delay: var(--anim-delay-top);
}

.tile-middle .card {
    animation: float 7s ease-in-out infinite;
    animation-delay: var(--anim-delay-middle);
}

.tile-bottom .card {
    animation: float 7s ease-in-out infinite;
    animation-delay: var(--anim-delay-bottom);
}

.shadow,
.small-shadow {
    --translate-x: -15px;
    --translate-y: 15px;

}

.card:nth-of-type(2) {
    --translate-x: -2px;
    --translate-y: 2px;

}

.card:nth-of-type(3) {
    --translate-x: -4px;
    --translate-y: 4px;

}

.card:nth-of-type(4) {
    --translate-x: 0px;
    --translate-y: 0px;

}

.small-card:nth-of-type(2) {
    --translate-x: -2px;
    --translate-y: 2px;
}

.small-card:nth-of-type(3) {
    --translate-x: -4px;
    --translate-y: 4px;
}

.small-card:nth-of-type(4) {
    --translate-x: 0px;
    --translate-y: 0px;
}

.card-details {
    position: relative;
    bottom: var(--logo-bottom);
    padding: 0 30px;
    text-align: center;
}

.card-details img {
    height: 37px;

}

.small-card-details {
    position: relative;
    bottom: var(--logo-bottom);
}

.small-card-details p {
    padding: 0 10px;
    text-align: center;
}

.tile-wrapper {
    position: absolute;
    top: var(--top);
    left: var(--left);
    right: var(--right);
    box-sizing: border-box;
    z-index: 1000000000000000000;
}

/* Ensure anchor tags properly wrap the tile content for reliable click areas */
.tile-wrapper>a {
    display: block;
    position: relative;
    width: var(--width);
    height: var(--height);
    /* Inherit 3D context for proper click tracking */
    transform-style: preserve-3d;
}

.small-tile-wrapper {
    position: absolute;
    top: var(--top);
    left: var(--left);
    right: var(--right);
    box-sizing: border-box;
    z-index: 1000000000000000000;
}

#bottom-tile-text {
    position: relative;
    bottom: -5px;
    color: #fff;
    font-family: var(--font-family-base);
    font-style: normal;
    font-weight: 600;
    font-size: var(--font-lead-size);
    line-height: var(--font-lead-height);
    padding: var(--bottom-tile-padding);
}

/* =============================================================================
   Module Page Specific Tile Overrides
   Moved from module-page.css
   ============================================================================= */

.page-type-module-page .tile-wrapper {
    margin: 30px;
    --top: 20px;
}

.page-type-module-page .card,
.page-type-module-page .shadow {
    --width: 250px;
    --height: 250px;
}

.page-type-module-page .card-details {
    --logo-bottom: -75%;
}

@media (max-width: 1374px) {
    .page-type-module-page .section-container:first-of-type {
        padding: 0;
        overflow: visible;
    }

    .page-type-module-page .tile-wrapper {
        margin: 0 0 30px 0px;
        --top: 50px;
    }
}

@media (max-width: 1100px) {
    .page-type-module-page .header-image {
        display: none;
    }
}