/* Home Parallax - desktop only */

/*
 * Floating background mode
 * The parallax leaves the normal document flow and sits behind
 * the content that follows it.
 */
.home-parallax--floating {
    position: absolute;
    z-index: 0;
    left: 50%;
    width: 100vw;
    max-width: 100vw;
    margin-left: -50vw;
    margin-top: 0;
    margin-bottom: 0;
}

/* Keep common following sections above the floating layer when they
   create their own stacking/background context. */
.home-parallax--floating ~ * {
    position: relative;
    z-index: 0;
}


.home-parallax {
    display: block;
    position: relative;
    width: 100%;
    height: var(--hp-height);
    overflow: hidden;
    isolation: isolate;
    margin: 40px 0;
}

.home-parallax__inner {
    position: relative;
    width: 100%;
    max-width: none;
    height: 100%;
    margin: 0 auto;
}

.home-parallax__item {
    position: absolute;
    z-index: 1;
    will-change: transform;
    pointer-events: none;
}

.home-parallax__item img {
    display: block;
    max-width: none;
    user-select: none;
}

.hp-left-top {
    top: 5%;
    left: 2%;
    width: clamp(180px, 17vw, 290px);
}

.hp-left-bottom {
    top: 48%;
    left: 10%;
    width: clamp(170px, 15vw, 260px);
}

.hp-right-top {
    top: 12%;
    right: 2%;
    width: clamp(180px, 17vw, 290px);
}

.hp-right-bottom {
    top: 55%;
    right: 10%;
    width: clamp(170px, 15vw, 260px);
}

.home-parallax__content {
    position: absolute;
    z-index: 5;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: min(560px, 42vw);
    text-align: center;
    padding: 30px;
}

.home-parallax__content h2 {
    margin: 0 0 15px;
    font-size: clamp(32px, 4vw, 58px);
    line-height: 1.05;
}

.home-parallax__text {
    font-size: 18px;
    line-height: 1.6;
}

.home-parallax__button {
    display: inline-block;
    margin-top: 22px;
    padding: 12px 28px;
    text-decoration: none;
}

/*
 * Floating background mode
 * Kept after the base .home-parallax rules so these declarations win.
 */
.home-parallax.home-parallax--floating {
    position: absolute;
    z-index: 0;
    left: 49%;
    top: 0;
    bottom: 0;
    width: 100vw;
    max-width: 100vw;
    height: auto;
    margin: 0 0 0 -50vw;
}

.home-parallax.home-parallax--floating ~ * {
    position: relative;
    z-index: 1;
}

@media (max-width: 767px) {
    .home-parallax {
        display: none !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .home-parallax__item {
        transform: none !important;
    }
}
