.v2-motion-enabled body {
    overflow-x: hidden;
}

.v2-motion-enabled .motion-section {
    --section-visibility: 1;
    --section-parallax-y: 0px;
    position: relative;
    isolation: isolate;
    overflow: visible;
    transition:
        opacity 240ms linear,
        transform 240ms linear,
        filter 240ms linear;
    will-change: opacity, transform;
}

.v2-homepage-motion .motion-section {
    overflow: hidden;
}

.js-ready.v2-homepage-motion .motion-section {
    opacity: calc(0.24 + (var(--section-visibility) * 0.76));
    transform: translate3d(0, calc((1 - var(--section-visibility)) * 44px), 0)
        scale(calc(0.986 + (var(--section-visibility) * 0.014)));
    filter: saturate(calc(0.88 + (var(--section-visibility) * 0.12)));
}

.v2-motion-enabled .motion-section::before {
    content: "";
    position: absolute;
    width: clamp(190px, 34vw, 420px);
    height: clamp(190px, 34vw, 420px);
    top: clamp(1.25rem, 8vw, 5rem);
    right: -14%;
    border-radius: 50%;
    background:
        radial-gradient(circle, rgba(184, 150, 12, 0.18) 0%, rgba(184, 150, 12, 0.08) 30%, rgba(184, 150, 12, 0) 72%);
    transform: translate3d(0, var(--section-parallax-y), 0);
    opacity: calc(0.06 + (var(--section-visibility) * 0.18));
    pointer-events: none;
    z-index: 0;
}

.v2-motion-enabled .motion-section:nth-of-type(even)::before {
    left: -14%;
    right: auto;
    top: auto;
    bottom: clamp(1.25rem, 8vw, 5rem);
}

.v2-motion-enabled .motion-section:nth-of-type(3n)::before {
    width: clamp(150px, 26vw, 300px);
    height: clamp(150px, 26vw, 300px);
}

.v2-motion-enabled .motion-section > .v2-parallax-word,
.v2-motion-enabled .motion-section > .pbg {
    position: absolute;
    top: 50%;
    left: clamp(0.75rem, 4vw, 2.5rem);
    font-family: "Montserrat", sans-serif;
    font-size: clamp(7rem, 21vw, 18rem);
    font-weight: 900;
    line-height: 0.88;
    letter-spacing: -0.08em;
    color: rgba(184, 150, 12, 0.065);
    white-space: nowrap;
    pointer-events: none;
    user-select: none;
    z-index: 0;
    will-change: transform, opacity;
}

.v2-motion-enabled .motion-section > .v2-parallax-word {
    text-transform: uppercase;
}

.v2-motion-enabled .motion-section > .container,
.v2-motion-enabled .motion-section > *:not(.v2-parallax-word):not(.pbg) {
    position: relative;
    z-index: 1;
}

.v2-motion-enabled header.page-header {
    background-image:
        radial-gradient(circle at top right, rgba(184, 150, 12, 0.07), transparent 42%),
        radial-gradient(circle at bottom left, rgba(184, 150, 12, 0.05), transparent 34%);
}

.v2-motion-enabled .section-alt,
.v2-motion-enabled .cta-section {
    position: relative;
}

.v2-motion-enabled .section-alt::after,
.v2-motion-enabled .cta-section::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(184, 150, 12, 0.06) 0%, rgba(184, 150, 12, 0) 18%, rgba(184, 150, 12, 0) 82%, rgba(184, 150, 12, 0.04) 100%);
    pointer-events: none;
    z-index: 0;
}

.v2-motion-enabled .motion-section .card,
.v2-motion-enabled .motion-section .service-card,
.v2-motion-enabled .motion-section .faq-item,
.v2-motion-enabled .motion-section .list li {
    backdrop-filter: blur(16px);
}

.v2-motion-enabled footer {
    padding-top: 1.35rem;
}

.v2-motion-enabled footer::before {
    content: "";
    display: block;
    width: min(132px, calc(100% - 3rem));
    height: 1px;
    margin: 0 auto 1.05rem;
    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(184, 150, 12, 0.16) 18%,
        rgba(212, 175, 55, 0.72) 50%,
        rgba(184, 150, 12, 0.16) 82%,
        transparent 100%
    );
}

@media (max-width: 768px) {
    .js-ready.v2-homepage-motion .motion-section {
        transform: translate3d(0, calc((1 - var(--section-visibility)) * 28px), 0)
            scale(calc(0.992 + (var(--section-visibility) * 0.008)));
    }

    .v2-motion-enabled .motion-section::before {
        width: clamp(140px, 42vw, 260px);
        height: clamp(140px, 42vw, 260px);
        right: -22%;
    }

    .v2-motion-enabled .motion-section:nth-of-type(even)::before {
        left: -22%;
    }

    .v2-motion-enabled .motion-section > .v2-parallax-word,
    .v2-motion-enabled .motion-section > .pbg {
        font-size: clamp(4.75rem, 26vw, 9rem);
        left: 1rem;
        opacity: 0.055;
    }
}

@media (prefers-reduced-motion: reduce) {
    .v2-motion-enabled .motion-section,
    .v2-motion-enabled .motion-section::before,
    .v2-motion-enabled .motion-section > .v2-parallax-word,
    .v2-motion-enabled .motion-section > .pbg {
        transition: none !important;
        transform: none !important;
        opacity: 1 !important;
        filter: none !important;
    }
}
