/* ===== RTL FIX PATCH ===== */

/* 1) Global direction + no horizontal scroll */
* {
    overscroll-behavior: contain;
    overflow-y: visible !important;
    overscroll-behavior-y: none;
    scrollbar-width: none; /* Firefox */
    -ms-overflow-style: none; /* IE 10+ */
}

*::-webkit-scrollbar {
    display: none; /* Chrome, Safari, Edge */
}

html[dir="rtl"],
body[dir="rtl"] {
    direction: rtl;
}

:root {
    --headerH: 88px;
    --gap: 24px;
    --radius: 14px;
    --pagePad: clamp(16px, 3vw, 40px);
    --textCol: 48%;
    --imgCol: 52%;
}

/* 3) Headlines that were using left/right: Nvw — use padding-inline instead */
.heroTitle,
.progressHeadingLeft,
.thirdSectionHeadingLeft,
.fourthSectionHeadingLeft,
.fourthSectionEndingTopLeft,
.firstContainerHeadingLeft {
    padding-inline-start: var(--rtl-pad) !important;
    padding-inline-end: 0 !important;
    max-width: 100%;
}

/* Buttons on the right side */
.progressHeadingRight,
.thirdSectionHeadingRight,
.firstContainerHeadingRight {
    margin-inline-end: var(--rtl-pad) !important;
}

/* 4) Hero tiles container */
.heroItems {
    right: auto !important;
    left: auto !important;
    padding-inline-end: var(--rtl-pad) !important;
}

/* 5) Main big sections should not use 100vw when we already padded them */
.heroSection,
.firstContainer,
.secondSection,
.thirdSection,
.fourthSection,
footer,
section#progress-section {
    width: 100% !important;
    margin: 0 auto;
}

/* 6) Cards text blocks inside glass panels */
.cardTopLeft,
.cardTopRight {
    left: auto !important;
    right: auto !important;
    padding-inline-start: 5% !important;
    padding-inline-end: 0 !important;
    text-align: right;
}

/* 7) Generic rule: kill any stray left/right on headings & large blocks */
[dir="rtl"] h1,
[dir="rtl"] h2,
[dir="rtl"] h3,
[dir="rtl"] .fix-line {
    margin-inline-start: 0;
    margin-inline-end: 0;
    text-align: right;
}

/* 8) GSAP pin spacers sometimes add inline styles that reintroduce width:100vw */
.pin-spacer {
    max-width: 100% !important;
    width: 100% !important;
    left: auto !important;
    right: auto !important;
}

/* 9) Progress section labels */
.milestone-text {
    left: 50% !important;
    transform: translateX(-50%) translateY(0) !important;
    text-align: center;
}

/* 10) Safety: any element wider than viewport gets clipped logically */
[dir="rtl"] * {
    max-width: 100%;
}

/* ---------- FONT ---------- */
@import url("https://fonts.googleapis.com/css2?family=Vazirmatn:wght@200..900&display=swap");

@font-face { font-family: SwitzerR; src: url(Fonts/Switzer-Regular.otf); }
@font-face { font-family: SwitzerL; src: url(Fonts/Switzer-Extralight.otf); }
@font-face { font-family: SwitzerB; src: url(Fonts/Switzer-Semibold.otf); }
@font-face { font-family: Abar; src: url(fonts/AbarLow-Regular.ttf); }
@font-face { font-family: Clash; src: url(fonts/Ubuntu-Medium.ttf); }

/* ---------- BASE ---------- */
html {
    font-size: 62.5%;
    box-sizing: border-box;
    height: auto;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: none;
    -webkit-overflow-scrolling: auto;
}

*,
*::before,
*::after {
    box-sizing: inherit;
}

body {
    margin: 0;
    padding: 0;
    font-family: "Vazirmatn", SwitzerR, sans-serif;
    height: auto;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: none;
    -webkit-overflow-scrolling: auto;
}

/* Utility */
.fix-line {
    max-width: 100%;
    overflow-wrap: break-word;
    word-break: break-word;
}

/* ---------- LOADING SCREEN ---------- */
.loading {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: 1000000;
    background-color: #307494;
    color: #000;
    display: flex;
    justify-content: center;
    align-items: center;
    font-family: Clash;
    clip-path: circle(100%);
    transition: opacity 0.6s ease;
}

.loading-content {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.loading-logo {
    width: 30vw;
    height: auto;
    margin-bottom: 1.5rem;
}

.loading-slogan {
    font-size: 4rem;
    font-weight: 300;
    text-transform: lowercase;
}

.loading-slogan .slogan-word {
    font-weight: 600;
}

/* ---------- MENU ---------- */
.menuPage {
    position: fixed;
    top: 0;
    right: 0;
    width: 35vw;
    height: 100vh;
    background-color: transparent;
    z-index: 200;
    clip-path: inset(0vh 0vw 0vh 40vw round 2rem 0rem 0rem 0rem);
    display: flex;
    flex-direction: column;
    box-shadow: 0 0 10 200vw rgba(0, 0, 0, 0.4);
    transition: box-shadow 0.4s ease;
}

.menuMain {
    position: relative;
    top: 0vh;
    display: flex;
    width: 100vw;
    height: 80vh;
    background-color: transparent;
    font-family: Clash;
    font-weight: 350;
}

.menuMainLeft {
    position: absolute;
    top: 0vh;
    right: 0vw;
    width: 100vw;
    height: 100vh;
    display: flex;
    z-index: 50;
}

.menuMainLeft img {
    position: relative;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: brightness(0.5);
    display: none;
}

.menuMainLeft video {
    position: relative;
    top: 20vh;
    left: -20vw;
    width: 15vw;
    height: 35vh;
    object-fit: cover;
}

.menuMainRight {
    position: absolute;
    top: 12.5vh;
    right: 1.5vw;
    width: 30vw;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: start;
    z-index: 100;
    padding-right: 2.5vw;
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
    border-radius: 20px;
}

.menuItems {
    position: relative;
    left: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    padding: 0;
    gap: 15px;
    font-size: 4rem;
    color: #fff;
}

.menuItems a {
    font-family: 'Abar';
    text-decoration: none;
    color: #000;
    font-weight: 100;
}

.menuItems li:nth-of-type(5),
.menuItems li:nth-of-type(6) {
    font-size: 2.5rem;
}

.menuSocials {
    position: relative;
    list-style: none;
    display: flex;
    flex-direction: column;
    justify-content: start;
    align-items: start;
    padding: 0;
    gap: 5px;
    font-size: 2rem;
    color: #767676;
}

.menuBottom {
    position: relative;
    top: 10vh;
    width: 100vw;
    height: 10vh;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-family: Clash;
}

.menuBottomLeft {
    position: relative;
    left: 10vw;
    color: #fff;
    font-size: 2rem;
}

.menuBottomRight {
    position: relative;
    right: 10vw;
    color: #fff;
    font-size: 2rem;
}

/* ---------- HEADER & NAVIGATION ---------- */
.navigation {
    width: 99vw;
    filter: opacity(1);
    display: flex;
    justify-content: start;
    position: fixed;
    transition: .7s;
    padding-left: 1vw;
    z-index: 210;
}

.navigation.active {
    filter: opacity(1);
}

.logo.active {
    background-color: rgb(38, 37, 37);
}

.bar {
    z-index: 2000;
    width: 60px;
    height: 60px;
    position: relative;
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-right: 15px;
    margin-top: 15px;
    border-radius: 50px;
    transition: 1s;
}

.bar .middle,
.bar .top,
.bar .bottom {
    height: 2px;
    width: 30px;
    background-color: #000;
    border-radius: 50px;
    position: absolute;
    transition: .3s ease;
}

.bar .top {
    top: 20px;
}

.bar .bottom {
    bottom: 20px;
}

.bar .top.active {
    transform: rotate(45deg);
    width: 30px;
    transform-origin: right;
    background-color: #348eb7;
    top: 40px;
    left: 10px;
}

.bar .middle.active {
    transform: translateX(20px);
    opacity: 0;
    background-color: #348eb7;
}

.bar .bottom.active {
    transform: rotate(-45deg);
    width: 30px;
    transform-origin: right;
    background-color: #348eb7;
    top: 19px;
    left: 10px;
}

.bar.active:hover,
.bar:hover {
    background-color: #348eb7;
}

.bar:hover .top,
.bar:hover .middle,
.bar:hover .bottom {
    background-color: #fff;
}

.headerLogo {
    position: fixed;
    left: 0vw;
    top: 20px;
    width: 225px;
    height: 50px;
    display: flex;
    justify-content: center;
    z-index: 100;
}

.headerLogo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: opacity(1);
}

/* ---------- BACKGROUNDS ---------- */
.firstBg,
.secondBg {
    position: fixed;
    width: 100%;
    height: 100vh;
}

.firstBg {
    z-index: 2;
}

.firstBg img,
.secondBg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: brightness(.5);
}

.secondBg .filler {
    width: 100vw;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: transparent;
    position: absolute;
    top: 0;
    left: 0;
    font-size: 10rem;
    color: white;
    z-index: 0;
}



.fillerText {
    direction: ltr;
    width: 100vw;
    height: 10vh;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.fillerText span {
    position: relative;
    top: 15vh;
}

/* ---------- HERO ---------- */
.heroSection {
    position: relative;
    width: 100vw;
    height: 70vh;
    display: flex;
    flex-direction: column;
    z-index: 5;
}

.heroTitle {
    position: relative;
    top: 10vh;
    width: 100vw;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    max-width: 100%;
}

.heroTitle h1 {
    position: relative;
    left: 0vw;
    font-size: 12rem;
    font-weight: 600;
    color: #fff;
    font-family: 'Abar';
}

.heroTitle h2 {
    position: relative;
    top: -150px;
    left: 0vw;
    font-size: 1.75rem;
    font-weight: 300;
    color: #fff;
    font-family: 'Abar';
}

.heroButtons{
    position: relative;
    top: -100px;
    width: 100vw;
    height: 5vh;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 50px;
}

.heroLeftButton,
.heroRightButton {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100px;
    height: 100%;
    background-color: #fff;
    text-align: center;
    border-radius: 25px;
    font-size: 1.5rem;
}

.heroLeftButton a,
.heroRightButton a {
    color: #000;
    text-decoration: none;
}

/* ---------- FIRST CONTAINER ---------- */
.firstContainer {
    position: relative;
    margin-top: 120px;
    top: 10vh;
    width: 100%;
    height: 120vh;
    display: flex;
    flex-direction: column;
    z-index: 5;
    overflow: hidden;
    background: #F1EFEB;
    border-radius: 15px;
    transform: scaleX(.95);
    transform-origin: center;
    padding-inline: 2.5vw;
}

.firstContainerHeading {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    height: 10vh;
    padding-top: 2.5vw;
    font-size: 3rem
}

.firstContainerHeadingRight a {
    text-decoration: none;
}

.firstContainerMain {
    position: relative;
    top: 28vh;
    width: 100%;
    height: 100vh;
    display: flex;
    justify-content: center;
    gap: 4rem;
}

.firstContainerLeft {
    position: relative;
    top: -18vh;
    flex: 1 1 50%;
    max-width: 600px;
    display: flex;
    flex-direction: column;
    gap: 50px;
    will-change: transform;
    height: 300vh;
}

.firstContainerLeftCard {
    width: 100%;
    height: 70vh;
    background: transparent;
    position: relative;
    border-radius: 2rem;
    overflow: hidden;
}

.firstContainerLeftCard img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: brightness(0.7);
}

.cardTop {
    position: absolute;
    inset-inline: 0;
    bottom: 0;
    height: 40%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: rgba(255, 255, 255, .06);
    border-radius: 16px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, .2);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, .05);
    z-index: 3;
    padding-inline: 3%;
}

.cardTopLeft {
    width: 45%;
    font-size: 5rem;
    color: #EAE8E4;
    margin: 0;
    border-radius: 50px;
}

.cardTopRight {
    width: 45%;
    font-size: 2rem;
    color: #EAE8E4;
    margin: 0;
}

.firstContainerRight {
    flex: 1 1 50%;
    max-width: 600px;
    height: fit-content;
    display: flex;
    flex-direction: column;
}

.firstContainerRight h3 {
    font-size: 1.5rem;
    font-weight: 400;
    color: #111;
    position: relative;
}

.firstContainerRight h1 {
    position: relative;
    top: 20px;
    width: 100%;
    font-size: 5rem;
    font-weight: 400;
    color: #111;
    max-width: 100%;
}

.firstContainerRight p {
    position: relative;
    top: 0px;
    width: 100%;
    font-size: 1.5rem;
    font-weight: 400;
    color: #111;
    max-width: 100%;
}

.firstContainerRightButtons{
    position: relative;
    top: 30px;
    width: 100%;
    height: 5vh;
    display: flex;
    justify-content: start;
    align-items: center;
    gap: 25px;
}

.leftButton,
.rightButton {
    width: 150px;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #000;
    border-radius: 25px;
}

.leftButton a,
.rightButton a {
    color: #fff;
    text-decoration: none;
    font-size: 1.5rem;
}

/* ---------- SECOND SECTION ---------- */
.secondSection {
    position: relative;
    top: 10vh;
    width: 100%;
    height: 100vh;
    background: transparent;
    z-index: 11;
    display: flex;
    flex-direction: column;
    color: #fff;
}

.secondSectionMain {
    position: relative;
    top: 20vh;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: space-around;
    font-family: 'Vazirmatn';
}

.secondSectionLeft {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    font-size: 10rem;
}

.secondSectionRight {
    position: relative;
    top: 60vh;
    width: 40vw;
    height: 100%;
    font-size: 3.5rem;
    line-height: 1.6;
    text-align: right;
    overflow-wrap: break-word;
}

.secondSectionRight .word {
    opacity: 0;
    display: inline-block;
}

.secondSectionBottom {
    position: relative;
    top: 30vh;
    width: 100vw;
    height: 50vh;
    display: flex;
    justify-content: center;
    align-items: center;
}

.secondSectionBox {
    position: relative;
    width: 80vw;
    height: 37.5vh;
    background-color: transparent;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 25px;
    clip-path: inset(0 80vw 0 0);
}

.secondSectionBoxLeft {
    position: relative;
    width: 40vw;
    height: 100%;
    background-color: #1b1b1b;
    border-radius: 25px 0px 0px 25px;
}

.secondSectionBoxLeft h3 {
    position: relative;
    right: 2.5vw;
    font-size: 3rem;
}

.secondSectionBoxLeft p {
    position: relative;
    top: -7.5px;
    right: 2.5vw;
    width: 80%;
    font-size: 1.5rem;
}

.secondSectionBoxButtons {
    width: 40vw;
    height: 50px;
    display: flex;
    justify-content: start;
    align-items: center;
    gap: 25px;
}

.boxButtonsRight,
.boxButtonsLeft {
    position: relative;
    right: 2.5vw;
    width: 125px;
    height: 40px;
    background-color: #fff;
    border-radius: 25px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.boxButtonsRight a,
.boxButtonsLeft a {
    font-size: 1.75rem;
    text-decoration: none;
    color: #000;
}

.secondSectionBoxRight {
    position: relative;
    width: 40vw;
    height: 100%;
    border-radius: 0 25px 25px 0;
    overflow: hidden;
    background-color: #1b1b1b;
}

.secondSectionBoxRight img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: 0;
}

/* ======================= DESKTOP (GSAP images only) ======================= */
.featured {
    position: relative;
    top: 85vh;
    width: 100%;
    height: 100vh;
    overflow: hidden;
    background: #fff;
    display: block;
}

.featured h2 {
    display: grid;
    position: absolute;
    top: 10vh;
    inset: 0 auto auto 0;
    height: var(--headerH);
    width: 100%;
    place-items: center;
    padding: 0 var(--pagePad);
    text-align: center;
    font-size: clamp(22px, 4vw, 40px);
    font-weight: 800;
    letter-spacing: .2px;
    background: #fff;
    z-index: 1000;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0);
    filter: opacity(1);
}

.featured .content {
    position: absolute;
    inset: 0;
    padding: calc(var(--headerH) + var(--gap)) var(--pagePad) var(--pagePad);
    display: grid;
    grid-template-columns: var(--textCol) var(--imgCol);
    gap: var(--gap);
    height: 100%;
}

/* Left side — TEXT controlled by CSS only */
.left {
    position: relative;
    height: 100%;
    display: grid;
    align-content: center
}

.text-stack {
    position: relative;
    top: 10vh;
    min-height: min(48vh, 560px)
}

.text-block {
    position: absolute;
    inset: 0;
    display: grid;
    align-content: start;
    gap: 14px;
    opacity: 0;
    transform: translateY(8px);
    transition: opacity .35s ease, transform .35s ease;
    pointer-events: none;
}

.text-block.is-active {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

.text-block h3 {
    margin: 0;
    font-size: clamp(18px, 2.6vw, 28px);
    color: #0f172a
}

.text-block p {
    margin: 0;
    font-size: clamp(14px, 1.4vw, 18px);
    line-height: 1.9;
    color: #475569
}

.step-index {
    display: inline-grid;
    place-items: center;
    width: 36px;
    height: 36px;
    border-radius: 999px;
    background: #0ea5e9;
    color: #fff;
    font-weight: 700;
    margin-bottom: 10px
}

/* Right side — stacked images */
.right {
    position: relative;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center
}

.stacked {
    position: relative;
    width: clamp(260px, 36vw, 520px);
    height: clamp(220px, 48vh, 520px);
    border-radius: var(--radius);
}

.section {
    position: absolute;
    inset: 0;
    overflow: hidden;
    border-radius: var(--radius);
    clip-path: inset(0% 0% 0% 0%);
    background: #fff;
}

.section:nth-child(1) { z-index: 7 }
.section:nth-child(2) { z-index: 6 }
.section:nth-child(3) { z-index: 5 }
.section:nth-child(4) { z-index: 4 }
.section:nth-child(5) { z-index: 3 }
.section:nth-child(6) { z-index: 2 }

.img-wrap {
    position: absolute;
    inset: 0;
    overflow: hidden;
    border-radius: var(--radius)
}

.img-wrap img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform-origin: center;
    transform: scale(1)
}

/* ======================= MOBILE (no GSAP) ======================= */
.featured-mobile {
    display: none;
    background: #fff;
    padding: 16px var(--pagePad) 28px;
    position: relative !important;
    z-index: 500 !important;
}

.featured-mobile h2 {
    height: auto;
    margin: 12px 0 8px;
    text-align: center;
    font-size: clamp(22px, 4vw, 40px);
    font-weight: 800;
}

.snap-wrap {
    direction: ltr;
    display: flex;
    flex-direction: row-reverse;
    gap: 14px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    padding: 8px 4px 16px;
    scroll-padding-inline: 4px;
    touch-action: pan-x;
    overscroll-behavior-inline: contain;
    -ms-overflow-style: none;
    scrollbar-width: none;
}

.snap-wrap::-webkit-scrollbar {
    display: none;
}

.snap-slide {
    flex: 0 0 86%;
    scroll-snap-align: center;
    scroll-snap-stop: always;
    border: 1px solid #e5e7eb;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 6px 18px rgba(0, 0, 0, .06);
    overflow: hidden;
    direction: rtl;
    text-align: right;
}

.snap-media {
    width: 100%;
    aspect-ratio: 5 / 3;
    background: #f1f5f9;
    overflow: hidden;
}

.snap-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    filter: brightness(0.8);
}

.snap-copy {
    padding: 14px 14px 16px;
}

.snap-copy .step-index {
    width: 32px;
    height: 32px;
    font-size: 14px;
    margin-bottom: 8px;
}

.snap-copy h3 {
    margin: 0 0 10px;
    font-size: 18px;
    color: #0f172a;
}

.snap-copy p {
    margin: 0;
    color: #475569;
    font-size: 14px;
    line-height: 1.9;
}

.dots {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 10px;
}

.dot {
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: #cbd5e1;
    transition: transform .2s ease, background .2s ease;
}

.dot.is-active {
    background: #0ea5e9;
    transform: scale(1.4);
}

.featured-mobile .snap-wrap,
.featured-mobile .snap-slide,
.featured-mobile .dots {
    position: relative;
    z-index: 5001;
}

/* ---------- THIRD SECTION ---------- */
.thirdSection {
    position: relative;
    top: 0vh;
    width: 100%;
    height: 75vh;
    background: #F1EFEB;
    display: flex;
    flex-direction: column;
}

.thirdSectionHeading {
    width: 100%;
    height: 10vh;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 2.5vw;
}

.thirdSectionHeadingLeft {
    position: relative;
    right: 2.5vw;
    font-size: 4rem;
    font-weight: 300;
    color: #111;
}

.thirdSectionHeadingRight {
    position: relative;
    left: 2.5vw;
    width: 200px;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #fff;
    color: #000;
    font-size: 2rem;
    border-radius: 40px;
    z-index: 100;
}

.thirdSectionHeadingRight a {
    text-decoration: none;
    color: #000;
}

.BlogContainer {
    position: relative;
    top: 0vw;
    width: 100%;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 5vw;
}

.blog {
    position: relative;
    width: 25vw;
    height: 20vh;
    background: #eb0404;
    border-radius: 15px;
    overflow: hidden;
}

.blog img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 15px;
}

/* ---------- FLAGS ---------- */
.flags {
    position: relative;
    bottom: -10vh;
    width: 100%;
    height: 15vh;
    display: flex;
    justify-content: center;
    align-items: center;
}

.flag {
    width: 25vw;
    height: 30vh;
    filter: opacity(0);
    transition: .3s;
}

.flag img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* ---------- FOURTH SECTION ---------- */
.fourthSection {
    position: relative;
    top: 0vh;
    width: 100%;
    height: 150vh;
    background: #EAE8E4;
    display: flex;
    flex-direction: column;
    z-index: 10;
}

.fourthSectionHeading {
    width: 100%;
    height: 10vh;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 2.5vw;
}

.fourthSectionHeadingRight {
    position: absolute;
    left: 0vw;
    top: 10vh;
    width: 40vw;
    font-size: 2.5rem;
}

.fourthSectionHeadingLeft {
    position: absolute;
    right: 2.5vw;
    top: 10vh;
    width: 40vw;
    font-size: 2.5rem;
}

.itemScatter {
    position: absolute;
    border-radius: 15px;
}

.itemScatter img {
    position: relative;
    top: -20%;
    left: 0;
    width: 100%;
    height: 120%;
    object-fit: cover;
    border-radius: 15px;
}

.itemScatter:nth-of-type(1) {
    top: 35vh;
    left: 2.5vw;
    width: 30vw;
    height: 50vh;
    clip-path: inset(0 0 0 30vw);
    will-change: clip-path;
    border-radius: 25px;
    overflow: hidden;
}

.itemScatter:nth-of-type(2) {
    top: 35vh;
    left: 35vw;
    width: 30vw;
    height: 50vh;
    clip-path: inset(50vh 0 0 0);
    will-change: clip-path;
    border-radius: 25px;
    overflow: hidden;
}

.itemScatter:nth-of-type(3) {
    top: 35vh;
    left: 67.5vw;
    width: 30vw;
    height: 50vh;
    clip-path: inset(0 30vw 0 0);
    will-change: clip-path;
    border-radius: 25px;
    overflow: hidden;
}

.itemScatter:nth-of-type(4) {
    top: 90vh;
    left: 2.5vw;
    width: 46.25vw;
    height: 50vh;
    clip-path: inset(0 46.25vw 0 0);
    will-change: clip-path;
    border-radius: 25px;
    overflow: hidden;
}

.itemScatter:nth-of-type(5) {
    top: 90vh;
    left: 51.25vw;
    width: 46.25vw;
    height: 50vh;
    clip-path: inset(0 0 0 46.25vw);
    will-change: clip-path;
    border-radius: 25px;
    overflow: hidden;
}

.fourthSectionEnding {
    position: relative;
    top: 180vh;
    left: 1vw;
    width: 98vw;
    height: 80vh;
    background: red;
    border-radius: 15px;
    clip-path: inset(0% 25% 0% 25%);
    transform-origin: center;
    z-index: 20;
}

.fourthSectionEndingTop {
    position: relative;
    top: 5vh;
    width: 100%;
    height: 75%;
    display: flex;
    justify-content: space-between;
}

.fourthSectionEndingTopRight {
    position: relative;
    top: 7.5vw;
    Right: 10vw;
    width: 20%;
    font-size: 4rem;
    font-weight: 300;
    color: #1e2334;
}

.fourthSectionEndingBot {
    position: relative;
    top: 0;
    width: 100%;
    height: fit-content;
    display: flex;
    justify-content: center;
    align-items: center;
}

.contactUsButton {
    width: 150px;
    height: 50px;
    font-size: 2rem;
    color: #1e2334;
    background: #fff;
    border-radius: 15px;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* ---------- FOOTER ---------- */
footer {
    position: relative;
    top: 0;
    width: 100%;
    height: 90vh;
    background: #1b1b1b;
    z-index: 5;
    display: flex;
    flex-direction: column;
}

.footerTop {
    position: relative;
    top: 0;
    width: 100%;
    height: 80vh;
    display: flex;
}

.footerTopLeft {
    width: 25vw;
    height: 55vh;
    z-index: 20;
}

.footerTopLeftList {
    position: relative;
    top: 40vh;
    list-style: none;
    display: flex;
    flex-direction: column;
    color: #fff;
    font-size: 1.5rem;
    gap: 10px;
}

.footerTopMid {
    position: relative;
    top: -35vh;
    width: 50vw;
    height: 55vh;
}

.footerTopRight {
    width: 25vw;
    height: 55vh;
}

.footerBox {
    position: relative;
    right: -2vw;
    top: 40vh;
    width: 300px;
    height: 200px;
    background: #fff;
    font-size: 2rem;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    border-radius: 15px;
}

.footerTopMid img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.footerBot {
    width: 100%;
    height: 10vh;
    display: flex;
}

.footerBotLeft {
    width: 25vw;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    font-size: 1.5rem;
}

.footerBotMid {
    width: 50vw;
    display: flex;
    justify-content: center;
    align-items: start;
    gap: 30px;
}

.WA,
.IG {
    width: 50px;
    height: 50px;
}

.WA img,
.IG img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: invert(1);
}

.footerBotRight {
    width: 25vw;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    font-size: 1.5rem;
}

.extend {
    height: 0vh;
}

/* Lenis helpers */
html.lenis,
html.lenis body {
    height: auto;
}

.footerMobile {
    display: none;
}

.lenis.lenis-smooth [data-lenis-prevent] {
    overscroll-behavior: contain;
}

.lenis.lenis-stopped {
    overflow: clip;
}

.lenis.lenis-smooth iframe {
    pointer-events: none;
}

/* ---------- MOBILE ---------- */
@media (max-width: 768px) {
    html {
        font-size: 50%;
    }
    .loading {
        height: 100dvh;
    }
    .loading-logo {
        width: 75vw;
    }
    .loading-slogan {
        font-size: 2.5rem;
    }
    .menuPage {
        top: 12.5vh;
        width: 50vw;
        height: 70vh;
        clip-path: inset(0vh 0vw 0vh 50vw round 2rem 0rem 0rem 0rem);
    }
    .menuMainRight {
        top: 0vh;
        right: 0vw;
        width: 50vw;
        height: 70vh;
        border-radius: 0px;
    }
    .menuItems {
        font-size: 3rem;
    }
    .menuItems a {
        color: #fff;
    }
    .menuItems li:nth-of-type(5),
    .menuItems li:nth-of-type(6) {
        font-size: 2rem;
    }
    .headerLogo {
        width: 150px;
        height: 40px;
    }
    .heroSection {
        flex-direction: column;
        height: auto;
    }
    .secondBg img {
        height: 110%;
    }
    .heroTitle {
        top: 5vh;
        padding-inline: 0;
        justify-content: center;
        align-items: center;
    }
    .heroTitle h1 {
        font-size: 8rem;
        top: 20vh;
    }
    .heroTitle h2 {
        top: 10vh;
        font-size: 1.8rem;
        text-align: center;
    }
    .heroItems {
        justify-content: center;
        align-items: center;
        padding: 0 !important;
        top: 32.5vh;
        left: 0vw;
        width: 100vw;
    }
    .heroItemsLeft,
    .heroItemsRight {
        width: 45vw;
        height: 15vh;
    }
    .heroItemsLeft h1,
    .heroItemsRight h1 {
        top: auto;
        bottom: 1rem;
        left: 1rem;
        font-size: 1.6rem;
    }
    .heroButtons {
        position: relative;
        top: 125px;
        width: 100vw;
        height: 5vh;
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 50px;
    }
    .firstContainer {
        pointer-events: none;
        top: 35vh;
        height: 200vh;
        transform: scaleX(1);
        padding-inline: 5vw;
    }
    .firstContainerHeading {
        display: flex;
        flex-direction: column;
        align-items: center;
        padding-top: 20px;
        gap: 16px;
    }
    .firstContainerHeadingLeft {
        font-size: 26px;
        font-weight: 500;
        text-align: center;
    }
    .firstContainerHeadingRight {
        z-index: 1000;
        display: inline-block;
        padding: 10px 24px;
        font-size: 16px;
        font-weight: 500;
        background-color: #ffffff;
        color: #000000;
        text-decoration: none;
        border-radius: 40px;
        text-align: center;
        box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
        transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
    }
    .firstContainerHeadingRight:hover {
        transform: translateY(-2px);
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
    }
    .firstContainerMain {
        z-index: 100;
        flex-direction: column;
        top: 120px;
        height: auto;
        gap: 20vh;
    }
    .firstContainerLeft {
        top: 0;
        width: 100%;
        gap: 5vh;
        max-width: 100%;
    }
    .firstContainerLeftCard {
        height: 40vh;
        width: 90vw;
    }
    .firstContainerLeftCard img {
        border-radius: 2rem !important;
    }
    .cardTopLeft {
        font-size: 2.5rem;
    }
    .cardTopRight {
        font-size: 1.2rem;
    }
    .firstContainerRight {
        width: 90vw;
        margin-top: 2rem;
        max-width: 100%;
    }
    .firstContainerRight h1 {
        font-size: 2.5rem;
    }
    .firstContainerRight p {
        font-size: 1.2rem;
    }
    .secondSection {
        top: 35vh;
        pointer-events: none;
    }
    .secondSectionMain {
        flex-direction: column;
        justify-content: center;
        align-items: center;
        top: 10vh;
    }
    .secondSectionLeft {
        font-size: 6rem;
    }
    .secondSectionRight {
        top: 10vh;
        width: 90vw;
        font-size: 2rem;
        text-align: center;
    }
    .featured {
        display: none
    }
    .featured-mobile {
        display: block;
        position: relative;
        top: 30vh;
        pointer-events:auto !important;
    }
    


    .thirdSection {
        top: 25vh;
        height: 105vh !important;
    }
    .thirdSectionHeading {
        position: relative;
        top: 10vh;
        flex-direction: column;
        align-items: center;
    }
    .thirdSectionHeadingLeft {
        top: -2.5vh;
        justify-content: center;
        align-items: center;
    }
    .thirdSectionHeadingRight {
        position: relative;
        left: 0vw;
        top: -1.5vh;
        width: 100px;
        height: 50px;
    }
    .BlogContainer {
        top: 2.5vh;
        height: 100vh !important;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 5vh;
    }
    .blog {
        width: 75vw;
        height: 20vh;
        overflow: hidden;
    }
    .blog:nth-of-type(1),
    .blog:nth-of-type(2),
    .blog:nth-of-type(3) {
        height: 20vh !important;
    }
    .blog:nth-of-type(1)::after,
    .blog:nth-of-type(2)::after,
    .blog:nth-of-type(3)::after {
        top: 50vh;
        width: 100%;
        height: 10vh;
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: 3rem;
    }
    .secondBg .filler {
        font-size: 7.5rem;
    }
    .fourthSection {
        pointer-events: none;
        position: relative;
        top: 25vh;
        height: 125vh;
    }
    .fourthSectionHeading {
        flex-direction: column;
        align-items: center;
    }
    .fourthSectionHeadingLeft {
        text-align: center;
        top: 2.5vh;
        right: 30vw;
    }
    .fourthSectionHeadingRight {
        top: 10vh;
        left: 5vw;
        width: 90vw;
        font-size: 2rem;
        text-align: center;
    }
    .itemScatter img {
        top: 0;
        height: 120%;
    }
    .itemScatter:nth-of-type(1) {
        top: 25vh;
        right: 10vw;
        width: 80vw;
        height: 20vh;
        clip-path: inset(80vh 0 0 0 round 2rem);
        overflow: hidden;
    }
    .itemScatter:nth-of-type(2) {
        top: 47.5vh;
        right: 10vw;
        width: 80vw;
        height: 20vh;
        clip-path: inset(80vh 0 0 0 round 2rem);
        overflow: hidden;
    }
    .itemScatter:nth-of-type(3) {
        top: 70vh;
        left: 10vw;
        width: 80vw;
        height: 20vh;
        clip-path: inset(80vh 0 0 0 round 2rem);
        overflow: hidden;
    }
    .itemScatter:nth-of-type(4) {
        top: 92.5vh;
        right: 10vw;
        width: 37.5vw;
        height: 20vh;
        clip-path: inset(0 37.5vw 0 0 round 2rem);
        overflow: hidden;
    }
    .itemScatter:nth-of-type(5) {
        top: 92.5vh;
        left: 10vw;
        width: 37.5vw;
        height: 20vh;
        clip-path: inset(0 0 0 37.5vw round 2rem);
        overflow: hidden;
    }
    .fourthSectionEnding {
        top: 210vh;
        left: 1vw;
        width: 98vw;
        height: 60vh;
        clip-path: inset(0% 25% 0% 25% round 2rem);
    }
    .fourthSectionEndingTop {
        padding-left: 0 !important;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 50px;
    }
    .fourthSectionEndingTopLeft {
        padding: 0 !important;
        position: relative;
        left: -2vw;
        font-size: 3rem;
        width: 100vw;
        justify-content: center;
        align-items: center;
        color: #fff;
    }
}
