/* btt */
#backToTop {
    visibility: hidden;
    position: absolute;
    top: 0;
}

/* /btt */

/* TEXT SELECTION STYLES */
::selection {
    background-color: #CAA260;
    color: #ffffff;
}

::-moz-selection {
    background-color: #CAA260;
    color: #ffffff;
}

/* HERO SECTION */
.hero-section {
    width: 100%;
    height: 100%;
}

.heroSwiper {
    height: 100%;
    animation: opacityInit 1.6s ease-out;
}

@keyframes opacityInit {
    0% {
        opacity: 0
    }

    100% {
        opacity: 1;
    }
}

.modal-footer {
    justify-content: flex-end !important;
}

.hero-text-anim-up {
    overflow: hidden;
}

.reveal-up,
.reveal-down {
    display: block;
    opacity: 0;
}

.reveal-up {
    transform: translate(0, 105%);
    opacity: 0;
}

.reveal-down {
    transform: translate(0, -105%);
    opacity: 0;
}

.reveal-down.active,
.reveal-up.active {
    transform: translate(0, 0);
    transition: transform .65s ease .55s;
    opacity: 1;
}

/* Fix: prevent CTA bottom border from being clipped by reveal mask on hero */
.hero-section .heroSwiper--slide-info .overflow-hidden {
    padding-bottom: 2px;
    /* ensure 1px border stays visible after reveal */
}

.overlay {
    background: rgba(0, 0, 0, 0.35) !important;
    height: 100%;
    width: 100%;
}

.overlay-company {
    /* background: rgba(0, 0, 0, 0.05) !important; */
    height: 100%;
    width: 100%;
}

.hasOverlay {
    position: relative;
    line-height: 0;
}

.hasOverlay::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    background-image: linear-gradient(to bottom right,
        rgba(0, 0, 0, 0.3),
        rgba(0, 0, 0, 0.3),
        rgba(0, 0, 0, 0.3));
}

video {
    max-width: 100%;
    height: auto;
}

.hasOverlay .hero-banner-content {
    /* position: relative; */
    z-index: 20;
}

.hasOverlay video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    line-height: 0;
}

.overlay-dark {
    background: rgba(0, 0, 0, 0.25) !important;
    opacity: .93;
    z-index: 2;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.overlay-white {
    background-color: white;
    opacity: .93;
    z-index: 2;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.overlay-white--visible {
    /* background-color: white; */
    opacity: .73;
    z-index: 2;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.video-slide video {
    position: relative;
    z-index: -1;
}

.heroSwiper .swiper-slide img {
    position: relative;
    transition: transform 20s linear;
    transform: scale(1);
    user-select: none;
    pointer-events: none;
}

.heroSwiper .swiper-slide img.active-image {
    transform: scale(1.4);
    /* animation: imageZoom 20s linear infinite; */
}

.gap-7 {
    gap: 7rem;
}

.fs-counter {
    will-change: transform;
}

.three-col-grid,
.four-col-grid {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    row-gap: 4rem;
}

.border-secondary {
    border-color: var(--secondary-color) !important;
}

@keyframes imageZoom {
    0% {
        transform: scale(1);
    }

    100% {
        transform: scale(1.4);
    }
}

.heroSwiper--slide-content {
    position: absolute;
    color: white;
    height: 100%;
    display: flex;
    padding: var(--x-spacing);
    justify-content: space-between;
}

.heroSwiper--slide-info {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 20px;
    justify-content: flex-end;
}

.full-bg-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 50%;
    z-index: -1;
}

.full-bg-video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 50%;
    z-index: -1;
}

.swiper--navigation {
    position: absolute;
    right: 2.5rem;
    bottom: 2.5rem;
    display: flex;
    flex-direction: row-reverse;
    gap: 30px;
    justify-content: flex-start;
    align-items: flex-end;
}

/* /HERO SECTION */

/* Mobile-specific hero sizing: make home hero shorter */
@media (max-width: 767.98px) {

    /* Force a shorter hero and ensure all layers inherit it */
    .hero-section {
        height: 50vh !important;
        min-height: 0;
        overflow: hidden;
    }

    .heroSwiper {
        height: 50vh !important;
    }

    .heroSwiper .swiper-wrapper {
        height: 100% !important;
    }

    .heroSwiper .swiper-slide {
        height: 100% !important;
    }

    .overlay,
    .full-bg-img,
    .full-bg-video,
    .heroSwiper--slide-content {
        height: 100% !important;
    }
}

.prev-arrow-btn {
    transform: scaleX(-1);
}

.next-arrow-btn::before {
    left: -5px;
}

.prev-arrow-btn::before {
    right: -5px;
}

/* ABOUT SECTION */
.about-container {
    display: flex;
    align-items: flex-start;
    /* padding: 0 2.5rem; */
    width: 100%;
    height: 100%;
}

.about-border {
    width: 1px;
    background-color: #dfdfdf;
    height: 60%;
}

.about-content {
    /* padding-left: var(--x-spacing);
    padding-right: var(--x-spacing); */
    width: 100%;
}

/* /ABOUT SECTION */

/* ABOUT SECTION (Global Partners): slightly extend right side only here */
.about-content--extend {
    margin-right: -1rem;
}

@media (min-width: 992px) {
    .about-content--extend {
        margin-right: -1.5rem;
    }
}

@media (min-width: 1440px) {
    .about-content--extend {
        margin-right: -2rem;
    }
}

/* IMAGEBOX SECTION */

.box-grid--small-box-cont,
.box-grid--small-box-row {
    display: grid;
    gap: .5rem;
    height: 100%;
}

.box-grid--small-box-cont {
    grid-template-columns: repeat(1, 1fr);
}

.box {
    position: relative;
    height: 100%;
    transition: all .3 ease;
    overflow: hidden;
}

.box img {
    transition: all .3s ease;
}

.box-text {
    z-index: 2;
    position: absolute;
    bottom: 1.5rem;
    left: 1.5rem;
    right: 3.5rem;
}

.services-box-big .box-text {
    bottom: unset !important;
    top: 4rem;
}

.services-box-big-shadow {
    background: linear-gradient(178deg, rgba(0, 0, 0, 0.55) 9.63%, rgba(0, 0, 0, 0.00) 79.23%);
    /* background: rgba(0, 0, 0, 0.5); */
    position: absolute;
    top: 0;
    left: 0;
    z-index: 20;
    height: 100%;
    width: 100%;
}

.box-text h4 {
    color: white;
}

.green-overlay,
.secondary-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 100%;
    width: 101%;
    opacity: .55;
    z-index: 1;
    will-change: transform;
}

.green-overlay {
    background: var(--green);
}

.secondary-overlay {
    background: var(--secondary-color);
    z-index: -1;
    opacity: 1;
}

.box-link-text {
    display: flex;
    opacity: 0;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    gap: 30px;
    transition: all .5s cubic-bezier(.61, 1, .88, 1);
    transform: translateX(-20%);
}

.box .green-overlay,
.box .secondary-overlay {
    transform: translateX(100%);
    transition: all .5s cubic-bezier(.61, 1, .88, 1);
}

.box:hover .green-overlay,
.box:hover .secondary-overlay {
    transform: translateX(0%);
    cursor: pointer;
}

.box .box-title {
    transition: all .3s ease;
}

.box-small {
    display: block;
}

.box-small img {
    transform: scale(1);
    transition: transform 3.5s ease;
    width: 100%;
    object-position: 50% 50%;
}

.box-small:hover img {
    filter: grayscale(1);
}

.box:hover .box-link-text {
    transform: translateX(0);
    opacity: 1;
}

.box-link-text:hover .arrow-svg .arrow-svg--arrow {
    transform: translateX(5px);
}

.service-box-container {
    display: grid;
    gap: .5rem;
}

/* /IMAGEBOX SECTION */

/* NEWS SECTION */
.news-section {
    position: relative;
}

.news-title-navigation {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
}

.news-title-navigation .swiper--navigation {
    position: relative;
    top: unset;
    bottom: unset;
    right: unset;
}

.news-title-navigation .swiper--navigation .arrow-svg,
.testimonials-section .swiper--navigation .arrow-svg {
    stroke: #777e8d;
}

.newsSwiper .news-slide-content {
    background-color: var(--light-bg-color);
    padding: var(--x-spacing);
    display: flex;
    flex-direction: column;
    gap: 35px;
}

.newsSwiper .swiper-slide {
    display: flex;
    flex-direction: column-reverse;
}

.news-slide-image {
    overflow: hidden;
}

.news-slide-image:hover img {
    transform: scaleX(1.05) translateX(6px);
}

.news-slide-image img {
    display: block;
    width: 100%;
    transform: scaleX(1.05) translateX(0);
    transition: transform .6s cubic-bezier(.61, 1, .88, 1);
    object-fit: cover;
    object-position: 50% 50%;
    height: 100%;
}

/* /NEWS SECTION */

/* TESTIOMONIALS SECTION */
.testimonials-section .swiper--navigation .arrow-btn {
    color: black;
}

.testimonials-section .swiper--navigation {
    width: 70%;
    right: unset;
    left: unset;
    bottom: unset;
    top: unset;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    justify-content: space-between;
    z-index: 10;
}

.testimonialsSwiper {
    /* border: 1px solid var(--secondary-color); */
    padding: 5rem;
    cursor: pointer;
    stroke: #777e8d;
}

.testimonialsSwiper .swiper-slide {
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity .3s ease;
}

.testimonialsSwiper .swiper-slide-active {
    opacity: 1;

}

.testimonialSwiper-inner-content {
    max-width: 940px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

/* Responsive font sizes for testimonials text across site */
@media (max-width: 767.98px) {
    .testimonials-section .testimonialSwiper-inner-content .section-title {
        font-size: 22px;
        line-height: 1.4;
    }
}

@media (min-width: 768px) and (max-width: 1023.98px) {
    .testimonials-section .testimonialSwiper-inner-content .section-title {
        font-size: 26px;
        line-height: 1.35;
    }
}

@media (min-width: 1024px) and (max-width: 1439.98px) {
    .testimonials-section .testimonialSwiper-inner-content .section-title {
        font-size: 28px;
        line-height: 1.35;
    }
}

@media (min-width: 1440px) and (max-width: 1919.98px) {
    .testimonials-section .testimonialSwiper-inner-content .section-title {
        font-size: 32px;
        line-height: 1.35;
    }
}

/* /TESTIOMONIALS SECTION */

/* GLOBAL: Responsive font sizes for section titles */
@media (max-width: 767.98px) {
    .section-title {
        font-size: 22px;
        line-height: 1.4;
    }
}

@media (min-width: 768px) and (max-width: 1023.98px) {
    .section-title {
        font-size: 26px;
        line-height: 1.35;
    }
}

@media (min-width: 1024px) and (max-width: 1439.98px) {
    .section-title {
        font-size: 28px;
        line-height: 1.35;
    }
}

@media (min-width: 1440px) and (max-width: 1919.98px) {
    .section-title {
        font-size: 32px;
        line-height: 1.35;
    }
}

/* /GLOBAL: Responsive font sizes for section titles */

/* TEAM SECTION */
/* .team-section .box-grid--small-box-row {
    flex-direction: column;
}

.team-section .box-text-cont {
    background: linear-gradient(0deg,rgba(0,0,0,.6) 0,rgba(0,0,0,0) 84%);
}

.box-text i {
    font-size: 20px;
} */
/* /TEAM SECTION */

/* DEALS SECTION */
/* .deals-section .box-grid--small-box-row {
    display: grid;
    grid-template-rows: repeat(3, 1fr);
    gap: 35px;
}

.deals-section .box-text-cont {
    position: relative;
    color: black;
    justify-content: center;
}

.deals-section .box-text-cont .about-border {
    position: absolute;
    top: 0;
    left: clamp(1rem, 7vw, 2.5rem);
    background-color: #ded5c8;
    opacity: 1;
}

.deals-section .box:nth-child(1) .box-text-cont .about-border {
    height: 50%;
}
.deals-section .box:nth-child(2) .box-text-cont .about-border {
    height: 60%;
}
.deals-section .box:nth-child(3) .box-text-cont .about-border {
    height: 80%;
}

.deals-section .box {
    background-color: var(--light-bg-color);
}

.deals-section .box-text p {
    line-height: var(--line-height-p);
} */
/* /DEALS SECTION */

/* INFO SECTION */
/* .info-section {
    display: flex;
    flex-direction: column;
}

.left-content {
    width: 100%;
}

.right-content {
    width: 100%;
    display: flex;
    flex-direction: column;
}

.right--bottom-content {
    position: relative;
    height: 100%;
}

.right--bottom-content .content-inner {
    background: unset;
    align-items: flex-start;
    flex-direction: column;
    padding-top: 5rem;
    padding-bottom: 5rem;
    justify-content: center;
    z-index: 5;
    position: relative;
}

.right--bottom-content .content-inner .content {
    gap: unset;
}

.right--bottom-content .content-inner .info-links {
    display: flex;
    flex-direction: column;
    gap: .5rem;
}

.right--bottom-content .content-inner .info-links a {
    display: block;
    color: white;
    transition: color .3s ease-out;
}

.right--bottom-content .content-inner .info-links a:hover {
    color: #a7a8ae;
} */
/* /INFO SECTION */

/* CLIENTS SECTION */
.clients-card {
    /* padding: 58px 68px; */
    padding: 58px 28px;
    background-color: #F4F4F4;
    height: 700px;
}

.clients-card-hover {
    padding: 58px 28px;
    background-color: green;
}

.clients-card-logo {
    width: 180px;
}

.clients-card-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
    height: 600px;
}

.clients-card {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.clients-card-signature {
    width: 140px;
}

.clients-card-quotes {
    width: 40px;
}

.clients-card-hover {
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    transition: all .6s ease;
    transition-delay: 0.2s;
    /* transition-duration: 0.5s; */
    background-color: var(--green);
    z-index: 30;
    opacity: 0;
}

.swiper-slide-active .clients-card-hover {
    opacity: 1;
}

.clients-card-hover h4 {
    color: var(--white-color);
    line-height: 120%;
    font-size: 1.25rem;
}

.clients-card-wrapper:hover .clients-card-hover {
    opacity: 1;
}

.clients-card-hover.active {
    opacity: 1;
}


/* /CLIENTS SECTION */

/* PUBLICATION SECTION */
/* .publication-section {
    padding-bottom: 5rem;
} */
.publication-navigation {
    position: unset;
}

.publication-navigation .arrow-svg {
    stroke: #777e8d;
}

/* /PUBLICATION SECTION */

/* REDIRECT SECTION */
.redirect-section .redirect {
    position: relative;
    width: 100%;
}

.redirect-content {
    background: rgba(255, 255, 255, 0.90);
    padding: 2.5rem;
    position: absolute;
    bottom: 0;
    right: 0;
    min-width: 55%;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/* /REDIRECT SECTION */

/* ========================= INDEX END ========================= */

/* ========================= SERVICES START ========================= */
.hero-section--small,
.hero-section--big {
    position: relative;
}

.hero-section--big .parallax-box {
    padding: clamp(15rem, 30vw, 28rem) 0;
}

.hero-section--small .parallax-box {
    padding: clamp(10rem, 17vw, 17rem) 0;
}

.hero-section--small .parallax-box img,
.hero-section--big .parallax-box img {
    position: absolute;
    top: -1rem;
    left: 0;
}

.hero-banner-content {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 100%;
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    z-index: 1;
}

.services .box-grid--small-box-cont {
    grid-template-columns: repeat(1, 1fr);
}

.service-grid-item-content .box-link-text .box-title {
    font-size: 24px;
}

.service-grid-item-content .box-link-text .arrow-svg {
    width: 25px;
}

.service-grid-item-content {
    padding: var(--x-spacing);
    /* gap: 5rem; */
}

.service-grid-item-content .box-link-text {
    transform: unset;
    opacity: 1;
}

.contact-section input.form-control,
.contact-section textarea.form-control {
    border: 0;
    outline: unset;
    box-shadow: unset;
    border-radius: 0;
    border-bottom: 1px solid #C5C5C5;
    padding: 1rem 0;
}

.services-info a {
    color: var(--p-text-color);
    font-size: var(--p-size);
}

.object-position-left {
    object-position: left;
}

/* ========================= SERVICES END ========================= */


/* ========================= SERVICES SINGLE START ========================= */
/* VIDEO SECTION */
.two-column-grid-seperated {
    display: grid;
    grid-template-rows: 1fr;
}

.two-column-grid-seperated .content {
    position: relative;
}

.content-image {
    position: absolute;
    width: 100%;
    height: 100%;
}

.content-image img {
    position: relative;
}

.content-inner {
    height: 100%;
    width: 100%;
    display: flex;
    align-items: flex-end;
    color: white;
    padding: var(--x-spacing);
}

.video {
    position: relative;
    cursor: pointer;
}

.video-section video,
.video-section img {
    width: 100%;
    aspect-ratio: 16/11;
    object-fit: cover;
}

.video-section video::before {
    display: block;
    content: "";
    width: 100%;
    padding-top: (2 / 3) * 100%;
}



.video .overlay {
    position: absolute;
}

.service-modal video {
    width: 100%;
}

.video .video-button {
    max-width: 30vw;
}

.video svg {
    z-index: 10;
}

.video svg .circle-top-half {
    stroke-dasharray: 320 !important;
    stroke-dashoffset: 320 !important;
    transition: stroke-dashoffset .8s cubic-bezier(.33, 1, .68, 1);
}

.video a:hover svg .circle-top-half {
    stroke-dashoffset: 0 !important;
}

.video-button {
    position: absolute;
    fill: none;
    stroke: white;
}

.service-modal .modal-content {
    background: transparent;
    border: 0;
    position: relative;
}

.service-modal .modal-content .btn-close {
    position: absolute;
    top: 2.5rem;
    right: 2.5rem;
    filter: invert(1);
    z-index: 1;
}

.service-modal .modal-dialog {
    max-width: 1200px;
}

/* /VIDEO SECTION */
/* ========================= SERVICES SINGLE END ========================= */


/* ========================= ABOUT SINGLE ========================= */
.select-container {
    width: 100%;
    padding-top: .7rem;
    padding-left: 1.3rem;
    padding-right: 1.3rem;
    padding-bottom: .7rem;
    font-size: 16px;
}

.select-container .arrow-dropdown {
    transform: rotate(90deg);
    width: 10px;
    stroke-width: 5px;
    height: auto;
}

.four-box-grid {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    grid-gap: .5rem;
}

.dropdown-toggle::after {
    content: unset;
}

.select-offices {
    max-width: 17.5rem;
}

.select-offices svg {
    rotate: 90deg;
    width: 10px;
    stroke-width: 5px;
    height: auto;

}

.select-offices .accordion-item {
    background: unset;
    border-radius: unset;
    position: relative;
}

.select-offices .accordion-header {
    border: 1px solid white;
}

.select-offices .accordion-collapse {
    position: absolute;
    left: 0;
    width: 100%;
    z-index: 1;
    background-color: var(--secondary-color);
}

.select-offices .accordion-body {
    background: rgba(255, 255, 255, 0.15);
}

.select-offices .accordion-body ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.select-offices .accordion-body ul li a {
    font-size: 16px;
    position: relative;
    transition: all .3s ease;

}

.select-offices .accordion-body ul li a:before {
    content: "";
    position: absolute;
    display: block;
    width: 100%;
    height: 1px;
    bottom: -1px;
    left: 0;
    background-color: white;
    transform: scaleX(0);
    transition: transform 0.3s ease-out;
    transform-origin: right;
}

.select-offices .accordion-body ul li a:hover:before {
    right: 0;
    transform: scaleX(1);
    transform-origin: left;
}

.select-offices button {
    background: unset;
    color: white;
}

.select-offices button:focus,
.select-offices button:focus-within {
    color: white;
    box-shadow: unset;
    background: unset;
    border: unset;
    outline: unset;
}

.select-offices .accordion-button::after {
    content: unset;
}

.select-offices .accordion-button:not(.collapsed) {
    color: white;
    background: unset;
}

.select-offices .accordion-button:not(.collapsed)::after {
    color: white !important;
}

/* ========================= ABOUT SINGLE END ========================= */


/* ========================= WEBSITE ========================= */
.breadcrumbs-cont {
    display: flex;
    flex-wrap: wrap;
}

.people-box .parallax-image {
    height: 110%;
}

/* ========================= WEBSITE END ========================= */

/* SUBSCRIBE */
.subscribe .arrow-link-cont {
    color: white;
}

.subscribe .arrow-svg {
    stroke: white;
}

.subscribe input::placeholder {
    color: white;
}

/* /SUBSCRIBE */

/* FOOTER SECTION */
.footer {
    background-color: var(--green);
}

.footer p {
    font-size: 16px;
}

.footer-logo {
    /* min-width: 6rem !important; */
    max-width: 13rem;
}

.footer-gecn-logo {
    min-width: 10rem;
}

/* Align GECN logo with "Terms of Access" on large screens */
@media (min-width: 992px) {
    .footer-gecn-logo {
        margin-top: 10.25rem;
        display: inline-block;
    }
}

.footer-link {
    color: var(--white-color);
    transition: color 0.3s ease;
    font-size: 16px;
}

.footer-link:hover {
    color: var(--footer-color);
}

.footer-item {
    display: inline-block;
    width: fit-content;
}

.footer-item i {
    color: white;
    font-size: 24px;
    transition: color 0.3s ease;
}

.footer-item i:hover {
    color: var(--footer-color);

}

.footer-links {
    display: flex;
    flex-direction: column;
}

.footer .social-icons a {
    background-color: var(--footer-color);
    border: unset;
}

.footer-bottom {
    border-top: 1px solid #3A9086;
}

.footer-bottom-text {
    color: #548E88;
    font-size: 16px;
}

.footer-notice {
    text-align: left;
    color: #548E88;
    font-size: 14px;
}

.footer-notice-link {
    color: #548E88;
    font-size: 14px;
    transition: color 0.3s ease;
    text-decoration: underline;
}

.footer-notice-link:hover {
    color: var(--footer-color);
}

/* Responsive styling for mobile devices */
@media (max-width: 768px) {
    .footer-notice {
        width: 100%;
        text-align: left;
    }
}

/* /FOOTER SECTION */

.innerServiceSwiper {
    padding-bottom: 4rem;
}

.innerServiceSwiper .swiper-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
}

.innerServiceSwiper .swiper-pagination-bullet {
    background-color: var(--secondary-color);
    opacity: .3;
    margin: 0 7px !important;
    transition: all .3s ease;
}

.innerServiceSwiper .swiper-pagination-bullet-active {
    background-color: var(--secondary-color);
    opacity: 1;
    width: 10px;
    height: 10px;
}

/* SUBSERVICE */
.color-chart-list {
    display: flex;
    flex-direction: column;
}

.color-chart-list li {
    font-family: Montserrat, sans-serif;
}

.color-chart-list li div {
    display: inline-block;
    vertical-align: middle;
}

.color-chart-list li::marker {
    font-size: 30px;
    display: none;
}

.color-chart-list li:nth-child(1)::marker {
    color: #2F5C57;
}

.color-chart-list li:nth-child(2)::marker {
    color: #C7A575;
}

.color-chart-list li:nth-child(3)::marker {
    color: #BD4F4D;
}

/* SUBSERVICE */

/*  --------------------------------------------
            Experts Slider (Subservice)
-------------------------------------------- */
.experts-section .info-box a {
    color: var(--p-text-color);
    font-size: var(--p-size);
}

.experts-section .col-images img {
    width: 100%;
    height: 100%;
}

.experts-section .col-content {
    gap: max(2rem, 3vw);
}

.experts-section .slider-controls {
    display: flex;
    justify-content: flex-start;
    width: fit-content;
}

.experts-section .slider-controls .swiper-btn {
    height: 3rem;
    padding: 0;
    display: grid;
    place-items: center;
    outline: none;
    border: none;
    background-color: transparent;
    box-shadow: none;
}

.experts-section .slider-controls .swiper-btn svg {
    height: 3rem;
    fill: none;
    stroke: var(--secondary-color);
}

.experts-section .slider-controls .swiper-btn.slide-prev svg {
    transform: scaleX(-1);
}

.experts-section .content-wrapper h3 {
    font-size: 24px;
}

@media (max-width: 991.98px) {
    .experts-section .content-wrapper {
        gap: 1rem;
    }

    /* Left-align experts slider on tablets */
    .experts-section .swiper {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .experts-section .content-wrapper,
    .experts-section .col-content {
        align-items: flex-start;
        text-align: left;
    }
}

@media (max-width: 767.98px) {
    .experts-section .content-wrapper h3 {
        font-size: 24px;
    }

    .experts-section .col-images img {
        width: 100%;
        height: auto;
        object-fit: cover;
    }

    .experts-section .col-content {
        padding-left: 0 !important;
    }

    .experts-section .cta-button {
        width: 100%;
    }

    /* Force experts slider content to align left on mobile */
    .experts-section .swiper {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .experts-section .content-wrapper,
    .experts-section .col-content {
        align-items: flex-start;
        text-align: left;
    }
}

/*  --------------------------------------------
            Experts Slider (Subservice)
-------------------------------------------- */

.select-offices .accordion-button:not(.collapsed) {
    background-color: unset !important;
}

@media (min-width: 576px) {

    /* ABOUT SECTION */
    .about-content {
        padding-left: var(--x-spacing);
        padding-right: var(--x-spacing);
    }

    /* /ABOUT SECTION */

    /* BOX GRID SECTION */
    .box-grid--small-box-row {
        grid-template-columns: repeat(2, 1fr);
    }

    /* /BOX GRID SECTION */

    /* FOOTER SECTION */
    .footer-links {
        flex-direction: row;
        gap: 3rem;
    }

    /* /FOOTER SECTION */

    /* CLIENTS SECTION */
    .clients-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 4rem;
        row-gap: 6rem;
    }

    /* /CLIENTS SECTION */

    /* REDIRECT SECTION */
    .redirect-content {
        height: fit-content;
        width: 70%;
    }

    /* /REDIRECT SECTION */

    .four-box-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 768px) {

    .three-col-grid,
    .four-col-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .two-column-grid-seperated {
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: unset;
    }

    .two-column-grid-seperated--reverse {
        grid-template-columns: repeat(2, 1fr);
    }

    .two-column-grid-seperated--equal {
        grid-template-columns: repeat(2, 1fr);
    }

    /* TEAM SECTION */
    .team-section .box-grid--small-box-row {
        flex-direction: row;
    }

    /* /TEAM SECTION */

    .four-box-grid {
        grid-template-columns: repeat(2, 1fr);
    }

}

@media (min-width: 992px) {

    .two-column-grid-seperated {
        grid-template-columns: 1fr .8fr;
    }

    .two-column-grid-seperated--reverse {
        grid-template-columns: .6fr 1fr;
    }

    .three-col-grid,
    .four-col-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .navbar-expand-lg .navbar-nav .dropdown-menu {
        /* left: 0; */
        /* right: 0; */
        width: 100%;
        position: absolute;
    }

    .dropdown-menu.visible {
        display: flex !important;
    }

    /* .left-title h2 {
        width: 50%;
    } */
    .services-box-big-shadow {
        background: linear-gradient(178deg, rgba(0, 0, 0, 0.55) 9.63%, rgba(0, 0, 0, 0.00) 39.23%);
    }

    /* NEWS SECTION */
    .news-section {
        position: relative;
        max-width: unset;
        padding-right: 0;
        margin-right: 0;
        /* padding-left: 14vw; */
        overflow: hidden;
    }

    .newsSwiper .swiper-slide {
        display: flex;
        flex-direction: row;
        /* width: 650px !important; */
    }

    .newsSwiper .news-slide-content {
        width: 50%;
        padding: 2.5rem;
        justify-content: space-between;
    }

    .news-slide-image {
        width: 50%;
    }

    .news-title-navigation .swiper--navigation {
        right: 15.4rem;
    }

    /* /NEWS SECTION */

    /* CLIENTS SECTION */


    /* /CLIENTS SECTION */

    /* DEALS SECTION */
    /* .deals-section .box-grid--small-box-row {
        grid-template-columns: repeat(3, 1fr);
        grid-template-rows: unset;
    } */
    /* /DEALS SECTION */

    /* BOX GRID SECTION */
    .service-box-container {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }

    .box-grid--small-box-row {
        grid-template-columns: repeat(2, 1fr);
    }

    /* /BOX GRID SECTION */

    /* INFO SECTION */
    .info-section {
        flex-direction: row;
    }

    .left-content {
        width: 50%;
    }

    .right-content {
        width: 50%;
    }

    .right--bottom-content .content-inner .content {
        display: flex;
        flex-wrap: wrap;
        gap: unset;
    }

    .content-inner-left {
        padding-right: 5rem;
    }

    /* /INFO SECTION */

    /* CLIENTS SECTION */
    .clients-grid {
        gap: 4rem;
        row-gap: 7rem;
        display: grid;
        grid-template-columns: repeat(5, 1fr);
    }

    .clients-text p {
        width: 70%;
    }

    /* /CLIENTS SECTION */

    /* SERVICES */
    .service-grid-item-content .box-link-text .box-title {
        font-size: 28px;
    }

    .service-grid-item-content .box-link-text .arrow-svg {
        width: 30px;
    }

    /* /SERVICES */

    /* FOOTER */
    .footer-wrap {
        flex-direction: column;
        justify-content: space-between;
    }

    /* /FOOTER */

    /* ABOUT SINGLE INNER */
    .four-box-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    /* ABOUT SINGLE INNER */
}

@media (min-width: 1200px) {
    .four-col-grid {
        grid-template-columns: repeat(4, 1fr);
    }

    .two-column-grid-seperated {
        grid-template-columns: 1fr .7fr;
    }

    .two-column-grid-seperated--reverse {
        grid-template-columns: .7fr 1fr;
    }

    /* REDIRECT SECTION */
    .redirect-content {
        width: 55%;
    }

    /* /REDIRECT SECTION */
    /* FOOTER */
    .footer-wrap {
        flex-direction: row;
        justify-content: space-between;
    }

    /* /FOOTER */
    .clients-card-hover h4 {
        font-size: 28px;
    }

    .swiper-slide-active .clients-card-hover {
        opacity: 0;

    }

    .clients-card {
        padding: 58px 68px;
    }

    .clients-card-hover {
        padding: 58px 68px;
    }

    .clients-card-wrapper {
        height: 700px;
    }

    /* ABOUT SINGLE INNER */
    .four-box-grid {
        grid-template-columns: repeat(4, 1fr);
    }

    .select-container {
        width: 250px;
    }

    /* ABOUT SINGLE INNER */
}

@media only screen and (min-width: 0px) and (max-device-width: 768px) and (orientation: landscape),
only screen and (min-width: 0px) and (max-device-height: 0px) and (orientation: landscape) {

    h1,
    h2 {
        font-size: clamp(4.5vw, 10vw, 6vw);
    }
}

.dropdown-menu li {
    padding: 0 36px;
    position: relative;
}

.navbar-nav .dropdown-menu,
.subdropdown-menu {
    padding: unset;
    padding: 26px 0;
}

.publication-title {
    font-size: clamp(28px, 6vw, 36px);
}

.publication-item-top,
.publication-item-bottom {
    padding: 2.5rem;
}

/* PRELOADER */
.preloader {
    position: fixed;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    overflow: hidden;
    width: 100%;
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--secondary-color);
    z-index: 9999;
}

.preloader img {
    width: 200px;
    height: auto;
    object-fit: cover;
    object-position: center;
}

.preloader .preload-logo-white {
    display: none;
}

.preloader img:nth-child(2) {
    clip-path: (0% 100%, 100% 100%, 100% 100%, 0% 100%);
    position: absolute;
    z-index: -1;
    opacity: .4;
}

/* /PRELOADER */

/* parallax */
.parallax-box {
    position: relative;
    overflow: hidden;
    /* background: linear-gradient(0deg, rgba(0,0,0,0.19931722689075626) 0%, rgba(245,245,245,0) 20%, rgba(255,255,255,0) 50%, rgba(240,240,240,0) 80%, rgba(0,0,0,0.20211834733893552) 100%); */
}

@media (max-width: 767px) {
    .parallax-box {
        height: auto;
        overflow: hidden;
    }
}

.parallax-image {
    position: relative;
    height: 115%;
    transition: unset !important;
}

.service-grid-item:has(img),
.service-grid-item:has(video) {
    background: rgb(0, 0, 0);
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.19931722689075626) 0%, rgba(245, 245, 245, 0) 20%, rgba(255, 255, 255, 0) 50%, rgba(240, 240, 240, 0) 80%, rgba(0, 0, 0, 0.20211834733893552) 100%);
}

/* Subservice page: left-align images and remove overlay */
.subservice-services .service-grid-item:has(img),
.subservice-services .service-grid-item:has(video) {
    background: transparent !important;
}

.subservice-services .full-bg-img {
    object-position: left center !important;
}

.subservice-services .parallax-image {
    height: 100%;
}

/* parallax */

.chevron-right {
    transform: rotate(-90deg);
    width: 10px;
}

.stroke-black svg {
    stroke: #777e8d;
}

.stroke-white svg {
    stroke: white !important;
}

/* careers icon animation */
.path.enable {
    stroke-dasharray: 1000;
    stroke-dashoffset: 1000;
    animation: dash 5s linear forwards;
}

@keyframes dash {
    from {
        stroke-dashoffset: 1000;
    }

    to {
        stroke-dashoffset: 0;
    }
}

/* NEW HEADER CSS */
@media (min-width: 1200px) {

    header ul,
    header ul li {
        list-style: none;
        padding: unset;
        margin: unset;
    }

    .navbar-nav li a,
    .dropdown-menu li a,
    .subdropdown-menu li a {
        transition: opacity 0.3s ease, color 0.3s ease, padding 0.3s ease-out;
        color: rgba(55, 55, 55, 0.9);
    }

    .dropdown-menu .dropdown-link-cont .subdropdown-link,
    .subdropdown-menu li a,
    .navbar-nav .dropdown-menu li a {
        position: relative;
        display: inline-block;
        /* Ensures underline matches exact text width */
        width: fit-content !important;
        /* Critical to fit exactly to text */
        overflow: visible !important;
        padding-bottom: 2px;
        /* Slight padding for underline */
    }

    /* Position underline absolutely below the text */
    .dropdown-menu .dropdown-link-cont .subdropdown-link::before,
    .subdropdown-menu li a::before,
    .navbar-nav .dropdown-menu li a::before {
        content: '';
        position: absolute;
        top: 100%;
        /* ensures underline is below text */
        left: 0;
        height: 1px;
        width: 0;
        background-color: #CAA260;
        transition: width 0.3s ease-out;
    }

    /* Expand underline fully to text width on hover */
    .dropdown-menu .dropdown-link-cont:hover .subdropdown-link::before,
    .subdropdown-menu li:hover>a::before,
    .navbar-nav .dropdown-menu li:hover>a::before {
        width: 100%;
    }

    /* Gold color on hover */
    .dropdown-menu .dropdown-link-cont:hover .subdropdown-link,
    .subdropdown-menu li:hover>a,
    .navbar-nav .dropdown-menu li:hover>a {
        opacity: 1 !important;
        color: #CAA260 !important;
    }

    /* Prevent underline on top-level navbar items */
    .navbar-nav>li>a::before {
        content: none !important;
    }

    /* =======================================================
       TOP LEVEL MENU (MAIN NAVBAR ITEMS)
       ======================================================= */
    /* When hovering the navbar, make items lighter */
    .navbar-nav:hover>li>a.nav-link,
    .navbar-nav:hover>li>a.dropdown-toggle {
        opacity: 0.7 !important;
    }

    /* When hovering a specific item, make it full opacity */
    .navbar-nav>li:hover>a.nav-link,
    .navbar-nav>li:hover>a.dropdown-toggle {
        opacity: 1 !important;
        color: var(--secondary-color) !important;
    }

    /* =======================================================
       FIRST LEVEL DROPDOWNS (INCLUDING ABOUT DROPDOWN)
       ======================================================= */
    /* All dropdown items have normal opacity by default */
    .dropdown-menu li a,
    .dropdown-menu.dropdown-menu-bottom li a,
    .dropdown-link-cont .subdropdown-link {
        opacity: 1 !important;
    }

    /* Make all items light gray when one is hovered */
    .dropdown-menu:has(li:hover) li:not(:hover)>a,
    .dropdown-menu.dropdown-menu-bottom:has(li:hover) li:not(:hover)>a {
        opacity: 0.7 !important;
    }

    /* Make hovered item gold */
    .dropdown-menu li:hover>a,
    .dropdown-menu.dropdown-menu-bottom li:hover>a,
    .dropdown-menu .dropdown-link-cont:hover .subdropdown-link {
        opacity: 1 !important;
        color: #CAA260 !important;
    }

    /* =======================================================
       SERVICES DROPDOWN SPECIFIC STYLES
       ======================================================= */
    /* Default state for services dropdown links - normal opacity and color */
    .dropdown-menu .dropdown-link-cont .subdropdown-link {
        opacity: 1 !important;
        color: rgba(55, 55, 55, 0.9);
        transition: opacity 0.3s ease, color 0.3s ease;
    }

    /* When hovering a specific dropdown-link-cont inside the dropdown menu */
    /* Make other items light gray */
    .dropdown-menu:has(.dropdown-link-cont:hover) .dropdown-link-cont:not(:hover) .subdropdown-link {
        opacity: 0.7 !important;
    }

    /* Make the hovered item gold with full opacity */
    .dropdown-menu .dropdown-link-cont:hover .subdropdown-link {
        opacity: 1 !important;
        color: #CAA260 !important;
    }

    /* Fallback approach for browsers that don't support :has() */
    /* Keep normal appearance when just hovering the dropdown */
    .dropdown-menu .dropdown-link-cont .subdropdown-link {
        opacity: 1 !important;
    }

    /* Apply gold color only to the specific hovered item */
    .dropdown-menu .dropdown-link-cont:hover .subdropdown-link {
        opacity: 1 !important;
        color: #CAA260 !important;
    }

    /* =======================================================
       SECOND LEVEL DROPDOWNS (NESTED SUBMENUS)
       ======================================================= */
    /* All subdropdown items have normal opacity by default */
    .subdropdown-menu li a {
        opacity: 1 !important;
    }

    /* Make all items light gray when one is hovered */
    .subdropdown-menu:has(li:hover) li:not(:hover)>a {
        opacity: 0.7 !important;
    }

    /* Make hovered item gold */
    .subdropdown-menu li:hover>a,
    .dropdown-link-cont .subdropdown-menu li:hover a {
        opacity: 1 !important;
        color: #CAA260 !important;
    }

    /* =======================================================
       VERTICAL DROPDOWN MENU (COMPENSATION, GOVERNANCE, ETC.)
       ======================================================= */
    /* Apply the hover effect to the vertical menu from screenshot */
    /* Default state */
    .navbar-nav .dropdown-menu li a {
        opacity: 1 !important;
    }

    /* All non-hovered items become light gray when any item is hovered */
    .navbar-nav .dropdown-menu:has(li:hover) li:not(:hover)>a {
        opacity: 0.7 !important;
    }

    /* Hovered item turns gold */
    .navbar-nav .dropdown-menu li:hover>a {
        opacity: 1 !important;
        color: #CAA260 !important;
    }

    /* .dropdown-menu {
        display: flex;
    } */

    /* .dropdown-menu.visible {
        max-height: 500px;
        transition: all .6 ease;
    } */

    .header-grid {
        display: grid !important;
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .header-grid--small {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .subdropdown-menu {
        list-style: none;
        position: absolute;
        top: 0;
        left: 100%;
        opacity: 0;
        visibility: hidden;
        background-color: white;
        border: unset;
        padding: 0;
        z-index: 1;
        overflow: hidden;
        flex-direction: column;
        gap: .9rem;
        min-width: unset;
        width: fit-content;
        margin: 0;
        transition: all .3s ease;
    }

    .subdropdown-menu ul {
        width: max-content;
    }

    .header-title {
        font-size: 20px;
    }

    .header-description {
        font-size: 14px;
    }

    .submenu-title {
        font-size: 18px !important;
        font-weight: 400 !important;
        color: var(--black-color) !important;
        font-family: Marcellus, sans-serif;

    }

    .subdropdown-menu.visible {
        /* transition: height .3s linear;
        max-height: 500px;
        margin-top: .7rem;
        margin-bottom: .7rem; */
        display: flex;
    }

    .subdropdown-menu .dropdown-item {
        padding: unset !important;
    }

    .dropdown-menu a:hover {
        color: #CAA260 !important;
        transition: color .3s ease
    }

    .dropdown-item {
        z-index: 1;
    }

    .dropdown-item .icon-down,
    .nav-link .icon-down {
        width: 10px;
        height: auto;
    }

    .dropdown-link-cont {
        padding-left: 2.5rem;
        padding-right: 6rem;
    }

    .navbar-nav .dropdown-menu a,
    .dropdown-menu a {
        position: relative;
        color: var(--p-text-color);
        text-transform: none;
        font-weight: 400;
        font-size: 14px;
        line-height: 1;
        letter-spacing: 0;
        transition: padding .3s ease-out, color .3s ease-out !important;
        position: relative;
        overflow: hidden;
        padding: 8px 0;
        /* padding-right: 2.5rem; */
    }


    /* .dropdown-link-cont.active .subdropdown-link {
        padding-left: 40px;
        padding-right: 0;
    } */

    .dropdown-link-cont .subdropdown-link::before {
        content: '';
        width: 0px;
        position: absolute;
        top: calc(50% - 1px);
        background-color: currentColor;
        height: 1px;
        left: 0;
        opacity: 1;
        transition: width .3s ease-out;
    }

    /* .dropdown-link-cont.active .subdropdown-link::before {
        left: 0;
        width: 30px;
    } */

    .dropdown-link-cont.active .subdropdown-menu {
        display: flex;
        opacity: 1;
        visibility: visible;
        transition: all .3s ease;
    }

    .navbar-nav .dropdown-menu a::before,
    .dropdown-menu a::before {
        content: '';
        width: 0px;
        position: absolute;
        top: calc(50% - 1px);
        background-color: currentColor;
        height: 1px;
        left: 0;
        opacity: 1;
        transition: width .3s ease-out;
    }

    /* .navbar-nav .dropdown-menu a:hover::before, .dropdown-menu a:hover::before {
        left: 0;
        width: 30px;
    } */

    /* .navbar-nav .dropdown-menu a:hover, .dropdown-menu a:hover {
        padding-left: 40px;
        padding-right: 0;
    } */

    /* .navbar-nav .dropdown-menu a.active::before, .dropdown-menu a.active::before {
        left: 0;
        width: 30px;
    } */

    /* .navbar-nav .dropdown-menu a.active, .dropdown-menu a.active {
        padding-left: 40px;
        padding-right: 0;
    } */

    .navbar-nav .dropdown-menu {
        padding: unset;
        width: max-content !important;
    }

    .submenu-divider {
        border-right: 1px solid var(--border-color);
    }

    .dropdown-menu li {
        padding: 0 1rem;
    }

    .dropdown-menu-version-one {
        position: absolute !important;
        left: 0 !important;
        right: 0 !important;
        top: 100% !important;
        flex-direction: column !important;
        border: 1px solid var(--border-color);
        height: fit-content;
    }

    .dropdown-menu-version-one>div {
        padding: 1rem !important;

    }

    /* Container-level dimming and highlight for services/subservices lists */
    .dropdown-menu .d-flex.flex-column.gap-2.py-4:hover .dropdown-link-cont>a,
    .dropdown-menu .d-flex.flex-column.gap-2.py-4:hover .dropdown-link-cont .subdropdown-link {
        opacity: 0.7 !important;
        color: rgba(55, 55, 55, 0.9) !important;
        transition: opacity 0.3s ease, color 0.3s ease;
    }

    .dropdown-menu .d-flex.flex-column.gap-2.py-4 .dropdown-link-cont:hover>a,
    .dropdown-menu .d-flex.flex-column.gap-2.py-4 .dropdown-link-cont:hover .subdropdown-link {
        opacity: 1 !important;
        color: #CAA260 !important;
    }

    /* Subservices list on the right: default stays original; dim on container hover; gold on item hover */
    .dropdown-menu .subdropdown-menu ul.py-4.d-flex.flex-column.gap-2:hover>li>a {
        opacity: 0.7 !important;
        color: rgba(55, 55, 55, 0.9) !important;
        transition: opacity 0.3s ease, color 0.3s ease;
    }

    .dropdown-menu .subdropdown-menu ul.py-4.d-flex.flex-column.gap-2>li:hover>a {
        opacity: 1 !important;
        color: #CAA260 !important;
    }

    /* About dropdown: same dim/highlight behavior */
    .dropdown-menu[aria-labelledby="aboutDropdown"]>ul.py-4.d-flex.flex-column.gap-2:hover>li>a {
        opacity: 0.7 !important;
        color: rgba(55, 55, 55, 0.9) !important;
        transition: opacity 0.3s ease, color 0.3s ease;
    }

    .dropdown-menu[aria-labelledby="aboutDropdown"]>ul.py-4.d-flex.flex-column.gap-2>li:hover>a {
        opacity: 1 !important;
        color: #CAA260 !important;
    }
}

@media (min-width: 1200px) {

    .col-3-1200 {
        width: 20%
    }

    .col-9-1200 {
        width: 85%;
    }

    .pe-5-1200 {
        padding-right: 1rem;
    }

    .gap-4-1200 {
        gap: 1.5rem;
    }
}

@media (min-width: 1400px) {

    .two-column-grid-seperated {
        grid-template-columns: 1fr .5fr;
    }

    .two-column-grid-seperated--reverse {
        grid-template-columns: .5fr 1fr;
    }

    .col-3-1200 {
        width: 25%;
    }

    .col-9-1200 {
        width: 80%;
    }

    .pe-5-1200 {
        padding-right: 3rem;
    }

    .gap-4-1200 {
        gap: 1rem;
    }
}

@media (min-width: 1600px) {
    .col-9-1200 {
        width: 66.66666667%;
    }

    .dropdown-menu .col-8 {
        padding-left: 3rem;
        padding-right: 3rem;
    }
}

/* NEW HEADER CSS */
.dropdown-menu-center {
    align-items: center;
    justify-content: center;
}

/*  --------------------------------------------
            Subservice Details View
-------------------------------------------- */

.media-section .content-wrapper {
    height: 100%;
    width: 100%;
    display: flex;
    color: white;
    padding: var(--x-spacing);
}

/*  --------------------------------------------
            About/People Section
-------------------------------------------- */
@media (max-width: 768px) {
    .people-section {
        overflow-x: hidden;
    }

    .people-box {
        position: relative;
        flex: 0 0 100%;
        overflow: hidden;
        margin: 0;
    }

    .parallax-box {
        width: 100%;
        height: auto;
        position: relative;
    }
}

/*  --------------------------------------------
            About/People Section
-------------------------------------------- */

/*  --------------------------------------------
            MAIN SERVICES
-------------------------------------------- */
.clients-service-static .swiper-wrapper {
    display: flex;
    justify-content: center;
    gap: 30px;
}

.clients-service-static .swiper-slide {
    flex: 0 1 30%;
}

@media (max-width: 1200px) {
    .clients-service-static {
        display: none !important;
    }
}

@media (min-width: 1200px) {
    .clients-service-static {
        display: flex !important;
    }
}

@media (max-width: 1200px) {

    /* Mobile/tablet: allow German hyphenation for long service titles */
    :lang(de) .services-section .box-title,
    html[lang="de"] .services-section .box-title {
        -webkit-hyphens: auto;
        -ms-hyphens: auto;
        hyphens: auto;
        overflow-wrap: break-word;
        word-break: normal;
        word-wrap: break-word;
        /* ensure &shy; breaks are honored */
    }

    .clients-service-swiper-mobile {
        display: block !important;
    }
}

@media (min-width: 1200px) {
    .clients-service-swiper-mobile {
        display: none !important;
    }
}

/*  --------------------------------------------
            MAIN SERVICES
-------------------------------------------- */
@media (max-width: 768px) {

    .hero-section--small .parallax-box img,
    .hero-section--big .parallax-box img {
        position: absolute;
        top: 0rem;
        left: 0;
    }

    .parallax-image {
        position: relative;
        height: 100%;
        transition: unset !important;
    }
}


/*  --------------------------------------------
            GECN LOGO
-------------------------------------------- */
.gecn-logo {
    width: 160px;
    height: auto;
}

@media (max-width: 768px) {
    .gecn-logo {
        width: 100px;
    }
}

@media (max-width: 480px) {
    .gecn-logo {
        width: 80px;
    }
}

/*  --------------------------------------------
            GECN LOGO
-------------------------------------------- */

/*  --------------------------------------------
            SUBSCRIBE SECTION
-------------------------------------------- */
.secondary-bg {
    background-color: #CAA260;
}

.section-padding {
    padding: 60px 30px;
}

.text-dark {
    color: #333 !important;
}

.text-dark-gray {
    color: #999 !important;
}

.border-light-gray {
    border-color: #ccc !important;
}

.form-control {
    color: #333;
}

.form-control::placeholder {
    color: #6c757d;
    opacity: 0.7;
}

.form-control:focus {
    box-shadow: none;
    border-color: #CAA260;
}

.form-check-input:checked {
    background-color: #CAA260;
    border-color: #CAA260;
}

.subscribe-btn {
    padding: .8rem 2rem;
    text-decoration: none;
    font-family: Montserrat, sans-serif;
    text-align: center;
    font-size: 12px;
    width: fit-content;
    transition: all .3s ease;
    color: white;
    letter-spacing: .1em;
    border-radius: 0;
}

.subscribe-btn-hover {
    background-color: transparent;
    color: white;
    transition: all 0.3s ease;
}

.subscribe-btn-hover:hover {
    background-color: white;
    color: #000;
}

.cta-button-newsletter {
    padding: .8rem 2rem;
    text-decoration: none;
    font-family: Montserrat, sans-serif;
    text-align: center;
    font-size: 12px;
    width: auto;
    transition: all .3s ease;
    color: white;
    letter-spacing: .1em;
    border-radius: 0;
    background-color: #CAA260;
    cursor: pointer;
}

/* .cta-secondary {
    background-color: #CAA260;
    color: white;
} */

.cta-button-newsletter:hover {
    background-color: white;
    color: #333;
    border: 1px solid #CAA260;
}

.modal-submit-btn {
    padding: .8rem 2rem;
    text-transform: uppercase;
}

.modal-submit-btn:hover {
    background-color: #fff !important;
    border: 1px solid #CAA260 !important;
    color: #333 !important;
}

.form-floating .form-control {
    padding-bottom: 0 !important;
    padding-top: 2rem !important;
}

.form-floating input.form-control {
    line-height: 1 !important;
    align-items: flex-end !important;
}

.form-floating .form-control:focus {
    padding-top: 2rem !important;
    padding-bottom: 0 !important;
}

.form-floating>label {
    height: auto;
    padding: 0.75rem 0.75rem;
}

.form-control {
    height: auto !important;
    min-height: 58px !important;
}

@media (max-width: 768px) {
    .desktop-break {
        display: none;
    }

    .section-padding {
        padding: 40px 20px;
    }

    #newsletterModal {
        padding-right: 0 !important;
    }

    #newsletterModal .modal-dialog {
        max-width: 95%;
        margin: 0.5rem auto;
    }

    #newsletterModal .modal-content {
        max-height: 90vh;
    }

    #newsletterModal .section-padding {
        padding: 25px 15px;
    }

    #newsletterModal h2 {
        font-size: 1.5rem;
        margin-bottom: 0.5rem;
    }

    #newsletterModal .mb-5 {
        margin-bottom: 1rem !important;
    }

    #newsletterModal h3 {
        font-size: 1.25rem;
    }

    #newsletterModal .form-floating {
        margin-bottom: 0.5rem !important;
    }

    #newsletterModal .form-floating input {
        padding-top: 1.5rem !important;
        padding-bottom: 0 !important;
        height: 42px;
    }

    #newsletterModal .form-floating label {
        padding-top: 0.5rem;
        font-size: 0.9rem;
    }

    #newsletterModal .form-check-label {
        font-size: 0.8rem;
    }

    #newsletterModal .g-4 {
        --bs-gutter-y: 0.5rem;
    }

    #newsletterModal .mt-4 {
        margin-top: 1rem !important;
    }

    #newsletterModal .mb-4 {
        margin-bottom: 0.5rem !important;
    }

    body.modal-open {
        position: fixed;
        width: 100%;
        overflow-y: hidden;
    }
}

/*  --------------------------------------------
            SUBSCRIBE SECTION
-------------------------------------------- */
/*  --------------------------------------------
            SINGLE TEAM MEMBER PAGE
-------------------------------------------- */
.team-member-img {
    max-width: 100%;
    height: auto;
}

.team-member-contact a {
    text-decoration: none;
    transition: all 0.3s ease;
    font-size: 18px;
    font-weight: 500;
    display: inline-block;
    margin-bottom: 0.5rem;
    position: relative;
    width: fit-content;
    color: #6B6B6B !important;
}

.team-member-contact a:hover {
    color: #CAA260 !important;
    text-decoration: none;
}

.team-member-contact a::after {
    display: none;
}

.team-member-contact a:hover::after {
    display: none;
}

.contact-office-links a {
    text-decoration: none;
    transition: all 0.3s ease;
    font-size: 16px;
    font-weight: 500;
    display: inline-block;
    margin-bottom: 0.5rem;
    position: relative;
    width: fit-content;
}

.contact-office-links a:hover {
    text-decoration: none;
}

.contact-office-links a::after {
    content: '';
    position: absolute;
    width: 0;
    height: 1px;
    bottom: 0;
    left: 0;
    background-color: currentColor;
    transition: width 0.3s ease;
}

.contact-office-links a:hover::after {
    width: 100%;
}

.team-member-social-container {
    margin-top: 0.5rem;
}

.team-member-social {
    text-decoration: none;
    transition: all 0.3s ease;
    font-size: 1.25rem;
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    margin-bottom: 0.5rem;
    position: relative;
}

.team-member-social i {
    margin-right: 0.25rem;
    color: #b89d60;
}

.team-member-social::after {
    content: '';
    position: absolute;
    width: 0;
    height: 1px;
    bottom: 0;
    left: 0;
    background-color: currentColor;
    transition: width 0.3s ease;
}

.team-member-social:hover::after {
    width: 100%;
}

.team-member-bio {
    font-family: Effra;
    color: #6B6B6B;
}

@media (max-width: 768px) {
    .team-member-img {
        margin-bottom: 1.5rem;
    }
}

/*  --------------------------------------------
            SINGLE TEAM MEMBER PAGE
-------------------------------------------- */


.publication-section .swiper-scrollbar {
    top: unset;
    bottom: unset;
}

/*  --------------------------------------------
            HCM GETCOMPIA
-------------------------------------------- */
.nav-link {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    white-space: nowrap;
    min-width: max-content;
    text-align: center;
    height: 100%;
}

.text-slide {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    transition: transform 0.4s ease, opacity 0.4s ease;
    opacity: 1;
    pointer-events: none;
    text-align: center;
}

.coming-soon-hover .coming-text {
    transform: translateX(-100%);
    opacity: 0;
}

.coming-soon-hover:hover .current-text {
    transform: translateX(100%);
    opacity: 0;
}

.coming-soon-hover:hover .coming-text {
    transform: translateX(0%);
    opacity: 1;
}

.invisible-placeholder {
    visibility: hidden;
    opacity: 0;
    white-space: nowrap;
}

.dynamic-content img {
    width: 100% !important;
    height: auto;
    max-width: 100%;
    display: block;
    margin: 2rem 0;
}

.dynamic-content .fr-fic,
.dynamic-content .fr-dib {
    width: 100% !important;
    height: auto !important;
}

.dynamic-content ul {
    list-style-type: none;
}

/*  --------------------------------------------
            HCM GETCOMPIA
-------------------------------------------- */

/*  --------------------------------------------
            CLIENTS PAGE - SWIPER MODAL START
-------------------------------------------- */


/*  --------------------------------------------
            CLIENTS PAGE - SWIPER MODAL END
-------------------------------------------- */

/*  --------------------------------------------
            404 PAGE
-------------------------------------------- */
.page-404 {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    text-align: center;
    padding: 0;
}

.page-404 h1 {
    font-size: 120px;
    line-height: 1;
    margin: 0 0 20px;
    color: #CAA260;
}

.page-404 p {
    font-size: 20px;
    margin: 0 0 30px;
}

.page-404 .back-home-btn {
    margin-top: 10px;
    text-transform: uppercase;
}

/* Event Category Overlay */
.event-category-overlay {
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 2;
}

.category-tag-overlay {
    display: inline-block;
    background-color: #CAA260;
    color: #ffffff;
    padding: 8px 20px;
    font-size: 12px;
    font-weight: 400;
    text-transform: uppercase;
    font-family: 'Marcell', sans-serif;
    letter-spacing: 2px;
}