@import url("menu.css");
@import url("animation.css");

/* =========================================================
   1. ROOT / VARIABLES
   ========================================================= */
:root {
    /* Fonts */
    --font-primary: "Bricolage Grotesque", sans-serif;
    --font-secondary: "Open Sans", sans-serif;
    --body-font-size: 16px;
    --fs-1: clamp(40px, 3vw, 62px);
    --fs-2: clamp(34px, 2.8vw, 52px);
    --fs-3: clamp(28px, 2.5vw, 44px);
    --fs-4: clamp(20px, 1.5vw, 28px);
    --fs-5: clamp(15px, 1.2vw, 18px);
    --color-primary: #000000;
    --color-secondary: #ffffff;
    --color-text: #222222;
    --color-muted: #666666;
    --color-border: #e5e5e5;
    --container-width: 1320px;
    --space-xs: 8px;
    --space-sm: 16px;
    --space-md: 24px;
    --space-lg: 40px;
    --space-xl: 64px;
    --space-xxl: 96px;
}
body {
    margin: 0;
    padding: 0;
    font-family: var(--font-secondary);
    font-size: var(--body-font-size);
    line-height: 1.4;
    color: var(--color-primary) !important;
}
/* Native scrollbar completely hide */
html,
body {
    scrollbar-width: none;
}

    html::-webkit-scrollbar,
    body::-webkit-scrollbar {
        display: none;
    }

/* Apple style overlay scrollbar */
.custom-scrollbar {
    position: fixed;
    top: 0;
    right: 3px;
    width: 5px;
    height: 100vh;
    z-index: 99999;
    pointer-events: none;
}

.custom-scrollbar-thumb {
    position: absolute;
    top: 0;
    right: 0;
    width: 5px;
    min-height: 40px;
    border-radius: 10px;
    background: rgba(218, 37, 28, 0.35);
    opacity: 0;
    transition: opacity 0.2s ease;
}

.custom-scrollbar.show .custom-scrollbar-thumb {
    opacity: 1;
}
 
/* =========================
   PADDING
========================= */

/* All */
.p-10 { padding: 10px; }
.p-20 { padding: 20px; }
.p-30 { padding: 30px; }
.p-40 { padding: 40px; }
.p-50 { padding: 50px; }
.p-60 { padding: 60px; }
.p-70 { padding: 70px; }
.p-80 { padding: 80px; }
.p-90 { padding: 90px; }
.p-100 { padding: 100px; }

/* Top */
.pt-10 { padding-top: 10px; }
.pt-135Per { padding-top: 13.5%; }
.pt-20 { padding-top: 20px; }
.pt-30 { padding-top: 30px; }
.pt-40 { padding-top: 40px; }
.pt-40Per { padding-top: 40%; }
.pt-50 { padding-top: 50px; }
.pt-60 { padding-top: 60px; }
.pt-70 { padding-top: 70px; }
.pt-80 { padding-top: 80px; }
.pt-90 { padding-top: 90px; }
.pt-100 { padding-top: 100px; }

/* Bottom */
.pb-10 { padding-bottom: 10px; }
.pb-20 { padding-bottom: 20px; }
.pb-30 { padding-bottom: 30px; }
.pb-40 { padding-bottom: 40px; }
.pb-50 { padding-bottom: 50px; }
.pb-60 { padding-bottom: 60px; }
.pb-70 { padding-bottom: 70px; }
.pb-80 { padding-bottom: 80px; }
.pb-90 { padding-bottom: 90px; }
.pb-100 { padding-bottom: 100px; }

/* Left */
.ps-10 { padding-left: 10px; }
.ps-20 { padding-left: 20px; }
.ps-30 { padding-left: 30px; }
.ps-40 { padding-left: 40px; }
.ps-50 { padding-left: 50px; }
.ps-60 { padding-left: 60px; }
.ps-70 { padding-left: 70px; }
.ps-80 { padding-left: 80px; }
.ps-90 { padding-left: 90px; }
.ps-100 { padding-left: 100px; }

/* Right */
.pe-10 { padding-right: 10px; }
.pe-20 { padding-right: 20px; }
.pe-30 { padding-right: 30px; }
.pe-40 { padding-right: 40px; }
.pe-50 { padding-right: 50px; }
.pe-60 { padding-right: 60px; }
.pe-70 { padding-right: 70px; }
.pe-80 { padding-right: 80px; }
.pe-90 { padding-right: 90px; }
.pe-100 { padding-right: 100px; }

/* X */
.px-10 { padding-left: 10px; padding-right: 10px; }
.px-20 { padding-left: 20px; padding-right: 20px; }
.px-30 { padding-left: 30px; padding-right: 30px; }
.px-40 { padding-left: 40px; padding-right: 40px; }
.px-50 { padding-left: 50px; padding-right: 50px; }
.px-60 { padding-left: 60px; padding-right: 60px; }
.px-70 { padding-left: 70px; padding-right: 70px; }
.px-80 { padding-left: 80px; padding-right: 80px; }
.px-90 { padding-left: 90px; padding-right: 90px; }
.px-100 { padding-left: 100px; padding-right: 100px; }

/* Y */
.py-10 { padding-top: 10px; padding-bottom: 10px; }
.py-20 { padding-top: 20px; padding-bottom: 20px; }
.py-30 { padding-top: 30px; padding-bottom: 30px; }
.py-40 { padding-top: 40px; padding-bottom: 40px; }
.py-50 { padding-top: 50px; padding-bottom: 50px; }
.py-60 { padding-top: 60px; padding-bottom: 60px; }
.py-70 { padding-top: 70px; padding-bottom: 70px; }
.py-80 { padding-top: 80px; padding-bottom: 80px; }
.py-90 { padding-top: 90px; padding-bottom: 90px; }
.py-100 { padding-top: 100px; padding-bottom: 100px; }


/* =========================
   MARGIN
========================= */

/* All */
.m-10 { margin: 10px; }
.m-20 { margin: 20px; }
.m-30 { margin: 30px; }
.m-40 { margin: 40px; }
.m-50 { margin: 50px; }
.m-60 { margin: 60px; }
.m-70 { margin: 70px; }
.m-80 { margin: 80px; }
.m-90 { margin: 90px; }
.m-100 { margin: 100px; }

/* Top */
.mt--8 {margin-top: -8px;width:98%}
.mt--20 { margin-top: -20px; }
.mt--40 { margin-top: -40px; }
.mt--60 { margin-top: -60px; }
.mt--10 {margin-top: -10px;}
.mt--100 { margin-top: -100px; }
.mt--10Per { margin-top: -10%; }
.mt-0 { margin-top: 0px !important; }
.mt-10 { margin-top: 10px; }
.mt-20 { margin-top: 20px; }
.mt-30 { margin-top: 30px; }
.mt-40 { margin-top: 40px; }
.mt-50 { margin-top: 50px; }
.mt-60 { margin-top: 60px; }
.mt-70 { margin-top: 70px; }
.mt-80 { margin-top: 80px; }
.mt-90 { margin-top: 90px; }
.mt-100 { margin-top: 100px; }

/* Bottom */
.mb--40 { margin-bottom: -40px; }
.mb-10 { margin-bottom: 10px; }
.mb-20 { margin-bottom: 20px; }
.mb-30 { margin-bottom: 30px; }
.mb-40 { margin-bottom: 40px; }
.mb-50 { margin-bottom: 50px; }
.mb-60 { margin-bottom: 60px; }
.mb-70 { margin-bottom: 70px; }
.mb-80 { margin-bottom: 80px; }
.mb-90 { margin-bottom: 90px; }
.mb-100 { margin-bottom: 100px; }

/* Left */
.ms--10 { margin-left: -10px; }

.ms-10 { margin-left: 10px; }
.ms-20 { margin-left: 20px; }
.ms-30 { margin-left: 30px; }
.ms-40 { margin-left: 40px; }
.ms-50 { margin-left: 50px; }
.ms-60 { margin-left: 60px; }
.ms-70 { margin-left: 70px; }
.ms-80 { margin-left: 80px; }
.ms-90 { margin-left: 90px; }
.ms-100 { margin-left: 100px; }

/* Right */
.me-10 { margin-right: 10px; }
.me-20 { margin-right: 20px; }
.me-30 { margin-right: 30px; }
.me-40 { margin-right: 40px; }
.me-50 { margin-right: 50px; }
.me-60 { margin-right: 60px; }
.me-70 { margin-right: 70px; }
.me-80 { margin-right: 80px; }
.me-90 { margin-right: 90px; }
.me-100 { margin-right: 100px; }

/* X */
.mx-10 { margin-left: 10px; margin-right: 10px; }
.mx-20 { margin-left: 20px; margin-right: 20px; }
.mx-30 { margin-left: 30px; margin-right: 30px; }
.mx-40 { margin-left: 40px; margin-right: 40px; }
.mx-50 { margin-left: 50px; margin-right: 50px; }
.mx-60 { margin-left: 60px; margin-right: 60px; }
.mx-70 { margin-left: 70px; margin-right: 70px; }
.mx-80 { margin-left: 80px; margin-right: 80px; }
.mx-90 { margin-left: 90px; margin-right: 90px; }
.mx-100 { margin-left: 100px; margin-right: 100px; }

/* Y */
.my-10 { margin-top: 10px; margin-bottom: 10px; }
.my-20 { margin-top: 20px; margin-bottom: 20px; }
.my-30 { margin-top: 30px; margin-bottom: 30px; }
.my-40 { margin-top: 40px; margin-bottom: 40px; }
.my-50 { margin-top: 50px; margin-bottom: 50px; }
.my-60 { margin-top: 60px; margin-bottom: 60px; }
.my-70 { margin-top: 70px; margin-bottom: 70px; }
.my-80 { margin-top: 80px; margin-bottom: 80px; }
.my-90 { margin-top: 90px; margin-bottom: 90px; }
.my-100 { margin-top: 100px; margin-bottom: 100px; }

/* Width */
.w-10 { width: 10%; }
.w-20 { width: 20%; }
.w-30 { width: 30%; }
.w-40 { width: 40%; }
.w-50 { width: 50%; }
.w-60 { width: 60%; }
.w-70 { width: 70%; }
.w-80 { width: 80%; }
.w-90 { width: 90%; }
.w-100 { width: 100%; }
.w-18px { width: 18px; }
.w-28px { width: 28px;}
.w-250px {width: 250px;}

/*Border*/
.border-bottom-1px
{
    border-bottom:1px solid #000;
}
.border-grey {
    border-color: #bfbfbf !important;
}
.bgGrey {
    background: #cccccc;
}

.bgLightGrey {
    background: #dedede;
}
.fs-1 {
    font-size: var(--fs-1) !important;
}

.fs-2 {
    font-size: var(--fs-2) !important;
}

.fs-3 {
    font-size: var(--fs-3) !important;
}

.fs-4 {
    font-size: var(--fs-4) !important;
}

.fs-5 {
    font-size: var(--fs-5) !important;
}
.font14px{
    font-size:14px !important;
}
.small-title {
    font-size: 14px;
    color: #8a9198;
}

.bgsection {
    padding-top: 60px;
}

/*hover*/
.mover {
    position: relative;
}
    .mover img {
        width: 100%;
        transform: scale(1);
        transition: transform 0.8s ease;
        transform-origin: center center;
    }
    .mover:hover img {
        transform: scale(1.08);
    }


    /* =========================================================
   COMMON CARD
   ========================================================= */
/* =========================================
   1. MAIN CARD & DIRECTION AWARE BACKGROUND
   ========================================= */
.card-direction-hover {
    position: relative;
    overflow: hidden;
    z-index: 1;
    cursor: pointer;
    /* Hover background color */
    --bg-color: #b02c2e;
    border-bottom: 0px !important;
    border-color: #a4a4a4 !important;
}

    /* Background layer jo mouse ki position par wait karegi */
    .card-direction-hover::before {
        content: "";
        position: absolute;
        /* JS se aane wale coordinates yahan use ho rahe hain */
        top: var(--mouse-y, 50%);
        left: var(--mouse-x, 50%);
        width: 0;
        height: 0;
        background-color: var(--bg-color);
        border-radius: 50%;
        transform: translate(-50%, -50%);
        transition: width 0.6s cubic-bezier(0.25, 1, 0.5, 1), height 0.6s cubic-bezier(0.25, 1, 0.5, 1);
        z-index: -1;
    }

    /* Hover par background expand hoga */
    .card-direction-hover:hover::before {
        width: 1500px; /* Itna bada ki pura card cover ho jaye */
        height: 1500px;
    }

    /* =========================================
   2. TEXT & IMAGE TRANSITIONS
   ========================================= */
    .card-direction-hover * {
        transition: color 0.4s ease;
    }

    .card-direction-hover:hover h3,
    .card-direction-hover:hover p,
    .card-direction-hover:hover .small-title {
        color: #ffffff !important;
    }

    .card-direction-hover .img-fluid {
        transition: transform 0.6s ease;
    }

    .card-direction-hover:hover .img-fluid {
        transform: scale(1.1); /* Halka sa zoom */
    }

/* =========================================
   3. TUMHARA FLY ARROW (WHITE ON HOVER)
   ========================================= */


 
.arrow-fly .arrow-container {
    position: relative;
    width: 45px;
    height: 45px;
    overflow: hidden;
}


.right-arrow {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 45px;
    height: 45px;
}

.arrow-container {
    position: relative;
    width: 24px;
    height: 24px;
    overflow: hidden;
}

.arrow, .arrow-clone {
    position: absolute;
    width: 100%;
    height: 100%;
    stroke: #e31818;
    stroke-width: 1.5;
    stroke-linecap: round;
    stroke-linejoin: round;
    fill: none;
    transition: transform 0.5s cubic-bezier(0.65, 0, 0.35, 1), stroke 0.4s ease;
}

.arrow-clone {
    transform: translate(-100%, 100%);
}

.card-direction-hover:hover .arrow {
    transform: translate(100%, -100%);
    stroke: #ffffff; /* Bg aane par white */
}

.card-direction-hover:hover .arrow-clone {
    transform: translate(0, 0);
    stroke: #ffffff; /* Bg aane par white */
}

.bg-card-1 {
    --bg-color: #ec6646;
}

.bg-card-2 {
    --bg-color: #b02c30;
}

.bg-card-3 {
    --bg-color: #9b4685;
}

.bg-card-4 {
    --bg-color: #408559;
}

.bg-card-5 {
    --bg-color: #d95483;
}

.bg-card-6 {
    --bg-color: #158fbe;
}

.bg-card-7 {
    --bg-color: #769898;
}

.bg-card-8 {
    --bg-color: #c07c68;
}


.bg-card-9 {
    --bg-color: #bac7e9;
}

.bg-card-10 {
    --bg-color: #f0bfab;
}

.bg-card-11 {
    --bg-color: #93e4f8;
}



/* =========================================================
Button
   ========================================================= */
.big-btn {
    position: absolute;
    left: 50%;
    top: 80%;
    transform: translate(-50%, -50%);
    height: 70px;
    background: rgba(0, 0, 0, 0.9);
    width: 20%;
    color: #fff;
    align-content: center;
    text-align: center;
    border-radius: 20px;
    font-size: 1.2rem;
    border: 2px solid #da251c;
    font-family:var(--font-primary);
    transition: background 0.4s ease, transform 0.4s ease, box-shadow 0.4s ease;
}

.card-direction-hover:hover .big-btn {
    background: rgba(218, 37, 28, 1);
    transform: translate(-50%, -50%) scale(1.03);
    box-shadow: 0 8px 25px rgba(218, 37, 28, 0.25);
}
a {
    text-decoration: none;
    color: #212529;
}
/* =========================================================
   IMAGE HOVER
   ========================================================= */
.top-arrow {
    position: absolute;
    top: 20px;
    left: 22px;
    width: 16px;
}
    .img-card {
        position: relative;
        overflow: hidden;
        display: inline-block;
        margin-bottom: -14px;
    }


        .img-card img {
            transition: all 0.45s ease;
            display: block;
        }


    .main-img {
        position: relative;
        z-index: 2;
    }


    .hover-img {
        position: absolute;
        inset: 0;
        opacity: 0;
        transform: scale(1);
        z-index: 3;
    }


    .img-card:hover .hover-img {
        opacity: 1;
        transform: scale(1);
    }


    .img-card:hover .main-img {
        opacity: 0;
        transform: scale(0.98);
    }
    /* =========================================================
   IMAGE SWAP
   ========================================================= */

    .img-swap {
        position: relative;
        overflow: hidden;
        cursor: pointer;
    }


        .img-swap img {
            display: block;
            width: 100%;
        }


    .img-default {
        position: relative;
        z-index: 1;
    }


    .img-hover {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        clip-path: inset(100% -1px -1px -1px);
        transition: clip-path 0.45s ease;
        z-index: 2;
    }


    .img-swap:hover .img-hover {
        clip-path: inset(-1px -1px -1px -1px);
    }
    /* =========================================================
   SCROLL PROGRESS
   ========================================================= */

    .scroll-progress {
        position: fixed;
        right: 20px;
        bottom: 30px;
        width: 60px;
        height: 60px;
        cursor: pointer;
        z-index: 9999;
        opacity: 0;
        visibility: hidden;
        transition: 0.35s;
    }


        .scroll-progress.show {
            opacity: 1;
            visibility: visible;
        }


        .scroll-progress svg {
            width: 60px;
            height: 60px;
            transform: rotate(-90deg);
        }


    .progress-bg {
        fill: none;
        stroke: #d9d9d9;
        stroke-width: 4;
    }


    .progress-bar {
        fill: none;
        stroke: #636363;
        stroke-width: 4;
        stroke-linecap: round;
        stroke-dasharray: 163.36;
        stroke-dashoffset: 163.36;
        transition: 0.15s linear;
    }
    /* =========================================================
   2. RESET / BASE
   ========================================================= */

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

    html {
        scroll-behavior: smooth;
    }

  
    img {
        width: 100%;
        max-width: 100%;
    }

    a {
        text-decoration: none;
        color: inherit;
    }

    button,
    input,
    textarea,
    select {
        font: inherit;
    }
    /* =========================================================
   3. COMMON CONTAINER
   ========================================================= */

    .container-custom {
        width: 100%;
        max-width: var(--container-width);
        margin-inline: auto;
        padding-inline: 20px;
    }
    /* =========================================================
   4. COMMON TYPOGRAPHY
   ========================================================= */

    .font-primary {
        font-family: var(--font-primary);
    }

    .font-secondary {
        font-family: var(--font-secondary);
    }
    /* =========================================================
   5. COMMON UTILITIES
   ========================================================= */

    .text-center {
        text-align: center;
    }
    /* =========================================================
   6. RESPONSIVE
   ========================================================= */

    @media (max-width: 991.98px) {

        :root {
            --space-xl: 48px;
            --space-xxl: 72px;
        }
    }

    @media (max-width: 767.98px) {

        .container-custom {
            padding-inline: 16px;
        }

        :root {
            --space-lg: 32px;
            --space-xl: 40px;
            --space-xxl: 56px;
        }
    }

    