.parallax-hero-c3347a28 {
    position: relative;
    width: 100vw;
    margin-left: calc(-50vw + 50%); /* Force full width on desktop */
    height: 500vh; /* Increased height from 400vh to 500vh for extra scroll space at the end */
}

/* Fix mobile full width layout and right-side bands */
@media (max-width: 768px) {
    .parallax-hero-c3347a28 {
        width: 100vw; /* Ensure it stays full viewport width on mobile */
        margin-left: calc(-50vw + 50%); /* Keep the full-width force for mobile too */
        max-width: 100vw;
        /* Remove overflow-x: hidden here as it can break position: sticky on parent containers in some iOS/webkit versions */
    }
}

.parallax-hero-c3347a28 .parallax-background {
    position: sticky;
    position: -webkit-sticky; /* iOS Safari support */
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    overflow: hidden;
}

@media (max-width: 768px) {
    .parallax-hero-c3347a28 .parallax-background {
       width: 100vw; /* Force viewport width */
       height: 100vh; /* Ensure full viewport height */
       background-size: cover; /* Ensuring it still covers on mobile */
       background-position: center center;
    }
}

.parallax-hero-c3347a28 .parallax-overlay {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0,0,0,0.4);
    z-index: 1;
}

.parallax-hero-c3347a28 .parallax-content {
    position: relative;
    z-index: 2;
    width: 100%;
    height: 100%;
    color: #fff;
    padding: 10vh 5vw;
}

.parallax-hero-c3347a28 .static-heading {
    position: absolute;
    top: 15%; /* Moved down to avoid header */
    left: 50%;
    transform: translateX(-50%);
    font-size: 4rem; /* Larger for script font */
    font-family: 'Dancing Script', 'Caveat', 'Great Vibes', cursive; /* Fallback script fonts */
    margin: 0;
    letter-spacing: 1px;
    font-weight: 400;
    text-align: center;
    width: 100%;
    color: var(--e-global-color-accent); /* Use global Accent color */
}

.parallax-hero-c3347a28 .hero-heading {
    position: absolute;
    font-size: 4rem;
    margin: 0;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-weight: 800;
    will-change: transform, opacity;
    transform-origin: center center;
    opacity: 0; /* Hidden initially for fade in */
}

/* Positions */
.parallax-hero-c3347a28 .heading-1 {
    top: 30%; /* Moved down slightly to accommodate static heading */
    left: 10%;
    transform-origin: top left;
}
.parallax-hero-c3347a28 .heading-2 {
    top: 55%; /* Moved down slightly */
    left: 50%;
    transform: translate(-50%, -50%);
    transform-origin: center center;
}
.parallax-hero-c3347a28 .heading-3 {
    bottom: 15%; /* Moved down slightly */
    right: 10%;
    transform-origin: bottom right;
}

@media (max-width: 768px) {
    .parallax-hero-c3347a28 .static-heading {
        font-size: 3rem;
        top: 15%; /* Keep moved down */
    }
    .parallax-hero-c3347a28 .hero-heading {
        font-size: 2.5rem;
    }
    /* Stack them vertically on mobile for readability */
    .parallax-hero-c3347a28 .heading-1 {
        top: 25%;
        left: 50%;
        transform: translateX(-50%);
        transform-origin: top center;
    }
    .parallax-hero-c3347a28 .heading-2 {
        top: 55%;
        left: 50%;
        transform: translate(-50%, -50%);
        transform-origin: center center;
    }
    .parallax-hero-c3347a28 .heading-3 {
        bottom: 10%;
        left: 50%;
        right: auto;
        transform: translateX(-50%);
        transform-origin: bottom center;
    }
}