.gh-head{   
    margin-bottom: -90px;
    z-index: 5;
    width: 100%;
    background: transparent;
}

.hero-container {
    position: relative;
    display: block;
    overflow: hidden;
    width: 100%;
    height: 250vh;
    margin-bottom: -10px;
  }
  
  .hero-headline {
    position: relative;
    z-index: 2;
    max-width: 800px;
    margin: 90px auto 15px;
    color: #ffbf01;
    font-size: 8rem;
    font-weight: 900;
    font-family: "noka";
    text-align: center;
  }
  
  .hero-sub {
    position: relative;
    z-index: 2;
    max-width: 500px;
    margin: 10px auto;
    color: #fff;
    font-size: 1.8rem;
    text-align: center;
  }
  
  .morro, .base, .sky {
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    background-position: 50% 0%;
    background-size: cover;
    background-repeat: no-repeat;
    will-change: transform;
  }
  
  .benefits-section{
    margin-top: -150px;
  }

  .video-swiper-container {
        width: 100%;
        padding: 5rem 0;
    }

    .videoSwiper {
        width: 100%;
        padding: 0 2rem;
    }

    .swiper-slide {
        width: 420px;
        height: 560px;
    }

    .video-card {
        position: relative;
        width: 100%;
        height: 100%;
        border-radius: 32px;
        overflow: hidden;
        cursor: pointer;
        transition: transform 0.3s ease;
        border: solid 7px var(--wfb-blue);
    }

    .background-video {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        z-index: 1;
    }

    .card-overlay {
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        background: linear-gradient(transparent, rgba(0, 0, 0, 1));
        padding: 3rem;
        color: white;
        z-index: 2;
    }

    .card-overlay h3 {
        font-size: 3rem;
        font-weight: 900;
        margin-bottom: 0.5rem;
        text-shadow: 0 2px 4px rgba(0, 0, 0, 0.4);
        line-height: 1.2;
        text-align: center;
    }

    .card-overlay p {
        font-size: 1.8rem;
        opacity: 0.9;
        margin: 0;
        text-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);
        line-height: 1.4;
        text-align: center;
    }

    /* Swiper navigation styling */
    .swiper-button-next,
    .swiper-button-prev {
        color: #019f02 !important;
        background: rgba(255, 255, 255, 0.9);
        border-radius: 50%;
        width: 44px !important;
        height: 44px !important;
        margin-top: -22px !important;
    }

    .swiper-button-next:after,
    .swiper-button-prev:after {
        font-size: 18px !important;
        font-weight: bold;
    }

.cities-section{
    padding-top: 200px;
    padding-bottom: 200px;
    position: relative;
    border-radius: 0 0 32px 32px;
}

.cities-section .section-heading{
    max-width: 475px;
    position: sticky;
    top: 200px;
}

.cities-section .section-heading h2{
    font-size: 6rem;
}

.city-wrapper{
    flex-flow: row;
    justify-content: space-between;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    gap: 200px;
    flex-wrap: wrap;
}

.city-card-link{
    text-decoration: none;
}

.city-card{
    z-index: 1;
    cursor: pointer;
    width: 320px;
    height: 425px;
    position: relative;
    border: solid 5px var(--wfb-green);
    border-radius: 32px;
    display: flex;
    align-items: start;
    justify-content: center;
    overflow: hidden;
    transition: .4s ease;
    animation: float 3s ease-in-out infinite;
}

.city-card:hover img {
    transform: scale(1.1);
    transition: transform 0.4s ease;
}

.city-card img{
    position: absolute;
    object-fit: cover;
    z-index: 0;
    transition: transform 0.4s ease;
}

.city-card-overlay{
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    background: linear-gradient(rgba(0, 0, 0, .8), transparent);
    padding: 10rem;
    z-index: 2;
}

.city-card-content{
    position: relative;
    z-index: 3;
    margin: 24px;
    color: var(--wfb-yellow);
    text-align: center;
}

.city-card-content h3{
    font-size: 3.4rem;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

.city-card-meta{
    font-weight: 600;
    margin-top: .5rem;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

.lower-card{
    margin-top: 100px;
}

.raise-card{
    margin-top: -100px;
}

@keyframes float {
  0%, 100% { transform: translateY(0px); }
  50% { transform: translateY(-10px); }
}

/* Stagger the timing for each card */
.city-card:nth-child(1) { animation-delay: 0s; }
.city-card:nth-child(2) { animation-delay: 0.5s; }
.city-card:nth-child(3) { animation-delay: 1s; }
.city-card:nth-child(4) { animation-delay: 1.5s; }

/* Video Section */
.video-section {
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    overflow: visible;
    min-height: 300vh;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
    background-color: transparent;
}

.c-sticky {
    position: -webkit-sticky;
    position: sticky;
    top: 0px;
    z-index: 5;
    overflow: hidden;
    width: 100%;
}

.bg-video-wrapper {
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    width: 100vw;
    height: 100vh;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
}

.filled-heading {
    position: absolute;
    z-index: 99;
    margin-top: 0px;
    margin-bottom: 0px;
    font-family: noka, sans-serif;
    color: var(--wfb-green);
    font-size: 160px;
    line-height: 1.3em;
    font-weight: 900;
    text-align: center;
    /* Initial animation state */
    opacity: 1;
    transform: translate3d(0px, 0px, 0px) scale3d(1, 1, 1) rotateX(0deg) rotateY(0deg) rotateZ(0deg) skew(0deg, 0deg);
    transform-style: preserve-3d;
    will-change: opacity, transform;
}

.outline-heading {
    position: absolute;
    z-index: 99;
    margin-top: 0px;
    margin-bottom: 0px;
    font-family: noka, sans-serif;
    color: transparent;
    font-size: 160px;
    line-height: 1.3em;
    font-weight: 900;
    text-align: center;
    -webkit-text-stroke-width: 1px;
    -webkit-text-stroke-color: var(--wfb-white);
}

.bg-video-inner-wrapper {
    position: relative;
    width: 100vw;
    height: 100vh;
}

.background-video {
    z-index: 1;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* YouTube Background Video Styles */
#youtube-player {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100vw;
    height: 100vh;
    min-width: 100%;
    min-height: 100%;
    transform: translateX(-50%) translateY(-50%);
    pointer-events: none;
    opacity: 0;
    visibility: hidden;
    transition: opacity 1s ease-in-out, visibility 0s 1s;
    z-index: 1;
}

#youtube-player.playing {
    opacity: 1;
    visibility: visible;
    transition: opacity 1s ease-in-out, visibility 0s 0s;
}

.bg-video-inner-wrapper.video-playing #youtube-player {
    opacity: 1;
}


/* Responsive sizing for different aspect ratios */
@media (min-aspect-ratio: 16/9) {
    #youtube-player {
        width: 100vw;
        height: 56.25vw;
    }
}

@media (max-aspect-ratio: 16/9) {
    #youtube-player {
        width: 177.78vh;
        height: 100vh;
    }
}

.bg-video-border-wrapper {
    position: absolute;
    left: 0%;
    top: 0%;
    right: 0%;
    bottom: 0%;
    z-index: 2;
    border-style: solid;
    border-width: 8vw 15vw;
    border-color: var(--wfb-yellow);
    /* Initial animation state */
    transform: translate3d(0px, 0px, 0px) scale3d(1, 1, 1) rotateX(0deg) rotateY(0deg) rotateZ(0deg) skew(0deg, 0deg);
    transform-style: preserve-3d;
    will-change: transform;
}

.sun-icon-2 {
    position: absolute;
    z-index: 99;
    width: 35vw;
    /* Initial animation state */
    opacity: 0;
    transform: translate3d(0px, 0px, 0px) scale3d(0.2, 0.2, 1) rotateX(0deg) rotateY(0deg) rotateZ(0deg) skew(0deg, 0deg);
    transform-style: preserve-3d;
    will-change: transform, opacity;
}

.cta-button-wrapper{
    display: flex;
    justify-content: center;
    margin-top: 2.5rem;
}

/* Curtain Overlay Styles */
.curtain-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    pointer-events: none;
    z-index: 9999;
}

.curtain-left, .curtain-right {
    position: absolute;
    top: 0;
    width: 50vw;
    height: 100vh;
}

.curtain-left {
    left: 0;
    transform: translateX(0%);
}

.curtain-right {
    right: 0;
    transform: translateX(0%);
}

/* Responsive Styles - Tablet */
@media screen and (max-width: 991px) {
    .video-section {
        min-height: 210vh;
    }

    .filled-heading, .outline-heading {
        font-size: 100px;
        text-align: center;
    }

    .bg-video-border-wrapper {
        border-top-width: 13vw;
        border-bottom-width: 13vw;
    }

    .sun-icon-2 {
        width: 50vw;
    }
}

/* Mobile responsiveness */
@media (max-width: 768px) {
    .hero-container{
        height: 225vh;
    }

    .hero-headline{
        margin: 105px auto 15px;
    }

    .benefits-section{
        margin-top: -275px;
    }

    .benefits-container .section-heading{
        padding: 0 2rem;
    }
    .videoSwiper {
        padding: 0 1rem;
    }
    
    .swiper-slide {
        width: 380px;
        height: 500px;
    }
    
    .card-overlay h3 {
        font-size: 2.4rem;
    }
    
    .card-overlay p {
        font-size: 1.6rem;
    }
    
    .swiper-button-next,
    .swiper-button-prev {
        width: 36px !important;
        height: 36px !important;
        margin-top: -18px !important;
    }
    
    .swiper-button-next:after,
    .swiper-button-prev:after {
        font-size: 14px !important;
    }

    .cities-section{
        padding: 5rem 0;
    }

    .cities-section .section-heading{
        position: relative;
        top: 0;
    }

    .cities-section .section-heading h2{
        font-size: 3.4rem;
        margin-bottom: 5rem;
    }

    .city-wrapper{
        gap: 50px;
    }

    .city-card{
        animation: none;
        margin: 0 auto;
        width: 100%;
    }

    .city-card-link{
        width: 100%;
    }

    .video-section {
        display: block;
    }

    .filled-heading, .outline-heading {
        font-size: 75px;
        text-align: center;
    }

    .bg-video-border-wrapper {
        border-top-width: 20vw;
        border-bottom-width: 20vw;
    }

    .sun-icon-2 {
        width: 55vw;
    }
}

@media (max-width: 480px) {
    .swiper-slide {
        width: 320px;
        height: 460px;
    }
    
    .card-overlay {
        padding: 3rem 2.4rem;
    }
    
    .card-overlay h3 {
        font-size: 2rem;
    }
    
    .card-overlay p {
        font-size: 1.6rem;
    }

    .video-section {
        display: block;
        min-height: 240vh;
    }

    .filled-heading, .outline-heading {
        font-size: 50px;
        text-align: center;
    }

    .bg-video-border-wrapper {
        border-top-width: 25vw;
        border-bottom-width: 25vw;
    }

    .sun-icon-2 {
        width: 75vw;
    }
}