/*==================================================
 CROOKED D CREAMERY
 ANIMATIONS
==================================================*/

* {
    transition:
        color .25s ease,
        background-color .25s ease,
        border-color .25s ease,
        box-shadow .35s ease,
        transform .35s ease;
}

/* HERO */
.hero { overflow: hidden; }

.hero::after {
    content: "";
    position: absolute;
    inset: 0;
    background: inherit;
    background-size: cover;
    background-position: center;
    animation: heroZoom 22s ease-in-out infinite alternate;
    z-index: -2;
}

@keyframes heroZoom {
    from { transform: scale(1); }
    to { transform: scale(1.08); }
}

.hero-kicker { animation: fadeUp .8s ease .2s both; }
.hero h1 { animation: fadeUp 1s ease .4s both; }
.hero p { animation: fadeUp 1s ease .7s both; }
.hero-buttons { animation: fadeUp 1s ease .9s both; }

@keyframes fadeUp {
    from {
        opacity: 0;
        transform: translateY(40px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* BUTTON HOVER */
.btn-brand {
    position: relative;
    overflow: hidden;
}

.btn-brand::before {
    content: "";
    position: absolute;
    width: 0;
    height: 100%;
    left: 0;
    top: 0;
    background: rgba(255,255,255,.15);
    transition: .45s;
}

.btn-brand:hover::before { width: 100%; }

/* ICON HOVER */
.why .bi {
    transition: transform .35s ease, color .35s ease;
}

.why .col-md-3:hover .bi {
    transform: scale(1.18) rotate(-5deg);
    color: var(--brown);
}

/* SOCIAL ICONS */
.social-links a {
    transition: transform .35s ease, background .35s ease;
}

.social-links a:hover {
    transform: translateY(-5px) scale(1.08);
}

/* PAGE LOAD */
body { animation: pageLoad .8s ease; }

@keyframes pageLoad {
    from { opacity: 0; }
    to { opacity: 1; }
}

/* ACCESSIBILITY */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation: none !important;
        transition: none !important;
        scroll-behavior: auto !important;
    }
}
