* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* Dark theme - Black background and white text */
body {
    background-color: #000000;
    color: #ffffff;
}

/* Ensure all elements inherit the dark theme */
* {
    color: inherit;
}

/* Override specific elements that might have hardcoded colors */
a {
    color: #ffffff;
}

/* Header styling for dark theme */
header {
    background-color: #000000 !important;
    border-bottom: 1px solid #333;
}

header .header_menu a {
    color: #ffffff !important;
}

/* Make sure scrollbar is visible on dark background */
html::-webkit-scrollbar-thumb {
    background: #ffffff;
}

/* Ensure text remains white in various sections */
.home_top h1 {
    color: #ffffff !important;
}

.home_top p {
    color: #ffffff;
}

/* Additional text elements */
h1,
h2,
h3,
h4,
h5,
h6 {
    color: #ffffff;
}

p,
div,
span {
    color: #ffffff;
}

@font-face {
    font-family: rw-regular;
    src: url(font/rw-regular.woff);
}

@font-face {
    font-family: rw-oblique;
    src: url(font/rw-oblique.woff);
}

@font-face {
    font-family: rw-bold;
    src: url(font/rw-bold.woff);
}

@font-face {
    font-family: rw-black;
    src: url(font/rw-black.woff);
}


html {
    overflow-x: hidden;
    scroll-behavior: smooth;
}

a,
p,
div {
    text-decoration: none;
    font-family: rw-regular;
}

h4,
h5,
h6 {
    font-family: rw-regular;
}

h1,
h2,
h3 {
    font-family: rw-black;
}

h3 {
    font-family: rw-bold;
}


@keyframes marquee {

    0% {
        transform: translateZ(0);
    }

    100% {
        transform: translate3d(-100%, 0, 0);
    }

}


html::-webkit-scrollbar {
    width: 5px;
}

html::-webkit-scrollbar-thumb {
    background: #000;
}

header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.3vw 6vw;
    position: sticky;
    top: 0;
    left: 0;
    right: 0;
    z-index: 20;
    background-color: #000000;
    transition: all 0.3s ease-in-out;
}

header.stickyHeader {
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    padding: 0.2vw 6vw;
}

header a.brand_logo {
    max-width: 18%;
    width: 100%;
}

header a.brand_logo img,
header a.brand_logo video {
    width: 100%;
}

header .header_menu {
    display: flex;
    align-items: center;
    gap: 2vw;
    max-width: 40%;
    width: 100%;
    justify-content: space-between;
}

header .header_menu a {
    display: block;
    color: #ffffff;
    font-size: 1vw;
    line-height: 1.2vw;
}

header .mob_menu_btn {
    display: none;
}

.home_top {
    display: flex;
    padding: 4vw 6vw;
}

.home_top h1 {
    max-width: 70%;
    width: 100%;
    font-size: 4.5vw;
    line-height: 5vw;
    font-family: 'rw-black';
    text-transform: uppercase;
    overflow: hidden;
}

.home_top h1 span {
    display: inline-block;
    opacity: 0;
    transform: translateY(50px);
    margin-right: -0.15em;
    /* Fix spacing between words */
}

.home_top h1 br {
    display: none;
}

.home_top p {
    font-size: 1.2vw;
    line-height: 2vw;
    margin: 0 0 0;
    max-width: 35%;
    width: 100%;
}


.for_mb {
    display: none;
}


.home_video {
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
    display: flex;
    position: relative;
    width: 100%;
}


.home_video video {
    width: 100%;
}


.home_about {
    padding: 6vw 10vw;
}

.home_about p {
    font-size: 1.6vw;
    line-height: 2.5vw;
    margin: 0 0 1vw;
}




.home_network {
    padding: 4vw 6vw;
    overflow: hidden;
}

.home_network h2 {
    font-size: 3vw;
    font-family: 'rw-regular';
    line-height: 4vw;
    margin: 0 0 5vw;
    font-weight: 400;
}

.home_network .home_network_flex {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.home_network .home_network_left {
    width: 45%;
}

.home_network .home_network_right {
    width: 45%;
}

.home_network .home_network_right img {
    max-width: 70%;
    width: 100%;
    margin: 0 auto;
    display: none;
    max-height: 22vh;
    object-fit: contain;
}

.home_network .home_network_box {
    padding: 0 0 2vw;
    margin: 0 0 2vw;
    border-bottom: 0.15vw solid #000;
}

.home_network .home_network_box h4 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 1.6vw;
    line-height: 2vw;
    font-family: 'rw-bold';
    cursor: pointer;
}

.home_network .home_network_box h4 span {
    transition: all 0.4s ease-in-out;
    transform: rotate(0);
    font-size: 2.5vw;
    color: #ffc60a;
    font-weight: 400;
    font-family: rw-regular;
}

.home_network .home_network_box.show_ans h4 span {
    transition: all 0.4s ease-in-out;
    transform: rotate(315deg);
}

.home_network .home_network_box.show_ans h4 {
    pointer-events: none;
}

.home_network .home_network_box p {
    font-size: 1.2vw;
    line-height: 2vw;
    padding: 1vw 0 0;
    display: none;
}

.home_network .home_network_box.show_ans p {
    /* display: block; */
}

.home_network .home_network_box:last-child {
    border: none;
}


.home_slider h2 {
    font-size: 3vw;
    font-family: 'rw-regular';
    line-height: 4vw;
    margin: 0 0 3vw;
    font-weight: 400;
    padding: 0 6vw;
}

/* .home_slider .swiper-slide {
    max-height: 70vh;
    min-height: 70vh;
    overflow: hidden;
    background-position: center;
    background-size: cover;
    background-attachment: fixed;
    position: relative;
} */

.home_slider .slider_banner {
    width: 100%;
}


.home_slider .swiper-slide .banner_content {
    position: absolute;
    bottom: 3vw;
    left: 6vw;
}

.home_slider .swiper-slide .banner_content h5 {
    font-size: 1.2vw;
    color: #fff;
    margin: 0 0 1vw;
    font-family: 'rw-regular';
    font-weight: 400;
}

.home_slider .swiper-slide .banner_content h3 {
    font-size: 2.5vw;
    line-height: 3vw;
    margin: 0 0 1vw;
    color: #fff;
    font-family: 'rw-regular';
    font-weight: 400;
}

.home_slider .swiper-slide .banner_content a {
    display: flex;
    font-size: 1vw;
    line-height: 1.2vw;
    padding: 0.5vw 1vw;
    color: #fff;
    border: 0.1vw solid #fff;
    max-width: max-content;
    border-radius: 0.5vw;
}

.home_slider .swiper-controls {
    display: flex;
    margin: 2vw 2vw 0 auto;
    align-items: center;
    max-width: max-content;
}

.home_slider .swiper-controls div {
    position: relative;
    top: initial;
    bottom: inherit;
    right: initial;
    left: initial;
}

.home_slider .swiper-controls div:after {
    display: none;
}

.home_slider .swiper-controls div {
    position: relative;
    top: initial;
    bottom: inherit;
    right: initial;
    left: initial;
    width: 4vw;
    height: 3vw;
}

.home_slider .swiper-controls div.swiper-button-disabled {
    opacity: 1;
}

.home_slider .swiper-controls div.swiper-button-disabled svg path {
    fill: #000;
}

.home_slider .swiper-controls div svg path {
    fill: #fd6a02;
}



.home_awards {
    padding: 6vw 0;
    overflow: hidden;
}

.home_awards h2 {
    padding: 0 6vw;
    margin: 0 0 5vw;
    font-size: 3vw;
    line-height: 4vw;
    font-family: 'rw-regular';
    font-weight: 400;
}

.home_awards .awards_marquee .award_box {
    text-align: center;
}

.home_awards .awards_marquee .award_box img {
    max-width: 80%;
    object-fit: contain;
    margin: 0 auto;
    display: block;
    min-height: 15vh;
    max-height: 15vh;
    object-position: bottom;
}

.home_awards .awards_marquee .award_box h5 {
    font-size: 1.2vw;
    line-height: 1.4vw;
    color: #ffc60a;
    margin: 1vw 0 0;
}


.text_marquee {
    overflow: hidden;
    padding: 4vw 0 10vw;

}

.text_marquee h1 {
    font-size: 3vw;
    text-transform: uppercase;
    white-space: nowrap;
    font-family: 'rw-regular';
    font-weight: 500;
    display: flex;
    gap: 0.5vw;
    flex-shrink: 0;
    /* transform: translateX(-50%); */
    animation: marquee 20s infinite linear;
}


.text_marquee h1 span.yellow_text {
    color: #fd6a02;
}

.text_marquee h1 span.star {
    font-size: 4vw;
}


.logos_slider {
    overflow: hidden;
}


.logos_slider .right_logo_slider {
    /* animation: marquee 20s infinite linear; */
    /* display: flex; */
    /* align-items: center; */
    /* white-space: nowrap; */
    /* animation-direction: reverse; */
    /* flex-shrink: 0; */
    /* transform: translateX(-50%); */
}

.logos_slider .right_logo_slider .swiper-slide {
    display: flex;
    align-items: center;
    justify-content: center;
}

.logos_slider .right_logo_slider .swiper-wrapper {
    display: flex;
    align-items: center;
}


.logos_slider img.logo_img {
    width: 50%;
    filter: grayscale(1);
}

.logos_slider img.logo_img:hover {
    filter: initial;
}





/* footer CSS */

footer {
    margin: 8vw 0 0;
    background: #000000;
    position: relative;
    padding: 0;
    border-top: 1px solid #333;
}

.footer-logo-section {
    text-align: left;
    padding: 40px 6vw 30px 6vw;
    border-bottom: 1px solid #333;
}

.footer-logo-link {
    display: inline-block;
    transition: opacity 0.3s ease;
    max-width: 100%;
    width: 100%;
}

.footer-logo-link:hover {
    opacity: 0.8;
}

.footer-logo {
    max-width: 100%;
    width: 100%;
    height: auto;
    display: block;
}

.footer-logo-video {
    max-width: 100%;
    width: 100%;
    height: auto;
    display: block;
}

.service-navbar {
    background-color: #000000;
}

.footer-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 40px 80px;
    max-width: 1400px;
    margin: 0 auto;
}

.social-links {
    display: flex;
    align-items: center;
    gap: 20px;
    flex: 1;
}

.social-icon {
    width: 24px;
    height: 24px;
    filter: brightness(0) invert(1);
    transition: opacity 0.3s ease;
}

.social-icon:hover {
    opacity: 0.7;
}

.footer-nav {
    display: flex;
    align-items: center;
    gap: 40px;
    flex: 2;
    justify-content: center;
}

.footer-nav a {
    color: #ffffff;
    font-size: 16px;
    text-decoration: none;
    font-family: 'rw-regular';
    transition: opacity 0.3s ease;
}

.footer-nav a:hover {
    opacity: 0.7;
}

.footer-copyright {
    flex: 1;
    text-align: right;
}

.footer-copyright p {
    color: #ffffff;
    font-size: 14px;
    line-height: 1.4;
    font-family: 'rw-regular';
    opacity: 0.7;
}

/* Responsive footer */
@media (max-width: 768px) {
    .footer-logo-section {
        padding: 30px 6vw 20px 6vw;
        text-align: left;
    }

    .footer-logo,
    .footer-logo-video,
    .footer-logo-link {
        max-width: 120px;
    }

    .footer-container {
        flex-direction: column;
        gap: 30px;
        padding: 40px 20px;
        text-align: center;
    }

    .social-links,
    .footer-nav,
    .footer-copyright {
        flex: none;
        width: 100%;
        justify-content: center;
    }

    .footer-nav {
        flex-wrap: wrap;
        gap: 20px;
    }

    .footer-copyright {
        text-align: center;
    }
}




/* end footer CSS */




/* Contact page CSS */

.contact_head {
    padding: 6vw;
}

.contact_head h3 {
    font-size: 2vw;
    line-height: 3vw;
    margin: 0 0 2vw;
    color: #000;
    font-family: 'rw-regular';
}

.contact_head h3 .yellow_text {
    color: #fc6a00;
}

.contact_head .head_flex {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}

.contact_head .head_flex h2 {
    max-width: 60%;
    color: #000;
    width: 100%;
    text-transform: uppercase;
    font-family: 'rw-black';
    font-size: 4vw;
    line-height: 5vw;
}

.contact_head .head_flex .contact_info {
    max-width: 35%;
    width: 100%;
}

.contact_head .contact_info p {
    font-size: 1.2vw;
    line-height: 2vw;
    margin: 0 0 1vw;
}

.contact_head .contact_info a {
    font-size: 1vw;
    line-height: 1.4vw;
    display: flex;
    align-items: center;
    gap: 1vw;
    margin: 0 0 1vw;
    color: #000;
}

.contact_head .contact_info a img {
    height: 1.2vw;
    width: 1.4vw;
}


.contact_timings {
    display: flex;
    padding: 4vw 6vw 6vw;
    justify-content: space-between;
}


.contact_timings .timebox {
    width: 22%;
    display: flex;
    align-items: flex-start;
    gap: 2vw;
}

.contact_timings .timebox img {
    width: 3vw;
    height: 3vw;
}

.contact_timings .timebox .time_info h4 {
    font-size: 2vw;
    text-transform: uppercase;
    font-family: 'rw-regular';
    font-weight: 400;
    margin: 0 0 1vw;
}

.contact_timings .timebox .time_info p {
    font-size: 1vw;
    line-height: 1.5vw;
    margin: 0 0 1vw;
}

.contact_form {
    padding: 4vw 6vw;
}


.contact_form h2 {
    font-size: 4vw;
    text-transform: uppercase;
    line-height: 5vw;
    font-family: 'rw-black';
    margin: 0 0 4vw;
}

.contact_form form .contact_form_inputs {
    display: flex;
    flex-wrap: wrap;
    column-gap: 4%;
    row-gap: 4vw;
}

.contact_form form .input {
    display: block;
    width: calc(50% - 2%);
    padding: 1vw;
    border-radius: 0.5vw;
    border: 0.1vw solid #eaeaea;
    font-size: 1vw;
    line-height: 1.4vw;
    font-family: 'rw-regular';
}

.contact_form form .submit_btn,
.contact_form form button {
    display: block;
    margin: 4vw auto 0;
    width: max-content;
    background: #fc6a00;
    border-radius: 0.5vw;
    padding: 0.8vw 2vw;
    color: #fff;
    font-size: 1.2vw;
    line-height: 1.4vw;
    border: none;
    text-transform: uppercase;
    font-family: 'rw-bold';
}




/* End Contact page CSS */



/* About Us CSS */


.about_page .about_top {
    display: flex;
    padding: 6vw;
    justify-content: space-between;
}

.about_page .about_top h1 {
    width: 55%;
    font-size: 6vw;
    line-height: 7vw;
    font-family: 'rw-black';
    text-transform: uppercase;
    display: flex;
    flex-wrap: wrap;
    column-gap: 1vw;
}

.about_page .about_top p {
    width: 35%;
    font-size: 1.2vw;
    line-height: 2vw;
}

.about_page .about_principle {
    padding: 3vw 6vw 6vw;
}

.about_page .about_principle h4 {
    font-size: 2vw;
    line-height: 3vw;
    margin: 0 0 2vw;
    font-family: 'rw-regular';
    font-weight: 400;
}

.about_page .about_principle h2 {
    font-size: 3vw;
    line-height: 4vw;
    margin: 0 0 4vw;
}

.about_principle .principles h3 {
    font-size: 3.5vw;
    line-height: 4vw;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 2vw 0;
    border-bottom: 0.1vw solid #848484;
    text-transform: uppercase;
}

.about_principle .principles h3:hover {
    opacity: 1;
}

.about_principle .principles h3:last-child {
    border: none;
}

.about_principle .principles h3 .prince_count {
    width: 40%;
    color: #cacaca;
    transition: all 0.2s ease-in-out;
}

.about_principle .principles h3 .prince_title {
    width: 60%;
    color: #838383;
    transition: all 0.2s ease-in-out;
}

.about_principle .principles h3:hover .prince_count {
    color: #848484;
}

.about_principle .principles h3:hover .prince_title {
    color: #000;
}



.about_who {
    padding: 6vw;
    background: #f6f6f6;
}

.about_who .who_flex {
    display: flex;
    justify-content: space-between;
}

.about_who .who_flex h4 {
    font-size: 2vw;
    line-height: 3vw;
    font-family: 'rw-regular';
    font-weight: 400;
    width: 30%;
}

.about_who .who_flex .who_content {
    width: 65%;
}

.about_who .who_flex .who_content p {
    font-size: 1.2vw;
    line-height: 2vw;
    margin: 0 0 1vw;
}

.about_who .who_flex.whatwedo {
    margin: 4vw 0 0;
}

.about_who .who_flex .who_content h4 {
    width: 100%;
    margin: 0 0 2vw;
}

.about_who .who_flex .who_content p b {
    font-family: 'rw-bold';
}

.about_page .text_marquee.about_text_marquee2 {
    margin: 8vw 0 4vw;
}


.about_mid_banner_text {
    padding: 0 0 6vw;
}

.about_mid_banner_text p {
    padding: 0 10vw 1vw 8vw;
    font-size: 1.4vw;
    line-height: 2.6vw;
    font-family: 'rw-bold';
}

.about_mid_banner_text .about_mid_banner {
    background-image: url(images/banner.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    height: 80vh;
    background-attachment: fixed;
    margin: 6vw 0 0;
}

.our_offices {
    padding: 4vw 6vw 8vw;
}

.our_offices h4 {
    font-size: 2vw;
    line-height: 3vw;
    font-family: 'rw-regular';
    font-weight: 400;
}

.our_offices img {
    width: 100%;
    margin: 4vw 0 0;
}

.our_offices .office_map {
    position: relative;
}

.our_offices .office_map .office_loc {
    position: absolute;
    display: none;
    text-align: center;
    z-index: 1;
}

/* .our_offices .office_map .office_loc:hover {
    z-index: 2;
} */

.our_offices .office_map .office_loc .loc_content {
    background: #000000;
    color: #ffffff;
    border: 1px solid #333333;
    border-radius: 1vw;
    padding: 1vw;
    display: none;
    position: absolute;
    width: 15vw;
    bottom: 100%;
    right: -7vw;
}

.our_offices .office_map .office_loc.show_loc .loc_content {
    display: block;
}

.our_offices .office_map .office_loc p {
    font-size: 0.8vw;
    line-height: 1.2vw;
    margin: 0 0 .5vw;
}

.our_offices .office_map .office_loc span {
    font-size: 0.8vw;
    line-height: 1.2vw;
}

.our_offices .office_map .office_loc img.loc_icon {
    max-width: 2vw;
    margin: 1vw 0 0;
    cursor: pointer;
}

.our_offices .office_map .office_loc.del_loc {
    display: block;
    top: 52%;
    right: 28%;
    transform: translate(-50%, -75%);
}

.our_offices .office_map .office_loc.mum_loc {
    display: block;
    top: 55%;
    right: 29%;
    transform: translate(-50%, -50%);
}

.our_offices .office_map .office_loc.ban_loc {
    display: block;
    top: 58%;
    right: 28%;
    transform: translate(-50%, -55%);
}

.our_offices .office_map .office_loc.nz_loc {
    display: block;
    bottom: 12%;
    right: 2%;
    transform: translate(-30%, 10%);
}


.join_crew {
    text-align: center;
    padding: 4vw 6vw 0;
}

.join_crew h4 {
    font-size: 2vw;
    line-height: 3vw;
    margin: 0 0 2vw;
    font-weight: 400;
}

.join_crew h2 {
    max-width: 70%;
    margin: 0 auto 2vw;
    font-size: 3vw;
    line-height: 4vw;
    font-family: 'rw-bold';
}

.join_crew a {
    display: flex;
    align-items: center;
    gap: 1vw;
    text-transform: uppercase;
    color: #000;
    font-size: 1vw;
    line-height: 1.4vw;
    padding: 1vw 2vw;
    max-width: max-content;
    margin: 0 auto;
    border: 0.1vw solid #000;
    border-radius: 1vw;
    transition: 2s all ease-in-out;
}

.join_crew a:hover {
    background: #000;
    color: #fff;
}

.join_crew a path {
    transition: 0.2s all ease-in-out;
}

.join_crew a:hover path {
    fill: #fff;
}

.join_crew a svg {
    width: 2vw;
    height: 1.7vw;
}



/* End About Us CSS */



/* Case Listing CSS */

.cases_head {
    padding: 5vw 6vw 0;
}

.cases_head h3 {
    font-weight: 400;
    font-family: 'rw-regular';
    font-size: 2vw;
    line-height: 3vw;
    margin: 0 0 1vw;
}

span.yellow_text {
    color: #fd6a02;
}

.cases_head h2 {
    font-size: 3vw;
    line-height: 4vw;
    font-family: 'rw-bold';
}

.cases_tiles {
    display: flex;
    flex-wrap: wrap;
    padding: 4vw 6vw;
    column-gap: 3vw;
    row-gap: 3vw;
}

.cases_tiles .case_tile {
    display: flex;
    position: relative;
    width: calc(33.33% - 2vw);
    border-radius: 2vw;
    overflow: hidden;
}

.cases_tiles .case_tile img {
    width: 100%;
    transition: all 0.4s ease-in-out;
}

.cases_tiles .case_tile:hover img {
    transform: scale(1.04);
}

.cases_tiles .case_tile .case_tile_content {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    background: #00000069;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2vw;
    transition: all 0.2s ease-in-out;
    opacity: 0;
    visibility: hidden;
    text-align: center;
}

.cases_tiles .case_tile .case_tile_content p {
    color: #fff;
    font-family: 'rw-bold';
    font-size: 2vw;
    line-height: 3vw;
}

.cases_tiles .case_tile:hover .case_tile_content {
    opacity: 1;
    visibility: visible;
}

span.case_load {
    display: flex;
    max-width: max-content;
    padding: 0.8vw 2vw;
    background: #fc6a00;
    font-size: 1vw;
    line-height: 1.4vw;
    font-family: 'rw-black';
    color: #fff;
    text-transform: uppercase;
}



/* End Case Listing CSS */




/* Single Case CSS */

.single_case .case_banner {
    width: 100%;
}

.single_case .case_banner .case_banner_fixed {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    height: 70vh;
    background-attachment: fixed;
}

.single_case .case_banner img {
    width: 100%;
}

.single_case .case_desc {
    margin: 6vw 0;
    padding: 0 6vw;
}

.single_case .case_desc h4 {
    font-weight: 400;
    text-transform: uppercase;
    font-size: 2vw;
    line-height: 3vw;
    margin: 0 0 1vw;
}

.single_case .case_desc h3 {
    font-size: 3vw;
    line-height: 4vw;
    margin: 0;
}

.single_case .text_marquee.case_text_marquee {
    margin: 0 0 5vw;
}

.single_case .text_marquee.case_text_marquee h1 {
    font-family: 'rw-black';
    text-transform: initial;
}

.single_case .case_video {
    width: 100%;
}

.single_case .case_video .case_video_prlx {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    height: 70vh;
    background-attachment: fixed;
}

.single_case .case_video img {
    width: 100%;
}

.single_case .case_video iframe {
    width: 100%;
    height: 90vh;
}



.single_case .case_stats {
    margin: 6vw 0;
    padding: 0 6vw;
    display: flex;
    justify-content: space-between;
}

.single_case .case_stats .case_stat {
    width: auto;
    padding: 0 2%;
}

.single_case .case_stats h4 {
    font-size: 2vw;
    line-height: 3vw;
    margin: 0 0 0.5vw;
    font-family: 'rw-black';
}

.single_case .case_stats p {
    font-size: 1.2vw;
    line-height: 1.6vw;
}


.case_info {
    margin: 6vw 0;
    padding: 0 6vw;
}

.case_info .case_info_box.case_idea {
    margin: 0 0 3vw;
}

.case_info .case_info_box h4 {
    font-size: 2vw;
    line-height: 3vw;
    margin: 0 0 0.5vw;
    font-family: 'rw-black';
}

.case_info .case_info_box p {
    font-size: 1.2vw;
    line-height: 1.6vw;
}

.case_info .case_info_flex {
    display: flex;
    justify-content: space-between;
}

.case_info .case_info_flex .case_info_box {
    width: 48%;
}


.case_tesimonial {
    width: 100%;
}

.case_tesimonial .case_tesimonial_banner {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    height: 70vh;
    background-attachment: fixed;
}

.case_tesimonial img {
    width: 100%;
}



/* End Single Case CSS */




/* News page css */

.news_page .news_tabs {
    padding: 0 6vw 3vw;
    display: flex;
    align-items: center;
    gap: 3vw;
}

.news_page .news_tabs {
    padding: 0 6vw 3vw;
    display: flex;
    align-items: center;
    gap: 3vw;
}

.news_page .news_tabs p {
    font-family: 'rw-bold';
    font-size: 1.2vw;
    line-height: 1.4vw;
    color: #000;
    opacity: 0.5;
    padding: 0 0.3vw;
    position: relative;
    cursor: pointer;
}

.news_page .news_tabs p.active {
    opacity: 1;
}

.news_page .news_tabs p:after {
    content: '';
    height: 2px;
    background-color: transparent;
    transition: all 0.2s ease-in-out;
    bottom: 0;
    left: 0;
    right: 0;
    width: 0;
    position: absolute;
    margin: 0 auto;
}

.news_page .news_tabs p.active:after {
    width: 100%;
    background-color: #fc6a02;
}


.news_page .news_tab_boxes {
    padding: 0 6vw 4vw;
}

.news_page .news_tab_boxes .news_tiles {
    display: flex;
    flex-wrap: wrap;
    column-gap: 3.5%;
    row-gap: 5vw;
}

.news_page .news_tiles .news_tile {
    display: block;
    width: 31%;
}

.news_page .news_tile .news_tile_img {
    width: 100%;
    border-radius: 2vw;
    overflow: hidden;
}

.news_page .news_tile .news_tile_img img {
    width: 100%;
    height: 100%;
    transition: all 0.2s ease-in-out;
}

.news_page .news_tile:hover .news_tile_img img {
    transform: scale(1.05);
}


.news_page .news_tile .news_tile_content {
    margin: 0.5vw 0 0;
}

.news_page .news_tile .news_tile_content p {
    font-size: 1.2vw;
    line-height: 1.4vw;
    color: #000;
}





/* End News page css */



.error_page main h1 {
    text-align: center;
    font-size: 7vw;
    line-height: 8vw;
    margin: 2vw 0;
    opacity: 0.2;
}


/* Universal black theme overrides to prevent white backgrounds */
body,
html {
    background-color: #000000 !important;
    color: #ffffff !important;
}

/* Ensure all major containers have black background */
main,
section,
div,
.container,
.wrapper {
    background-color: inherit !important;
}

/* Force black background on common layout elements */
.w-container,
.w-row,
.w-col,
.section {
    background-color: transparent !important;
}

/* Additional header styling for black theme */
header {
    background-color: #000000 !important;
    border-bottom: 1px solid #333333 !important;
}

header .header_menu a {
    color: #ffffff !important;
}

header .header_menu a:hover {
    color: #cccccc !important;
}

@media (max-width: 768px) {

    .error_page main h1 {
        font-size: 10vw;
        line-height: 12vw;
        margin: 7vw 0;
        opacity: 0.2;
    }


    .for_mb {
        display: block;
    }

    .for_dsk {
        display: none;
    }


    header {
        padding: 20px 15px;
    }

    header a.brand_logo {
        max-width: 50%;
    }

    header .mob_menu_btn {
        display: block;
    }

    header .header_menu {
        /* display: none; */
        position: fixed;
        background-color: #000000;
        display: flex;
        justify-content: center;
        align-items: center;
        transition: .7s ease;
        border: 1px solid #333333;
        padding: 10px;
        box-shadow: 2px 1px 2px rgba(51, 51, 51, 0.5);
        text-align: center;
        z-index: 8;
        height: auto;
        width: 100%;
        right: 0;
        left: 0;
        top: -100%;
        border: 0;
        flex-direction: column;
        align-items: flex-start;
        max-width: 100%;
    }

    header .header_menu.active {
        top: 100px;
    }

    header .header_menu a {
        font-size: 3.5vw;
        color: #ffffff;
        line-height: 4vw;
        padding: 2vw 0;
        border-bottom: 1px solid #333333;
        display: block;
        width: 100%;
        text-align: left;
    }



    .home_top {
        padding: 40px 15px;
        flex-direction: column;
        gap: 4vw;
    }

    .home_top h1 {
        max-width: 100%;
        font-size: 7vw;
        line-height: 9vw;
    }

    .home_top p {
        max-width: 100%;
        margin: 0;
        font-size: 4vw;
        line-height: 6vw;
    }

    .home_about {
        padding: 40px 20px;
    }

    .home_about p {
        font-size: 3vw;
        line-height: 5vw;
        margin: 0 0 2vw;
    }



    .home_network {
        padding: 40px 15px 60px;
    }

    .home_network h2 {
        font-size: 6vw;
        line-height: 7vw;
        margin: 0 0 6vw;
    }

    .home_network .home_network_flex {
        flex-direction: column;
        gap: 6vw;
    }

    .home_network .home_network_left {
        width: 100%;
    }

    .home_network .home_network_box {
        padding: 0 0 4vw;
        margin: 0 0 4vw;
    }

    .home_network .home_network_box h4 {
        font-size: 4vw;
        line-height: 5vw;
    }

    .home_network .home_network_box p {
        font-size: 3vw;
        line-height: 5vw;
        padding: 2vw 0 0;
    }

    .home_network .home_network_box h4 span {
        font-size: 5vw;
        line-height: 6vw;
    }


    .home_network .home_network_right {
        width: 100%;
    }

    .home_network .home_network_right img {
        max-width: 60%;
        max-height: 16vh;
    }

    .home_slider h2 {
        font-size: 6vw;
        line-height: 7vw;
        margin: 0 0 5vw;
        padding: 15px;
    }

    .home_slider .swiper-slide .banner_content {
        bottom: 6vw;
    }

    .home_slider .swiper-slide .banner_content h5 {
        font-size: 3vw;
        line-height: 5vw;
        margin: 0 0 2vw;
    }

    .home_slider .swiper-slide .banner_content h3 {
        font-size: 5vw;
        line-height: 6vw;
        margin: 0 0 2vw;
    }

    .home_slider .swiper-slide .banner_content a {
        font-size: 2.5vw;
        line-height: 3.5vw;
        padding: 1vw 3vw;
        border-radius: 2vw;
    }

    .home_slider .swiper-controls {
        margin: 30px 20px 0 auto;
        gap: 2vw;
    }

    .home_slider .swiper-controls div {
        display: block;
        width: 6vw;
        height: 5vw;
    }



    .home_awards {
        padding: 60px 0 0;
    }

    .home_awards h2 {
        padding: 0 20px;
        font-size: 5vw;
        line-height: 6vw;
        margin: 0 0 8vw;
    }

    .home_awards .awards_marquee .award_box {
        /* width: max-content; */
        /* margin: 0 4%; */
    }

    .home_awards .awards_marquee .swiper-slide {
        width: auto;
    }

    .home_awards .awards_marquee .award_box img {
        max-width: 60%;
        max-height: 9vh;
        object-fit: fill;
        min-height: 9vh;
    }

    .home_awards .awards_marquee .award_box h5 {
        font-size: 3vw;
        line-height: 4vw;
        margin: 2vw 0 0;
    }



    .text_marquee {
        padding: 60px 0 0;
    }

    .single_case .text_marquee {
        padding: 20px 0 0;
    }

    .text_marquee h1 {
        font-size: 5vw;
        line-height: 6vw;
        gap: 6px;
    }

    .logos_slider {
        padding: 60px 0 40px;
    }


    .logos_slider img.logo_img {
        width: 60%;
        margin: 0 4%;
    }



    footer {
        margin: 30px 0 0;
        padding: 40px 0 0;
    }

    footer .mid_footer {
        flex-direction: column;
        padding: 0 15px;
        row-gap: 30px;
    }

    footer .mid_footer .footer_menu {
        width: 100%;
    }

    footer .mid_footer .footer_watch_box {
        width: 100%;
        gap: 3vw;
    }

    footer .mid_footer .footer_menu a {
        font-size: 3vw;
        line-height: 5vw;
        margin: 0 0 2vw;
        border-bottom: 1px solid #fff;
        padding: 0 0 2vw;
    }

    footer .mid_footer .footer_watch_box .clock_img {
        max-width: 10vw;
    }

    footer .mid_footer .footer_watch_box .footer_watch_content h4 {
        font-size: 3vw;
        line-height: 4vw;
        margin: 0 0 3vw;
    }

    footer .mid_footer .footer_watch_box .footer_watch_content a {
        font-size: 2.5vw;
        line-height: 3vw;
        margin: 0 0 1.5vw;
    }

    footer .mid_footer .footer_watch_box .footer_watch_content p {
        font-size: 2.5vw;
        line-height: 3vw;
    }

    footer .bottom_footer {
        margin: 10vw 0 0;
        padding: 20px 15px;
        flex-direction: column-reverse;
        gap: 20px;
    }

    footer .bottom_footer p.copyright {
        font-size: 2.5vw;
        line-height: 4vw;
        opacity: 0.8;
    }

    footer .bottom_footer .social_links {
        gap: 4vw;
    }

    footer .bottom_footer .social_links a {
        font-size: 3vw;
        line-height: 4vw;
    }



    .contact_head {
        padding: 30px 15px;
    }

    .contact_head h3 {
        font-size: 3.5vw;
        line-height: 4vw;
        margin: 0 0 4vw;
    }

    .contact_head .head_flex {
        flex-direction: column;
        gap: 4vw;
    }

    .contact_head .head_flex h2 {
        font-size: 6vw;
        line-height: 7vw;
        max-width: 100%;
    }

    .contact_head .head_flex .contact_info {
        max-width: 100%;
    }

    .contact_head .contact_info p {
        font-size: 3vw;
        line-height: 4vw;
        margin: 0 0 3vw;
    }

    .contact_head .contact_info a {
        font-size: 3vw;
        line-height: 4vw;
        margin: 0 0 2vw;
        gap: 2vw;
    }

    .contact_head .contact_info a img {
        height: 3vw;
        width: 3.5vw;
    }


    .contact_timings {
        padding: 30px 15px;
        flex-direction: column;
        gap: 4vw;
    }

    .contact_timings .timebox {
        width: 100%;
        gap: 4vw;
    }

    .contact_timings .timebox img {
        width: 5vw;
        height: 5vw;
    }

    .contact_timings .timebox .time_info h4 {
        font-size: 4vw;
        line-height: 5vw;
        margin: 0 0 2vw;
    }

    .contact_timings .timebox .time_info p {
        font-size: 3vw;
        line-height: 4vw;
        margin: 0 0 2vw;
    }

    .contact_form {
        padding: 20px 15px 30px;
    }

    .contact_form h2 {
        font-size: 6vw;
        line-height: 7vw;
        margin: 0 0 5vw;
    }

    .contact_form form .contact_form_inputs {
        flex-direction: column;
    }

    .contact_form form .input {
        width: 100%;
        padding: 2vw 3vw;
        font-size: 3vw;
        line-height: 4vw;
        border-radius: 2vw;
    }

    .contact_form form button,
    .contact_form form .submit_btn {
        font-size: 3vw;
        line-height: 5vw;
        padding: 2vw 5vw;
        border-radius: 2vw;
        margin: 5vw auto 0;
    }



    /* .about_page main {
        padding: 40px 0;
    } */

    .about_page .about_top {
        padding: 30px 20px;
        flex-direction: column;
        gap: 20px;
    }

    .about_page .about_top h1 {
        width: 100%;
        font-size: 7vw;
        line-height: 8vw;
    }

    .about_page .about_top p {
        font-size: 3vw;
        line-height: 4vw;
        width: 100%;
    }

    .about_page .about_principle {
        padding: 30px 20px;
    }

    .about_page .about_principle h4 {
        font-size: 4vw;
        line-height: 5vw;
        margin: 0 0 15px;
    }

    .about_page .about_principle h2 {
        font-size: 5vw;
        line-height: 6vw;
        margin: 0 0 30px;
    }

    .about_page .about_principle h2 br {
        display: none;
    }

    .about_principle .principles h3 {
        font-size: 5vw;
        line-height: 6vw;
        padding: 20px 0;
    }

    .about_principle .principles h3 .prince_count {
        width: 20%;
    }

    .about_principle .principles h3 .prince_title {
        width: 80%;
    }

    .about_who {
        padding: 40px 20px;
    }

    .about_who .who_flex {
        flex-direction: column;
        gap: 10px;
    }

    .about_who .who_flex h4 {
        width: 100%;
        font-size: 4vw;
        line-height: 5vw;
    }

    .about_who .who_flex .who_content {
        width: 100%;
    }

    .about_who .who_flex .who_content p {
        font-size: 3vw;
        line-height: 4vw;
        margin: 0 0 10px;
    }

    .about_who .who_flex.whatwedo {
        margin: 30px 0 0;
    }

    .about_who .who_flex .who_content h4 {
        margin: 0 0 10px;
    }



    .about_page .text_marquee.about_text_marquee2 {
        margin: 50px 0 25px;
    }



    .about_mid_banner_text {
        padding: 0 0 40px;
    }

    .about_mid_banner_text p {
        padding: 0 20px 10px;
        font-size: 3.5vw;
        line-height: 5vw;
    }

    .about_mid_banner_text .about_mid_banner {
        height: 50vh;
        margin: 30px 0 0;
        background-size: 150%;
        background-attachment: initial;
    }

    .our_offices {
        padding: 30px 20px;
        overflow: hidden;
    }

    .our_offices h4 {
        font-size: 4vw;
        line-height: 5vw;
    }

    .our_offices img {
        margin: 30px 0 0;
        width: 300%;
    }

    .our_offices .office_map {
        display: flex;
        justify-content: flex-end;
    }

    .our_offices .office_map .office_loc .loc_content {
        width: 25vw;
        right: -10vw;
    }

    .our_offices .office_map .office_loc img.loc_icon {
        max-width: 3vw;
    }

    .our_offices .office_map .office_loc p {
        font-size: 2.5vw;
        line-height: 3vw;
        margin: 0 0 1vw;
    }

    .our_offices .office_map .office_loc span {
        font-size: 2vw;
        line-height: 3vw;
    }

    .our_offices .office_map .office_loc.del_loc {
        transform: translate(-50%, -50%);
        right: initial;
        left: 10%;
        top: 52%;
    }

    .our_offices .office_map .office_loc.mum_loc {
        transform: translate(-40%, -55%);
        right: initial;
        left: 6%;
        top: 56%;
    }

    .our_offices .office_map .office_loc.ban_loc {
        transform: translate(-70%, -70%);
        right: initial;
        left: 9%;
        top: 60%;
    }

    .our_offices .office_map .office_loc.nz_loc {
        display: block;
        bottom: 12%;
        right: 12%;
        transform: translate(50%, 10%);
    }




    .join_crew {
        padding: 30px 20px 0;
    }

    .join_crew h4 {
        font-size: 4vw;
        line-height: 5vw;
        margin: 0 0 10px;
    }

    .join_crew h2 {
        max-width: 1000%;
        font-size: 5vw;
        line-height: 6vw;
        margin: 0 0 20px;
    }

    .join_crew a {
        font-size: 3vw;
        line-height: 4vw;
        padding: 2vw 4vw;
        border-radius: 2vw;
        gap: 2vw;
    }

    .join_crew a svg {
        width: 4vw;
        height: 3.5vw;
    }


    .cases_head {
        padding: 30px 20px 20px;
    }

    .cases_head h3 {
        font-size: 4vw;
        line-height: 5vw;
        margin: 0 0 2vw;
    }

    .cases_head h2 {
        font-size: 5vw;
        line-height: 6vw;
    }

    .cases_head h2 br {
        display: none;
    }


    .single_case .case_banner .case_banner_fixed {
        height: 60vh;
    }

    .cases_tiles {
        padding: 0 20px 20px;
    }

    .cases_tiles .case_tile {
        width: calc(50% - 1.5vw);
    }

    .cases_tiles .case_tile .case_tile_content p {
        font-size: 3vw;
        line-height: 4vw;
    }

    span.case_load {
        font-size: 3vw;
        line-height: 4vw;
        padding: 2vw 6vw;
    }




    .single_case .case_desc {
        margin: 30px 0;
        padding: 0 15px;
    }

    .single_case .case_desc h4 {
        font-size: 4vw;
        line-height: 5vw;
        margin: 0 0 2vw;
    }

    .single_case .case_desc h3 {
        font-size: 5vw;
        line-height: 6vw;
    }


    .single_case .text_marquee.case_text_marquee {
        margin: 0 0 30px;
    }

    .single_case .case_stats {
        margin: 30px 0;
        padding: 0 15px;
        flex-direction: column;
        gap: 20px;
    }

    .single_case .case_stats .case_stat {
        width: 100%;
        text-align: center;
    }

    .single_case .case_stats h4 {
        font-size: 5vw;
        line-height: 6vw;
        margin: 0 0 2vw;
    }

    .single_case .case_stats p {
        font-size: 3vw;
        line-height: 4vw;
    }


    .single_case .case_video .case_video_prlx {
        height: 60vh;
    }

    .single_case .case_video iframe {
        width: 100%;
        height: 40vh;
    }


    .case_info {
        margin: 40px 0;
        padding: 0 15px;
    }

    .case_info .case_info_box.case_idea {
        margin: 0 0 20px;
    }

    .case_info .case_info_box h4 {
        font-size: 5vw;
        line-height: 6vw;
        margin: 0 0 2vw;
    }


    .case_info .case_info_box p {
        font-size: 3vw;
        line-height: 5vw;
    }


    .case_info .case_info_flex {
        flex-direction: column;
        gap: 20px;
    }

    .case_info .case_info_flex .case_info_box {
        width: 100%;
    }


    .case_tesimonial .case_tesimonial_banner {
        height: 60vh;
    }






    .news_page .news_tabs {
        padding: 20px 20px 30px;
    }


    .news_page .news_tabs p {
        font-size: 3vw;
        line-height: 4vw;
        padding: 0 1vw;
    }

    .news_page .news_tab_boxes {
        padding: 0 20px 30px;
    }

    .news_page .news_tab_boxes .news_tiles {
        column-gap: 4%;
        row-gap: 6vw;
    }

    .news_page .news_tiles .news_tile {
        width: 48%;
    }

    .news_page .news_tile .news_tile_content {
        margin: 2vw 0 0;
    }

    .news_page .news_tile .news_tile_content p {
        font-size: 2.6vw;
        line-height: 3.5vw;
    }

}



/* Animation enhancements */
.home_top h1 span {
    display: inline-block;
    opacity: 0;
    transform: translateY(50px);
    margin-right: -0.15em;
    /* Negative margin to remove extra space */
}

.home_network_box {
    transition: all 0.3s ease-in-out;
}

.home_network_box h4 {
    cursor: pointer;
    transition: all 0.3s ease-in-out;
}

.home_network_box h4 span {
    transition: all 0.3s ease-in-out;
    transform: rotate(0);
}

.home_network_box.show_ans h4 span {
    transform: rotate(315deg);
}

.home_network_right img {
    transition: opacity 0.3s ease-in-out;
}

.home_slider .swiper-slide {
    transition: all 0.4s ease;
}

/* Improve mobile menu transition */
@media (max-width: 768px) {
    header .header_menu {
        transition: all 0.5s ease-in-out;
    }

    .home_top h1 span {
        opacity: 1;
        transform: translateY(0);
    }
}





/* Change hamburger menu color to white */
.mob_menu_btn svg path {
    fill: #ffffff !important;
}

/* Modern Footer Styles with Animations */
footer {
    background: linear-gradient(135deg, #0a0a0a 0%, #1a1a1a 50%, #000000 100%);
    position: relative;
    overflow: hidden;
    padding: 0;
    margin-top: 80px;
}

.footer_wrapper {
    position: relative;
    z-index: 2;
    max-width: 1400px;
    margin: 0 auto;
    padding: 80px 40px 40px;
}

.footer_top {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 60px;
    margin-bottom: 60px;
}

.footer_logo_section {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.footer_logo {
    width: 120px;
    height: 120px;
    background: rgba(254, 197, 10, 0.1);
    border-radius: 20px;
    padding: 20px;
    transition: all 0.3s ease;
    border: 2px solid transparent;
}

.footer_logo:hover {
    background: rgba(254, 197, 10, 0.2);
    border-color: rgba(254, 197, 10, 0.5);
    transform: translateY(-5px);
}

.footer_logo_video {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.footer_tagline {
    font-size: 1.1rem;
    color: rgba(255, 255, 255, 0.8);
    line-height: 1.6;
    max-width: 300px;
}

.footer_content {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
}

.footer_column h4 {
    color: rgba(255,198,10,255);
    font-size: 1.3rem;
    font-weight: 600;
    margin-bottom: 20px;
    position: relative;
}

.footer_column h4::after {
    content: '';
    position: absolute;
    bottom: -8px;
    left: 0;
    width: 30px;
    height: 2px;
    background: rgba(255,198,10,255);
    transition: width 0.3s ease;
}

.footer_column:hover h4::after {
    width: 50px;
}

.footer_links {
    list-style: none;
    padding: 0;
}

.footer_links li {
    margin-bottom: 12px;
}

.footer_links a {
    color: rgba(255, 255, 255, 0.8);
    text-decoration: none;
    font-size: 1rem;
    transition: all 0.3s ease;
    position: relative;
    padding-left: 15px;
}

.footer_links a::before {
    content: '▶';
    position: absolute;
    left: 0;
    color: rgba(255,198,10,255);
    font-size: 0.8rem;
    opacity: 0;
    transform: translateX(-10px);
    transition: all 0.3s ease;
}

.footer_links a:hover::before {
    opacity: 1;
    transform: translateX(0);
}

.footer_links a:hover {
    color: rgba(255,198,10,255);
    transform: translateX(5px);
}

.footer_social {
    display: flex;
    flex-direction: column;
    gap: 15px;
    margin-bottom: 30px;
}

.social_link {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 15px;
    background: rgba(255, 255, 255, 0.05);
    border-radius: 10px;
    text-decoration: none;
    transition: all 0.3s ease;
    border: 1px solid transparent;
}

.social_link:hover {
    background: rgba(254, 197, 10, 0.1);
    border-color: rgba(254, 197, 10, 0.3);
    transform: translateX(5px);
}

.social_link img {
    width: 20px;
    height: 20px;
    filter: brightness(0.8);
    transition: filter 0.3s ease;
}

.social_link:hover img {
    filter: brightness(1) saturate(1.2);
}

.social_link span {
    color: rgba(255, 255, 255, 0.8);
    font-size: 0.95rem;
    transition: color 0.3s ease;
}

.social_link:hover span {
    color: rgba(255,198,10,255);
}

.footer_contact {
    padding: 20px;
    background: rgba(254, 197, 10, 0.05);
    border-radius: 12px;
    border-left: 4px solid rgba(255,198,10,255);
}

.footer_contact p {
    color: rgba(255, 255, 255, 0.8);
    font-size: 0.95rem;
    margin-bottom: 8px;
}

.footer_contact strong {
    color: rgba(255,198,10,255);
}

.footer_bottom {
    margin-top: 40px;
}

.footer_divider {
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, rgba(254, 197, 10, 0.5) 50%, transparent 100%);
    margin-bottom: 30px;
    animation: dividerPulse 3s ease-in-out infinite;
}

@keyframes dividerPulse {
    0%, 100% { opacity: 0.5; }
    50% { opacity: 1; }
}

.footer_bottom_content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px;
}

.footer_copyright {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.copyright_text {
    color: rgba(255, 255, 255, 0.6);
    font-size: 0.9rem;
}

.tagline_text {
    color: rgba(255,198,10,255);
    font-size: 0.95rem;
    font-weight: 500;
}

.footer_legal {
    display: flex;
    gap: 25px;
}

.footer_legal a {
    color: rgba(255, 255, 255, 0.6);
    text-decoration: none;
    font-size: 0.9rem;
    transition: color 0.3s ease;
}

.footer_legal a:hover {
    color: rgba(255,198,10,255);
}

/* Animated Background Elements */
.footer_bg_animation {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    pointer-events: none;
    z-index: 1;
}

.floating_element {
    position: absolute;
    background: rgba(254, 197, 10, 0.1);
    border-radius: 50%;
    animation: float 6s ease-in-out infinite;
}

.float_1 {
    width: 100px;
    height: 100px;
    top: 20%;
    right: 10%;
    animation-delay: 0s;
    animation-duration: 8s;
}

.float_2 {
    width: 60px;
    height: 60px;
    top: 60%;
    right: 20%;
    animation-delay: 2s;
    animation-duration: 6s;
}

.float_3 {
    width: 80px;
    height: 80px;
    top: 40%;
    left: 5%;
    animation-delay: 4s;
    animation-duration: 7s;
}

@keyframes float {
    0%, 100% {
        transform: translateY(0px) rotate(0deg);
        opacity: 0.3;
    }
    25% {
        transform: translateY(-20px) rotate(90deg);
        opacity: 0.5;
    }
    50% {
        transform: translateY(-10px) rotate(180deg);
        opacity: 0.7;
    }
    75% {
        transform: translateY(-30px) rotate(270deg);
        opacity: 0.4;
    }
}

/* Hover effect for entire footer */
footer:hover .floating_element {
    animation-duration: 4s;
}

/* Mobile Responsive */
@media (max-width: 1200px) {
    .footer_wrapper {
        padding: 60px 30px 30px;
    }
    
    .footer_top {
        gap: 40px;
    }
    
    .footer_content {
        gap: 30px;
    }
}

@media (max-width: 768px) {
    .footer_wrapper {
        padding: 40px 20px 20px;
    }
    
    .footer_top {
        grid-template-columns: 1fr;
        gap: 40px;
        margin-bottom: 40px;
    }
    
    .footer_content {
        grid-template-columns: 1fr;
        gap: 30px;
    }
    
    .footer_logo {
        width: 100px;
        height: 100px;
        padding: 15px;
    }
    
    .footer_bottom_content {
        flex-direction: column;
        text-align: center;
        gap: 15px;
    }
    
    .footer_legal {
        gap: 15px;
    }
    
    .floating_element {
        display: none;
    }
}

@media (max-width: 480px) {
    .footer_content {
        gap: 25px;
    }
    
    .social_link {
        padding: 8px 12px;
    }
    
    .footer_contact {
        padding: 15px;
    }
}