:root {
    --primary-blue: #0F5AF2;
    --accent-blue: #0F5AF2;
    --bg-dark: #121212;
    --header-bg: #FFFFFF;
    --mega-bg: #FFFFFF;
    --text-dark: #1a1a1a;
    --text-muted: #666;
    --font-family: 'Manrope', sans-serif;
}
@font-face {
    font-family: 'MosvitaBlackExp';
    src: url('../fonts/Mosvita-BlackExpanded.eot'); /* IE9 Compat Modes */
    src: url('../fonts/Mosvita-BlackExpanded.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
         url('../fonts/Mosvita-BlackExpanded.woff') format('woff'), /* Modern Browsers */
         url('../fonts/Mosvita-BlackExpanded.woff2') format('woff2'), /* Modern Browsers */
         url('../fonts/Mosvita-BlackExpanded.ttf') format('truetype'); /* Safari, Android, iOS */
             font-style: normal;
    font-weight: normal;
    text-rendering: optimizeLegibility;
}
.branding-hero #fluid {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 0;
}

.hasnify-footer #footer-fluid {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 0;
}

.project-cursor-follower {
  position: fixed;
  width: 120px;
  height: 120px;
  border-radius: 50%;
  background: rgb(255 255 255 / 69%);
  backdrop-filter: blur(7px);
  -webkit-backdrop-filter: blur(7px);
  border: 1px solid rgba(0, 0, 0, 0.08);
  color: #111;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  z-index: 10000;
  transform: translate(-50%, -50%) scale(0.8);
  opacity: 0;
  transition: opacity 0.3s ease, transform 0.3s ease;
  text-align: center;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.10);
}

.project-cursor-follower.active {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
}

.project-cursor-follower span {
  font-size: 18px;
  font-weight: 700;
  font-family: var(--font-family);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}

body {
    /* background-color: var(--bg-dark); */
    color: white;
    font-family: var(--font-family);
    margin: 0;
    overflow-x: hidden;
}

/* Navbar Wrapper */
.navbar-wrapper {
    position: fixed;
    top: 20px;
    left: 50%;
    transform: translateX(-50%);
    width: auto;
    min-width: 817px;
    z-index: 1000;
    transition: width 0.3s ease;
}
.logo img {
    width: 100%;
}
.header-container {
    border-radius: 8px;
    border: 1px solid rgba(0, 0, 0, 0.06);
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 8px 0 24px;
    height: 60px;
    gap: 24px;
    background: rgb(255 255 255 / 69%);
    backdrop-filter: blur(7px);
    -webkit-backdrop-filter: blur(7px);
}

/* Logo */
.logo {
    display: flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
    flex-shrink: 0;
    width: 112px;
    height: 24px;
}

.logo-icon {
    display: inline-block;
    width: 13px;
    height: 13px;
    background: var(--primary-blue);
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 13 13'%3E%3Crect x='0' y='0' width='4' height='13' rx='1.5'/%3E%3Crect x='6' y='3' width='4' height='10' rx='1.5'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 13 13'%3E%3Crect x='0' y='0' width='4' height='13' rx='1.5'/%3E%3Crect x='6' y='3' width='4' height='10' rx='1.5'/%3E%3C/svg%3E");
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
}

.logo-text {
    font-family: var(--font-family);
    font-size: 1.15rem;
    font-weight: 700;
    color: #111;
    letter-spacing: -0.02em;
}

/* Nav Links */
.nav-links {
    display: flex;
    align-items: center;
    gap: 15px;
    flex: 1;
    justify-content: end;
    margin-right: 15px;
}

.nav-item {
    font-family: var(--font-family);
    font-size: 14px;
    font-weight: 700;
    color: #444;
    text-decoration: none;
    padding: 15px 14px;
    border-radius: 8px;
    transition: color 0.2s ease, background 0.2s ease;
    white-space: nowrap;
}

.nav-item:hover {
    color: #111;
    /* background: rgba(0, 0, 0, 0.04); */
}

/* Header right */
.header-right {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}

.btn-start {
    background: var(--primary-blue);
    color: #fff;
    font-family: var(--font-family);
    font-size: 14px;
    font-weight: 800;
    padding: 10px 30px;
    border-radius: 4px;
    text-decoration: none;
    transition: opacity 0.2s ease, transform 0.2s ease;
    white-space: nowrap;
    width: 163px;
    text-align: center;
    height: 40px;
}

.btn-start:hover {
    opacity: 0.88;
    transform: translateY(-1px);
    color: #fff;
}

/* Nav Toggle (hamburger) */
.nav-toggle {
    display: none;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 5px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 8px;
    border-radius: 8px;
    transition: background 0.2s;
    width: 40px;
    height: 40px;
}

.nav-toggle:hover {
    background: rgba(0,0,0,0.05);
}

.nav-toggle span {
    display: block;
    width: 22px;
    height: 2px;
    background: #333;
    border-radius: 2px;
    transition: transform 0.35s cubic-bezier(0.23, 1, 0.32, 1), opacity 0.25s ease, width 0.3s ease;
    transform-origin: center;
}

.nav-toggle.open span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
}

.nav-toggle.open span:nth-child(2) {
    opacity: 0;
    width: 0;
}

.nav-toggle.open span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
}

.mega-menu {
    position: absolute;
    top: calc(100% + 12px);
    left: 50%;
    border-radius: 8px;
    /* border: 1px solid rgba(0,0,0,0.07); */
    /* box-shadow: 0 20px 60px rgba(0,0,0,0.08); */
    padding: 28px 28px 10px;
    width: 817px;
    pointer-events: none;
    z-index: 999;
    background: rgb(255 255 255 / 69%);
    backdrop-filter: blur(7px);
    -webkit-backdrop-filter: blur(7px);
}
.mega-section a {
    text-decoration: none;
}
.mega-menu::before {
    content: '';
    position: absolute;
    top: -14px;
    left: 0;
    right: 0;
    height: 14px;
    background: transparent;
}


.mega-content {
    display: flex;
    gap: 32px;
}

.mega-left {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.mega-right {
    width: 336px;
    flex-shrink: 0;
}

.mega-section h4 {
    font-family: var(--font-family);
    font-size: 14px;
    font-weight: 700;
    color: #111;
    margin: 0 0 4px 0;
}

.mega-section p {
    font-family: var(--font-family);
    font-size: 14px;
    color: #333333;
    margin: 0;
    font-weight: 400;
}

.mega-section {
    padding: 10px 14px;
    border-radius: 10px;
    cursor: pointer;
    transition: background 0.2s ease;
}

.mega-section:hover {
    /* background: rgba(0,0,0,0.04); */
}

.project-card {
    border-radius: 4px;
    overflow: hidden;
    background: rgb(255 255 255 / 51%);
    padding: 16px;
    width: 336px;
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(7px);
}
.projects-section .about-left {
    margin-bottom: 30px;
}
.card-img-wrapper {
    height: 130px;
    overflow: hidden;
    margin-bottom: 20px;
}

.project-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
    border-radius: 2px;
}

.project-card:hover .project-img {
    transform: scale(1.05);
}

.card-info {
    /* padding: 14px; */
    text-decoration: none;
    /* padding-top: 20px !important; */
}

.card-info h5 {
    font-family: var(--font-family);
    font-size: 14px;
    font-weight: 700;
    color: #111;
    margin: 0 0 4px 0;
}

.card-info p {
    font-family: var(--font-family);
    font-size: 14px;
    color: #888;
    margin: 0;
    font-weight: 400;
}

@media (min-width: 768px) and (max-width: 1100px) {
    .navbar-wrapper {
        min-width: 90%;
    }
}

@media (max-width: 767px) {
    .navbar-wrapper {
        width: 92%;
        min-width: 0;
        top: 12px;
    }

    .header-container {
        padding: 0 12px;
        height: 52px;
        width: 100%;
    }

    /* Hide old desktop nav-links on mobile */
    .nav-links {
        display: none !important;
    }

    .nav-toggle {
        display: flex;
    }

    .btn-start {
        display: none;
    }

    .logo-text {
        font-size: 1.0rem;
    }

    .logo-icon {
        width: 11px;
        height: 11px;
    }

    /* Desktop mega menu hidden on mobile (handled by overlay) */
    .mega-menu {
        display: none !important;
    }
}

/* =============================================
   FULL SCREEN MOBILE MENU OVERLAY
   ============================================= */

.mobile-menu-overlay {
    position: fixed;
    inset: 0;
    width: 100vw;
    height: 100vh;
    background: #ffffff;
    z-index: 9998;
    display: flex;
    flex-direction: column;
    overflow-y: auto;
    overflow-x: hidden;
    /* Hidden state */
    opacity: 0;
    visibility: hidden;
    transform: translateY(-20px);
    transition: opacity 0.45s cubic-bezier(0.16, 1, 0.3, 1),
                visibility 0.45s cubic-bezier(0.16, 1, 0.3, 1),
                transform 0.45s cubic-bezier(0.16, 1, 0.3, 1);
}

.mobile-menu-overlay.open {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.mobile-menu-inner {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    padding: 24px 28px 36px;
    box-sizing: border-box;
    position: relative;
}

/* ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ Close Button (X) ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ */
.mobile-menu-close {
    position: absolute;
    top: 24px;
    right: 24px;
    width: 40px;
    height: 40px;
    background: none;
    border: none;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0;
    padding: 0;
    z-index: 10;
}

.mobile-menu-close span {
    display: block;
    width: 22px;
    height: 2px;
    background: #111;
    border-radius: 2px;
    position: absolute;
    transition: transform 0.3s ease;
}

.mobile-menu-close span:nth-child(1) {
    transform: rotate(45deg);
}

.mobile-menu-close span:nth-child(2) {
    transform: rotate(-45deg);
}

/* ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ Mobile Nav Links ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ */
.mobile-nav {
    display: flex;
    flex-direction: column;
    margin-top: 60px;
    flex: 1;
    gap: 0;
}

.mobile-nav-link {
    font-family: var(--font-family);
    font-size: clamp(2.6rem, 11vw, 3.8rem);
    font-weight: 800;
    color: #111;
    text-decoration: none;
    line-height: 1.15;
    padding: 14px 0;
    display: flex;
    align-items: center;
    gap: 10px;
    letter-spacing: -0.02em;
    border: none;
    background: none;
    cursor: pointer;
    width: 100%;
    text-align: left;
    transition: color 0.2s ease;
    border-bottom: 1px solid rgba(0,0,0,0.06);
}

.mobile-nav-link:last-child {
    border-bottom: none;
}

.mobile-nav-link:hover {
    color: var(--primary-blue);
}

.mobile-nav-item {
    display: flex;
    flex-direction: column;
    border-bottom: 1px solid rgba(0,0,0,0.06);
}

.mobile-nav-item .mobile-nav-link {
    border-bottom: none;
}

.mobile-nav-arrow {
    margin-left: auto;
    transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
    flex-shrink: 0;
    opacity: 0.4;
    width: 28px;
    height: 28px;
}

.mobile-nav-toggle-btn.is-open .mobile-nav-arrow {
    transform: rotate(180deg);
    opacity: 0.9;
}

/* ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ Sub Menu (accordion) ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ */
.mobile-sub-menu {
    display: flex;
    flex-direction: column;
    gap: 0;
    overflow: hidden;
    max-height: 0;
    transition: max-height 0.45s cubic-bezier(0.16, 1, 0.3, 1), padding 0.3s ease;
    padding: 0 0 0 4px;
}

.mobile-sub-menu.open {
    max-height: 400px;
    padding: 8px 0 20px 4px;
}

.mobile-sub-link {
    font-family: var(--font-family);
    font-size: 14px;
    font-weight: 700;
    color: #111;
    text-decoration: none;
    padding: 10px 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
    transition: color 0.2s ease;
    border-top: 1px solid rgba(0,0,0,0.05);
}

.mobile-sub-link:first-child {
    border-top: none;
}

.mobile-sub-link span {
    font-size: 13px;
    font-weight: 400;
    color: #666;
}

.mobile-sub-link:hover {
    color: var(--primary-blue);
}

/* ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ Mobile Menu Footer CTA ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ÃƒÂ¢Ã¢â‚¬ÂÃ¢â€šÂ¬ */
.mobile-menu-footer {
    margin-top: auto;
    padding-top: 32px;
}

.mobile-cta-link {
    font-family: var(--font-family);
    font-size: clamp(2.4rem, 10vw, 3.4rem);
    font-weight: 800;
    color: var(--primary-blue);
    text-decoration: none;
    letter-spacing: -0.02em;
    display: block;
    transition: opacity 0.2s ease;
    line-height: 1.1;
}

.mobile-cta-link:hover {
    opacity: 0.75;
    color: var(--primary-blue);
}

/* Only show mobile overlay on mobile screens */
.mobile-menu-overlay {
    display: none;
}

@media (max-width: 767px) {
    .mobile-menu-overlay {
        display: flex;
    }
}

/* Banner / Hero Section */
.banner {
    background: #FFFFFF;
    color: #000000;
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: flex-start;

    /* Left aur Right space har monitor aur laptop screen par strictly 60px lock rahegi */
    padding: 100px 60px;

    overflow: visible;
    box-sizing: border-box;
    width: 100%;
}

/* Video box scroll zoom target */
#heroVideoBox {
    will-change: transform, border-radius;
    transform-origin: center center;
    position: relative;
    z-index: 2;
}

.banner-container {
    width: 100%;
    display: flex;
    justify-content: flex-start;
}

.hero-grid {
    display: grid;
    grid-template-columns: auto auto;
    column-gap: 0.28em;
    row-gap: 0.05em;
    align-items: start;
    text-align: left;
    width: max-content;
    font-family: MosvitaBlackExp;


    /* FIX: Font-size ko pure fluid (7.8vw) par adjust kiya hai.
       Ab 1600px ho ya 1900px ya 2100px, font hamesha screen ke size ke mutabiq
       utna hi bara dikhega jaisa pehle screenshot (1600px) me dikh raha hai.
    */
    font-size: 110px;
    font-weight: 800;
    line-height: 0.9;
    letter-spacing: -0.02em;
    color: #000;
}

.hero-clear,
.hero-brands,
.hero-move-faster {
    white-space: nowrap;
}

.hero-clear {
    grid-column: 1;
}

.hero-brands {
    grid-column: 2;
}

/* Row 2 alignment */
.hero-second-row {
    grid-column: 2;
    display: flex;
    align-items: center;
    gap: 0.22em;
    margin-top: 0.02em;
}

.video-box {
    width: 1.5em;
    height: 80px;
    background: #000;
    border-radius: clamp(6px, 1vw, 10px);
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.video-box video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Row 3 Description positioning */
.hero-desc-row {
    grid-column: 2;
    margin-left: 1.8em; /* "MOVE FASTER" ke neechay perfection ke sath align rahega */
}

.hero-description {
    max-width: 800px;
    font-family: var(--font-family);
    font-size: 24px;
    font-weight: 400;
    line-height: 32px;
    letter-spacing: -0.01em;
    color: #555;
    margin-top: 0;
    text-align: left;
}

.hero-description strong {
    color: #000;
    font-weight: 700;
}

/* Tablet & Mobile Breakpoint (767px aur us se choti screens) */
@media (max-width: 767px) {
    .banner {
        /* Mobile par standard padding rakhi hai taake text screen se bahar na nikal jaye */
        padding: 80px 20px 0px 20px !important;
        min-height: auto;
    }

    .banner-container {
        align-items: flex-start;
        text-align: left;
    }

    .hero-grid {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        text-align: left;
        width: 100%;
        font-size: clamp(32px, 11vw, 56px);
        gap: 0.05em;
        line-height: 1.1;
    }

    .hero-clear, .hero-brands, .hero-move-faster {
        text-align: left;
        white-space: normal;
        word-wrap: break-word;
    }

    .hero-second-row {
        flex-direction: row;
        gap: 0.22em;
        margin-top: 0.5em;
        align-items: center;
        width: 100%;
        justify-content: flex-start;
    }
    
    .video-box {
        width: 1.2em;
        height: 0.7em;
        min-width: 40px;
        min-height: 24px;
    }

    .hero-desc-row {
        width: 100%;
        margin-left: 0;
        margin-top: 1.5rem;
    }

    .hero-description {
        margin-top: 20px;
        text-align: left;
        font-size: 18px !important;
        line-height: 1.5;
        max-width: 100%;
        padding: 0;
    }
}

/* About Section */
.about-section {
    background: #FFFFFF;
    padding: 160px 0;
    position: relative;
    z-index: 10;
}
.about-right {
    margin-left: 17%;
    margin-top: 20px;
    width: 60%;
}
.about-container {
    max-width: 1400px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 0 80px;
    align-items: start;
}

.about-left {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px;
    padding-top: 8px;
    margin-left: 80px;
}

.about-rule {
    display: block;
    width: 48px;
    height: 1px;
    background: #BBBBBB;
}

.about-label {
    font-family: var(--font-family);
    font-size: 18px;
    font-weight: 400;
    letter-spacing: 0.02em;
    color: #000000;
}

.about-text {
    font-family: var(--font-family);
    font-size: 36px;
    font-weight: 400;
    line-height: 48px;
    color: #111;
    margin: 0;
    letter-spacing: -1px;
}

.about-link {
    color: var(--primary-blue);
    text-decoration: none;
    transition: opacity 0.2s ease;
    white-space: nowrap;
    letter-spacing: 0px;
    font-weight: 700;
    font-size: 24px;
}
p.about-text a {
    font-size: clamp(1.3rem, 1.7vw, 2.35rem);
}
.about-link:hover {
    /* opacity: 0.7; */
}

@media (max-width: 767px) {
    .about-section {
        padding: 0px 5% 50px 5%;
    }

    .about-container {
        grid-template-columns: 1fr;
        gap: 32px 0;
    }

    .about-text, .about-text a {
        line-height: 40px;
        font-size: 28px !important;
    }
    .about-right{
        margin-left: 0;
        width: 100%;
    }
    .about-left {
        margin-left: -50px;
    }
}

/* stats section */
.stats-grid {
    /* max-width: 1400px; */
    margin: 180px 0 0;
    padding: 0 0 0 8%;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    /* border-top: 1px solid #E0E0E0; */
    position: relative;
    z-index: 10;
}

.stat-item {
    padding: 48px 60px 48px 0;
    /* border-right: 1px solid #E0E0E0; */
}

.stat-item:first-child {
    padding-left: 0;
}

.stat-item:last-child {
    border-right: none;
    padding-left: 60px;
    padding-right: 0;
    width: 90%;
}

.stat-item:not(:first-child):not(:last-child) {
    padding-left: 0;
    margin-top: 0;
}

.stat-number {
    margin-bottom: 16px;
}

.stat-count {
    font-family: 'MosvitaBlackExp';
    font-size: var(--branding-font-size, 6rem);
    font-weight: 800;
    color: #000;
    letter-spacing: -0.02em;
    line-height: 1;
}

.stat-rule {
    border: none;
    border-top: 1px solid #00000073;
    margin: 0 0 20px 0;
}

.stat-desc {
    font-family: var(--font-family);
    font-size: 36px;
    font-weight: 700;
    line-height: 48px;
    color: #111;
    margin: 0;
    letter-spacing: -1px;
}

.about-bottom {
    /* max-width: 1400px; */
    margin: 0 auto;
    padding: 30px 0 0 8%;
}

@media (max-width: 767px) {
    .stats-grid {
        grid-template-columns: 1fr 1fr;
        padding: 0 1%;
        margin-top: 50px;
        gap: 0;
    }

    /* Odd items (1st, 3rd) ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Â left column */
    .stat-item:nth-child(odd) {
        grid-column: 1;
        padding: 36px 20px 36px 0;
        border-right: none;
        border-bottom: none;
        text-align: left;
    }

    /* Even items (2nd) ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Â right column, pushed down */
    .stat-item:nth-child(even) {
        grid-column: 2;
        padding: 80px 0 36px 20px;
        border-right: none;
        border-bottom: none;
        text-align: left;
    }

    /* Override specificity from desktop styles */
    .stat-item,
    .stat-item:first-child,
    .stat-item:last-child,
    .stat-item:not(:first-child):not(:last-child) {
        border-right: none;
        width: auto;
    }

    .stat-count {
        font-size: 4rem;
    }

    .stat-desc {
        font-size: 18px;
        line-height: 26px;
        letter-spacing: -0.3px;
    }

    .stat-rule {
        margin: 12px 0 16px 0;
        width: 60%;
    }

    .about-bottom {
        padding: 24px 0% 0 0%;
    }
}

/* Portfolio Section */
.projects-section {
    background: #FFFFFF;
    padding: 100px 0 180px 0;
    position: relative;
    z-index: 10;
    overflow: hidden;
}

.projects-header {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px;
    margin-bottom: 60px;
}

.projects-slider-outer {
    width: 100%;
    position: relative;
}

.projects-slider {
    margin: 0;
    padding-bottom: 150px;
}

.projects-slider .slick-list {
    overflow: visible;
}

.projects-slider .slick-track {
    display: flex;
    align-items: stretch;
}

.projects-slider .slick-slide {
    padding: 0 15px;
    opacity: 0.4;
    /* transform: scale(0.95); */
    transition: opacity 0.6s cubic-bezier(0.25, 1, 0.5, 1), transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
    cursor: pointer;
    height: auto;
}

.projects-slider .slick-slide.slick-center {
    opacity: 1;
    /* transform: scale(1); */
}

.projects-slider .slick-slide:not(.slick-center) .project-title {
    color: #BBBBBB;
}

.projects-slider .slick-slide:not(.slick-center) .project-tags {
    color: #CCCCCC;
}

.project-slide {
    width: 65vw;
    max-width: 900px;
    display: flex;
    flex-direction: column;
    gap: 20px;
    outline: none;
}

.project-image-wrapper {
    width: 100%;
    aspect-ratio: 16 / 9;
    border-radius: 8px;
    overflow: hidden;
    position: relative;
    /* box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05); */
    transition: box-shadow 0.6s ease;
}

.projects-slider .slick-slide.slick-center .project-image-wrapper {
    /* box-shadow: 0 25px 50px rgba(0, 0, 0, 0.15); */
}

.project-image-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.6s ease;
}

.project-slide:hover .project-image-wrapper img {
    transform: scale(1.03);
}

.project-info {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin: 30px 0 0;
}

.project-title {
    font-family: var(--font-family);
    font-size: 24px;
    font-weight: 800;
    color: #111;
    margin: 0;
    letter-spacing: 0px;
}

.project-tags {
    font-family: var(--font-family);
    font-size: 24px;
    font-weight: 400;
    color: #000;
    margin: 0;
    letter-spacing: 0px;
}

.projects-cta-wrap {
    position: absolute;
    z-index: 12;
    pointer-events: auto;
}
.projects-cta-wrap_new {
    padding: 0 10.7%;
}

.projects-link {
    font-size: 24px;
    font-weight: 700;
}

@media (max-width: 2100px) {
    .projects-cta-wrap_new {
        padding: 0 10.7%;
    }
}
@media (max-width: 1960px) {
    .projects-cta-wrap_new {
        padding: 0 11.5%;
    }
}
@media (max-width: 1600px) {
    .projects-cta-wrap_new {
        padding: 0 13.7%;
    }
}
@media (max-width: 767px) {
    .projects-section {
        padding: 80px 0 80px 0;
    }
    .projects-section .about-left{
    margin-left: -48px;
    }
    .projects-slider .slick-slide {
        padding: 0 8px;
    }

    .project-slide {
        width: 85vw;
    }

    .project-title {
        font-size: 18px;
    }

    .project-tags {
        font-size: 18px;
    }
}

/* Branding Section Styles */
.branding-hero {
    background-color: #000000 !important;
    height: 100vh;
    display: flex;
    align-items: center;
    overflow: hidden;
}

.branding-hero .container-fluid {
    width: 100%;
    max-width: none;
    padding-left: 50px !important;
    padding-right: 50px !important;
    box-sizing: border-box;
}

.custom-heading {
    font-family: 'MosvitaBlackExp';
    letter-spacing: 3px;
    line-height: 1;
    font-size: var(--branding-font-size, 4.5rem);
    font-weight: 700;
    margin: 0;
    color: #2A2A2A;
    width: max-content;
    text-transform: uppercase;
}

.custom-heading sup {
    /* font-size: 0.45em; */
    /* vertical-align: super; */
    /* font-weight: 700; */
    /* margin-left: 2px; */
    /* display: none; */
}
.reveal-word {
    display: inline-block;
    color: #2A2A2A; /* Pehle se gray */
    transition: color 0.1s ease; /* Layer safety smoothing */
    will-change: color;
}

@media (max-width: 767px) {
    .branding-hero .container-fluid {
        padding: 0px 25px !important;
    }

    .custom-heading {
        font-size: calc(1.8rem + 2.5vw);
        line-height: 1.2;
        width: 100%;
    }
}

/* Base Layout & Reset Alignment */
.services-section {
    font-family: var(--font-family);
    overflow: hidden;
    padding: 180px 0 200px;
}
.services-list {
    display: flex;
    flex-direction: column;
    gap: 3rem;
    margin-left: 27%;
}
.service-item {
    display: flex;
    align-items: flex-start;
    cursor: pointer;
    transition: opacity 0.3s ease;
}
.service-num {
    font-size: 14px;
    font-weight: 500;
    color: #999999;
    margin-right: 1.5rem;
    margin-top: 0.6rem;
    transition: color 0.3s ease;
}
.service-title {
    font-size: calc(1.7rem + 1.7vw);
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -1px;
    color: #797979;
    margin: 0;
    transition: color 0.3s ease;
}
.service-item.active .service-title {
    color: #000000;
}
.service-item.active .service-num {
    color: #0f5af2;
}
.dynamic-fade {
    transition: opacity 0.25s ease, transform 0.25s ease;
    opacity: 1;
    transform: translateY(0);
    width: 580px;
    font-size: 18px;
    color: #333333 !important;
    margin: 0;
}
.dynamic-fade.fade-out {
    opacity: 0;
    transform: translateY(5px);
}
.tags-container {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    max-width: 580px;
}
.badge-tag {
    background-color: #F1F3F5;
    color: #797979;
    padding: 8px 18px;
    border-radius: 50px;
    font-size: 18px;
    font-weight: 500;
    display: inline-block;
}
section.services-section .content-text-wrapper a {
    color: #0f5af2;           
    text-decoration: none;
    font-weight: 700;
    font-size: 22px;
    display: inline-flex;
    align-items: center;
    transition: opacity 0.2s ease;
}
section.services-section .content-text-wrapper a:hover {
    opacity: 0.8;
}

@media (max-width: 768px) {
    .content-display-pane {
        margin-top: 3rem;
        /* border-top: 1px solid #EAEAEA; */
        padding-top: 2rem;
    }
}
.services-section .content-display-pane {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start;
    align-self: stretch !important; 
}
.service-pane {
    transition: opacity 0.25s ease, transform 0.25s ease;
    opacity: 1;
    transform: translateY(0);
}
.service-pane.fade-out {
    opacity: 0;
    transform: translateY(5px);
}
.service-pane.active-pane {
    display: flex !important;
    flex-direction: column !important;
    flex-grow: 1 !important; 
    width: 100%;
}
section.services-section .content-text-wrapper {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start;
    flex-grow: 1 !important;
    margin-top: 40px;
    max-width: 580px;
    width: 100%;
    margin-bottom: 30px;
}
.button-container {
    margin-top: auto !important;
    width: 100%;
    border-bottom: 1px solid #00000040; 
    padding-bottom: 15px;    
}

/* Section Background Styling */
.logo-showcase-section {
    background-color: #F1F1F1; /* Light clean gray */
    padding: 200px 0 120px;
}

/* Header Elements (Optional alignment lines matching your style) */
.about-rule {
    display: inline-block;
    width: 60px;
    height: 1px;
    background-color: #B1B1B1;
}
.about-label {
    font-size: 18px;
    font-weight: 400;
    color: #000000;
    letter-spacing: 0px;
}

/* Base Logo Alignment & Wrapper Settings */
.logo-item {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 20px;
    height: 120px; /* Thoda space barha diya hai shuffle visualization ke liye */
    position: relative;
    overflow: hidden;
}

/* Smooth Dynamic Filter Effect */
.client-logo {
    /* max-height: 42px; */
    width: auto;
    object-fit: contain;
    /* transform-origin: center center; */ /* Absolute center points alignment lock */
    
    /* Default muted gray state */
    /* filter: grayscale(100%) brightness(0.85); */
    opacity: 1 !important;
    
    /* Transition parameters logic */
    transition: filter 0.3s ease, opacity 0.3s ease;
    will-change: transform, opacity, filter;
}

/* Hover Interactive Parameters */
.logo-item:hover .client-logo {
    filter: grayscale(0%) brightness(1); 
    opacity: 1; 
    transform: scale(1.06) !important; /* Force overrides active inline parameters on mouse hover */
}

/* Outer shell to hide extra scroll width */
.marquee-wrapper {
    overflow: hidden;
    width: 100%;
    display: flex;
}

/* Track holding both mirror blocks - REMOVED CSS KEYFRAME ANIMATION */
.marquee-track {
    display: flex;
    width: max-content;
    will-change: transform; /* Browser rendering ko smooth karne ke liye */
    gap: 0px; /* FIXED: Scroll binding calculations ke liye gap 0 hona zaroori hai */
}

/* Content blocks structure */
.marquee-content {
    display: flex;
    align-items: center;
    flex-shrink: 0;
}

/* Premium Typography Formatting */
.marquee-link {
    font-family: var(--font-family);
    font-size: var(--branding-font-size, 8rem);
    font-weight: 700;
    color: #B1B1B1;
    text-decoration: none;
    letter-spacing: -0.02em;
    padding: 0 4rem; /* FIXED: Spacing ab gap ki jagah padding se manage hogi taake structural breaks na hon */
    white-space: nowrap;
    transition: color 0.3s ease;
}

/* Hover Dynamic Color State */
.marquee-link:hover {
    color: #0f5af2;
}

/* Base Typography Configurations */
.contact-form-section {
    font-family: var(--font-family);
}

.form-main-title {
    font-size: var(--branding-font-size, 4rem);
    letter-spacing: -1px;
    color: #000000;
    margin-bottom: 120px;
    font-weight: 800;
}

.form-main-title sup {
    font-size: 0.45em;
    top: -0.5em;
}

/* Minimal Line-style Input Design */
.input-group-custom {
    position: relative;
    width: 100%;
}

.form-field-input {
    width: 100%;
    border: none;
    border-bottom: 1px solid #797979; /* Premium slate line divider */
    background: transparent;
    padding: 18px 4px;
    font-size: 18px;
    color: #000000;
    outline: none;
    transition: border-color 0.3s cubic-bezier(0.2, 0.8, 0.2, 1);
    /* height: 80px; */
    margin-top: 30px;
}

/* Custom placeholder visibility style mapping */
.form-field-input::placeholder {
    color: #B1B6B9;
    font-weight: 400;
}

/* Focused active baseline border effect */
.form-field-input:focus {
    border-bottom-color: #20348E; /* Royal blue line flash on active input */
}

/* Dropdown arrow custom configuration */
.select-clean-ui {
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'><path d='M1 1.5L6 6.5L11 1.5' stroke='%23B1B6B9' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/></svg>");
    background-repeat: no-repeat;
    background-position: right 10px center;
    cursor: pointer;
}

/* ==========================================================================
   PREMIUM CHECKBOX TAGS SYSTEM (THE CORE MAGIC)
   ========================================================================== */
.tags-group-label {
    font-size: 24px;
    color: #000000;
    font-weight: 700;
    margin-bottom: 30px;
}

.tags-cloud-container {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.tag-checkbox-label {
    cursor: pointer;
    margin: 0;
}

/* Completely vanish the ugly browser default box block */
.tag-hidden-checkbox {
    display: none !important;
}

/* Default state styling of the custom badge tag */
.tag-clickable-badge {
    display: inline-block;
    
     /* Light subtle grey fill */
    border: 1px solid #F1F3F5; /* Matches background to stay borderless initially */
    transition: all 0.3s cubic-bezier(0.2, 0.8, 0.2, 1);
    user-select: none;
    letter-spacing: -0.3px;
    background-color: #F1F3F5;
    color: #000;
    padding: 8px 18px;
    border-radius: 50px;
    font-size: 18px;
    font-weight: 500;
}

/* CSS Magic: Checkbox state engine interaction handlers */
.tag-hidden-checkbox:checked + .tag-clickable-badge {
    background-color: #0f5af2; /* Turns pure white */
    border-color: #0f5af2;     /* Royal blue focus outline ring ring */
    color: #fff;            /* Blue typography shift */
    box-shadow: 0 2px 8px rgba(32, 52, 142, 0.08);
}

/* Hover tweak adjustments for un-checked fields */
.tag-checkbox-label:hover .tag-clickable-badge {
    color: #0f5af2;
}

/* ==========================================================================
   SOLID BLUE SUBMIT BUTTON INTERACTION ARCHITECTURE
   ========================================================================== */
.btn-submit-premium {
    background-color: #1251F5;
    color: #FFFFFF;
    font-weight: 700;
    font-size: 24px;
    padding: 16px 62px;
    border-radius: 8px;
    border: none;
    transition: all 0.3s ease;
    /* box-shadow: 0 4px 14px rgba(18, 81, 245, 0.2); */
    width: 244px;
    margin-top: 40px;
}
.btn-submit-premium:hover {
    background-color: #0E3EC2;
    color: #FFFFFF;
    transform: translateY(-2px);
    /* box-shadow: 0 6px 20px rgba(18, 81, 245, 0.3); */
}
.btn-submit-premium:active {
    transform: translateY(0);
}
.process-section {
    font-family: var(--font-family);
    padding: 80px 0;
}
.header-line {
    display: inline-block;
    width: 60px;
    height: 1px;
    background-color: #D1D5DB;
}
.header-subtitle {
    font-size: 18px;
    font-weight: 400;
    color: #666;
    letter-spacing: 0px;
}
.process-card {
    will-change: transform, opacity;
}
.step-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: #F1F3F5;
    color: #71767A;
    font-size: 0.75rem;
    font-weight: 600;
    padding: 4px 8px;
    border-radius: 4px;
}
.step-title {
    font-size: 48px;
    font-weight: 800;
    color: #000000;
    margin: 0;
    letter-spacing: -0.03em;
}
.step-desc {
    font-size: 18px;
    line-height: 1.6;
    color: #333333;
    margin-top: 10px;
    font-weight: 400;
    margin-left: 8%;
}
@media (max-width: 768px) {
    .process-step-row [class*="col-"] {
        margin-left: 0 !important;
    }
}

/* Core Section Layout & Line Info */
.faq-section {
    font-family: var(--font-family);
}

.faq-header-line {
    display: inline-block;
    width: 60px;
    height: 1px;
    background-color: #D1D5DB;
}

.faq-header-subtitle {
    font-size: 14px;
    font-weight: 400;
    color: #666;
    letter-spacing: 0px;
}

/* Master Card Item Separator Wrapper */
.faq-item-card {
    background-color: transparent;
    border-bottom: 1px solid #E5E7EB;
    padding: 10px 0;
    transition: all 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* Header Trigger Element */
.faq-header-trigger {
    display: flex;
    align-items: center;
    padding: 24px 75px;
    cursor: pointer;
    user-select: none;
}

.faq-num {
    font-size: 0.75rem;
    font-weight: 500;
    color: #9CA3AF;
    margin-right: 20rem;
}

.faq-title-text {
    flex-grow: 1;
    /* text-align: center; */
    font-size: var(--branding-font-size, 3rem);
    font-weight: 700;
    color: #000000;
    letter-spacing: -0.02em;
}

/* Premium Active Custom Box State Injection */
.faq-item-card.active {
    background-color: #F4F4F4;
    border-top: 1px solid #afafaf;
    /* border-radius: 4px; */
    padding: 10px 0px;
}

/* Dynamic Hidden Sliding Content Panel (Core Mechanics) */
.faq-content-panel {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    transition: max-height 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), 
                opacity 0.3s ease, 
                visibility 0.3s ease;
    margin: 0 55px;
}

/* Revealed Panel Styles inside Active Parent Block */
.faq-item-card.active .faq-content-panel {
    opacity: 1;
    visibility: visible;
}

/* Inner Body Cushioning Padding */
.faq-body-inner {
    padding: 10px 20px 30px 20px;
}

/* Placeholder Media Content Layout Box */
.faq-media-box {
    background-color: #DBDBDB;
    width: 100%;
    min-height: 250px;
    border-radius: 2px;
}

/* Description Details Mapping typography */
.faq-text-details p {
    font-size: 20px;
    line-height: 1.6;
    color: #4B5563;
    font-weight: 400;
    margin-bottom: 20px;
    width: 70%;
}

.faq-spec-list {
    list-style-type: none;
    padding-left: 0;
    margin-bottom: 0;
    margin-top: 20px;
}

.faq-spec-list li {
    font-size: 20px;
    color: #1F2937;
    padding: 4px 0;
    position: relative;
    padding-left: 15px;
    font-weight: 400;
    margin-bottom: 15px;
}

.faq-spec-list li::before {
    content: "-";
    position: absolute;
    left: 0;
    color: #4B5563;
}

/* Small Device Screen Optimization Breakpoints */
@media (max-width: 768px) {
    .faq-section .container-fluid {
        padding: 2rem 1.5rem !important;
    }

    .faq-header-trigger {
        padding: 20px 0;
    }

    .faq-num {
        margin-right: 1rem;
    }

    .faq-title-text {
        font-size: 18px;
        text-align: left;
    }

    .faq-content-panel {
        margin: 0;
    }

    .faq-body-inner {
        padding: 10px 0 24px 0;
    }

    /* Media box mobile par hide */
    .faq-media-box {
        display: none;
    }

    /* Text column full width le */
    .faq-body-inner .col-lg-5,
    .faq-body-inner .col-lg-7 {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
    }

    .faq-text-details p {
        font-size: 14px;
        line-height: 1.6;
        width: 100%;
        margin-bottom: 12px;
    }

    .faq-spec-list li {
        font-size: 14px;
        margin-bottom: 10px;
    }
}

.insights-section {
    font-family: var(--font-family);
    overflow: hidden;
    padding: 140px 0 180px;
}

/* Header Top Decorative Rule Accent */
.insights-header-line {
    display: inline-block;
    width: 60px;
    height: 1px;
    background-color: #D1D5DB;
}

.insights-header-subtitle {
    font-size: 18px;
    font-weight: 400;
    color: #666;
    letter-spacing: 0px;
}

/* Outer Shell: Creates edge cut boundaries */
.insights-slider-outer {
    width: 100%;
    overflow-x: auto; /* Fallback support */
    scrollbar-width: none; /* Hide scrollbars for Firefox */
    cursor: grab;
    margin-left: 4%;
}

.insights-slider-outer::-webkit-scrollbar {
    display: none; /* Hide scrollbars for Chrome/Safari */
}

.insights-slider-outer:active {
    cursor: grabbing;
}

/* Flex Track Matrix */
.insights-slider-track {
    padding: 10px 16px;
    will-change: transform;
}

/* Single Slide Container Framework */
.insight-slide-card {
    width: min(700px, 80vw); /* Perfect scaling proportions matching wireframe */
    margin-right: 24px;
    flex-shrink: 0;
    display: flex !important; /* Keep flex for inner content, !important to override slick block */
    flex-direction: column;
    gap: 16px;
}

/* Image Container Frame */
.insight-img-wrapper {
    width: 100%;
    aspect-ratio: 16 / 10; /* Clean cinematic landscape canvas proportions */
    overflow: hidden;
    border-radius: 8px; /* Smooth professional clean edges */
    background-color: #F3F4F6;
    cursor: none;
    position: relative;
}

.insight-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    pointer-events: none; /* Prevents default image drag interference */
    transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* Subtle image scale hover interaction */
.insight-slide-card:hover .insight-img {
    transform: scale(1.03);
}

/* Typography Details Area */
.insight-card-title {
    font-size: 24px;
    font-weight: 800;
    color: #000000;
    margin: 0;
    line-height: 1.4;
    letter-spacing: -0.01em;
}

.insight-card-desc {
    font-size: 24px;
    color: #4B5563;
    margin: 0;
    line-height: 1.5;
    font-weight: 400;
}

/* More Insights Blue Trigger Link styling */
.more-insights-link {
    font-size: 24px;
    font-weight: 700;
    color: #1251F5; /* Royal blue branding base color accent */
    text-decoration: none;
    transition: color 0.3s ease;
    margin-top: 80px;
    margin-left: 4%;
}

.arrow-icon {
    transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.more-insights-link:hover {
    color: #0B3BB3;
}

.more-insights-link:hover .arrow-icon {
    transform: translateX(4px); /* Interactive horizontal shift nudge */
}


/* Core Framework Base Profiles */
.hasnify-footer {
    background-color: #000000 !important; /* Pitch Black */
    font-family: var(--font-family);
    letter-spacing: -0.01em;
    overflow: hidden;
    padding: 120px 0 20px;
    position: relative;
}

/* Master Typographic Scale Header */
.footer-huge-heading {
    font-size: var(--branding-font-size, 3rem); /* Huge crisp profile matching image */
    font-weight: 700;
    color: #ffffff;
    letter-spacing: -0.03em;
    line-height: 1.05;
}

/* Structural Spacing Definitions */
.mid-footer-row {
    margin-top: 8rem;
}

/* Label Elements Profile */
.footer-block-label {
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.02em;
    color: #fff; /* Flat premium muted look */
    margin-bottom: 20px;
    border-bottom: 1px solid #282828;
    padding-bottom: 20px;
    width: 70%;
}

.footer-block-text {
    font-size: 16px;
    color: #9C9C9C;
    line-height: 1.5;
    max-width: 320px;
    margin-bottom: 34px;
}

/* Horizontal Link Matrix Lists */
.footer-links-list li a {
    color: #828282;
    text-decoration: none;
    font-size: 16px;
    transition: color 0.2s ease;
    font-weight: 400;
    margin-bottom: 16px;
    display: block;
}

.footer-links-list li a:hover {
    color: #ffffff;
}

/* Bottom Stack Contact Typography */
.footer-mail {
    font-size: 16px;
    /* margin-bottom: 40px; */
    font-weight: 400;
    color: #9C9C9C;
    text-decoration: none;
    letter-spacing: -0.02em;
    line-height: 1.2;
}

.footer-phone {
    font-size: 16px;
    font-weight: 400;
    color: #9C9C9C;
    text-decoration: none;
    letter-spacing: -0.02em;
    line-height: 1.2;
}

/* Circle Dynamic Call-to-Action Blueprint */
.footer-chat-circle-btn {
    width: 200px;
    height: 200px;
    background-color: #1251F5; /* Royal Blue */
    color: #ffffff !important;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    font-weight: 400;
    font-size: 24px;
    transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), background-color 0.2s ease;
    /* Pushes slightly upwards offset matching layout visual trick */
    margin-top: -30px;
}

.footer-chat-circle-btn:hover {
    transform: scale(1.04);
    background-color: #0b3bb3;
}

/* Dividing Border Row Accentuation */
.footer-sub-bar {
    /* border-top: 1px solid #141414; */ /* Super dark premium divide tint line */
    padding-top: 250px;
}

/* Footer Bottom Links Cluster */
.footer-social-links a,
.footer-meta-legal a {
    color: #8C8C8C;
    text-decoration: none;
    font-size: 16px;
    transition: color 0.2s ease;
}

.footer-social-links a:hover,
.footer-meta-legal a:hover {
    color: #ffffff;
}

.download-deck-btn {
    font-size: 16px !important;
    letter-spacing: -0.01em;
    font-weight: 700;
    margin-bottom: 15px;
    margin-top: 20px;
}

.legal-policy-texts {
    font-size: 0.88rem;
    color: #555555;
}

.copyright-text {
    color: #8C8C8C !important;
    font-size: 16px;
}

/* Strict Responsiveness Overrides */
@media (max-width: 991px) {
    .footer-chat-circle-btn {
        width: 150px;
        height: 150px;
        margin-top: 1rem;
    }
    .mid-footer-row {
        margin-top: 2rem;
    }
}

@media (max-width: 768px) {
    .footer-huge-heading {
        font-size: 30px;
    }
    .legal-policy-texts {
        flex-wrap: wrap;
    }
}

section.marquee-section {
    padding: 140px 0 100px;
}
.logo-main-grid {
    padding: 100px 0;
    margin-left: 3%;
}

/* Custom Select JS UI */
.custom-select-wrapper {
    position: relative;
    width: 100%;
}

.custom-select-trigger {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: 18px 4px;
    border-bottom: 1px solid #797979;
    background: transparent;
    font-family: var(--font-family);
    font-size: 18px;
    color: #B1B6B9;
    cursor: pointer;
    transition: all 0.2s ease;
    margin-top: 53px;
}

.custom-select-trigger span.selected {
    color: #fff; /* Match input color if any, assuming form is dark or text is dark? Wait, the form inputs have color `#B1B6B9` for placeholder, actual color might be different. Let's use #111 since it's on white bg. Wait, earlier `.form-field-input` had `color: #B1B6B9` for placeholder. */
    color: #111;
}

.custom-select-trigger.open svg {
    transform: rotate(180deg);
}

.custom-select-trigger svg {
    transition: transform 0.2s ease;
}

.custom-select-options {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    background: #fff;
    z-index: 100;
    visibility: hidden;
    opacity: 0;
    transform: translateY(10px);
    transition: all 0.2s ease;
    box-shadow: 0 10px 30px rgba(0,0,0,0.08);
    border: 1px solid #EAEAEA;
    border-radius: 4px;
    margin-top: 5px;
}

.custom-select-options.open {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
}

.custom-select-option {
    padding: 24px 20px;
    border-bottom: 1px solid #d3d3d3;
    font-family: var(--font-family);
    font-size: 18px;
    font-weight: 400;
    color: #9a9a9a;
    cursor: pointer;
    transition: all 0.2s ease;
    letter-spacing: -0.03em;
}

.custom-select-option:last-child {
    border-bottom: none;
}

.custom-select-option:hover,
.custom-select-option.selected {
    color: #111;
    font-weight: 400;
    background: #fdfdfd;
}

section.work-section h1 {
    font-size: 4rem;
    letter-spacing: -1px;
    color: #000;
    font-family: var(--font-family);
    font-weight: 800;
    margin-bottom: 30px;
}
.work-card .work-img-wrapper {
    border-radius: 8px;
}
section.work-section p {
    font-size: 24px;
    max-width: 95%;
    font-weight: 400;
    color: #333333 !important;
    padding-bottom: 30px;
}
.footer-huge-heading a {
    color: #fff;
    text-decoration: none;
    width: 220px;
    display: block;
}
.footer-huge-heading a:hover {
    color: #114eec;
}
section.work-section {
    margin-bottom: 100px;
}


/* Inner Page Banner Base Styles */
.inner-page-banner {
    background-color: #F1F1F1;
    padding: 240px 0 150px;
    display: flex;
    align-items: center;
}
.inner-page-banner .banner-subtitle {
    display: block;
    font-size: 36px;
    font-weight: 400;
    color: #000000;
    margin-bottom: 40px;
    letter-spacing: -1.1px;
}
.inner-page-banner .banner-title {
    font-size: 36px;
    font-weight: 400;
    line-height: 1.4;
    color: #000000;
    margin: 0;
    letter-spacing: -1.1px;
}
@media (max-width: 768px) {
    .inner-page-banner {
        padding: 150px 0 80px;
    }
    .inner-page-banner .banner-subtitle {
        font-size: 28px;
        margin-bottom: 25px;
    }
    .inner-page-banner .banner-title {
        font-size: 28px;
        line-height: 1.3;
    }
}

section.marquee-section.inner_page {
    background: #F1F1F1;
}
section.marquee-section.inner_page .marquee-link {
    color: #000;
}
section.branding-hero.career_page_sec {
    background: #413EFD !important;
}
.custom-pure-accordion.careerfaq .faq-text-details {
    margin-left: 21rem;
}
.custom-pure-accordion.careerfaq {
    padding-bottom: 100px;
}
section.about_sec {
    padding: 100px 0;
    background: #fff;
}
section.about_sec img{
    width: 100%;
}
section.inner-page-banner img, .innerbannercta {
    margin-top: 50px;
}

/* benefits Main Section Styles */
.marlcustom {
    margin-left: 6.5%;
    margin-top: 100px;
}
.benefits-section {
    background: url(../img/benefits_bg.png);
    background-size: cover;
    background-position: center right;
    background-repeat: no-repeat;
    padding: 300px 0;
}
.benefit-item {
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
    padding: 10px;
}
.benefit-num {
    font-size: 16px;
    font-weight: 800;
    color: #0f5af2;
    letter-spacing: -1.1px;
}
.benefit-title {
    font-size: 24px;
    font-weight: 800;
    color: #000000;
    line-height: 1.3;
    letter-spacing: -1.1px;
    margin: 0;
    max-width: 90%;
}
@media (max-width: 1200px) {
    .benefit-title {
        font-size: 22px;
    }
}
@media (max-width: 768px) {
    .benefits-section {
        padding: 80px 0;
        overflow: hidden;
    }
    .benefit-title {
        font-size: 32px;
    }
}

/* career Section Main Area */
section.careers-section .row {
    margin-left: 68px;
    margin-top: 100px;
}
.careers-section {
    background-color: #ffffff;
    padding: 200px 0;
}
.job-card {
    background-color: #F1F1F1;
    border-radius: 8px;        
    padding: 45px 35px;       
    height: 100%;             
    display: flex;
    flex-direction: column;
    justify-content: space-between; 
    min-height: 220px;     
    cursor: pointer;
    transition: background-color 0.3s ease, transform 0.3s ease;
}
.job-card:hover {
    background-color: #EAEAEA;
    transform: translateY(-2px);
}
.job-title {
    font-size: 48px;
    font-weight: 800;
    color: #000000;
    line-height: 1.2;
    letter-spacing: -1.1px;
    margin: 0 0 30px 0;
    max-width: 95%;
}
.job-meta {
    font-size: 18px;
    font-weight: 400;
    color: #666666;
    margin: 0;
    letter-spacing: 0px;
}
@media (max-width: 1200px) {
    .job-title {
        font-size: 26px;
    }
    .job-card {
        padding: 35px 25px;
        min-height: 190px;
    }
}
@media (max-width: 768px) {
    .careers-section {
        padding: 60px 0;
    }
    .job-title {
        font-size: 32px;
    }
}

/* Values Section Wrapper */
.values-section {
    background-color: #ffffff;
    padding: 200px 0;
}
section.values-section .row {
    margin: 100px 55px 0;
}
.value-card {
    background-color: #F1F1F1;
    border-radius: 8px;
    padding: 50px 40px;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 400px;
    transition: background-color 0.3s ease, transform 0.3s ease;
}
.value-card:hover {
    background-color: #EAEAEA;
    transform: translateY(-4px);
}
.value-title {
    font-size: 48px;
    font-weight: 800;
    color: #000000;
    letter-spacing: -1.1px;
    margin: 0;
}
.value-content-bottom {
    width: 100%;
}
.value-card .value-divider {
    border: 0;
    border-top: 1px solid #CCCCCC; 
    opacity: 1;
    width: 35%;                
    margin: 0 0 25px 0;       
}
.value-desc {
    font-size: 18px;
    line-height: 1.5;
    font-weight: 400;
    color: #444444;
    margin: 0;
    letter-spacing: 0;
}
@media (max-width: 1200px) {
    .value-title {
        font-size: 32px;
    }
    .value-card {
        padding: 40px 30px;
        min-height: 360px;
    }
}
@media (max-width: 768px) {
    .values-section {
        padding: 70px 0;
    }
    .value-card {
        min-height: auto;     
        gap: 60px;           
    }
}

/* Main Section Wrapper */
.team-section {
    background-color: #ffffff;
    padding: 200px 0;
}

/* --- CEO Block Styling --- */
.ceo-feature-row {
    margin-bottom: 100px; /* Core Team se vertical gap */
}

.ceo-img-wrapper {
     /* Image ka blue accent outline border */
    border-radius: 12px;
    padding: 0;
    overflow: hidden;
    display: flex;
}

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

.ceo-name {
    font-size: 64px;
    font-weight: 800;
    color: #000000;
    letter-spacing: -1.1px;
    margin-bottom: 8px;
}

.ceo-designation {
    display: block;
    font-size: 24px;
    font-weight: 400;
    color: #444444;
    margin-bottom: 45px;
}

.ceo-bio p {
    font-size: 18px;
    line-height: 1.6;
    color: #555555;
    margin-bottom: 20px;
}

/* --- Team Section Headings --- */
.team-subheading {
    font-size: 18px;
    font-weight: 400;
    color: #111111;
    margin: 60px 0 40px;
}
section.team-section .row {
    margin: 0 7%;
}
section.team-section .about-left {
    margin-bottom: 100px;
}
.team-card {
    margin-bottom: 20px;
}
.member-img-box {
    background-color: #E2E2E2; 
    border-radius: 8px;
    overflow: hidden;
    margin-bottom: 20px;
    aspect-ratio: 4 / 3; 
    display: flex;
    align-items: center;
    justify-content: center;
}
.member-img-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.member-img-box.empty-placeholder {
    background-color: #ECECEC; 
}
.member-name {
    font-size: 24px;
    font-weight: 800;
    color: #000000;
    margin-bottom: 6px;
    letter-spacing: -0.3px;
}
.member-role {
    font-size: 24px;
    font-weight: 400;
    color: #000;
    margin: 0;
}
@media (max-width: 991px) {
    .ceo-name {
        font-size: 40px;
        margin-top: 30px;
    }
    .ceo-designation {
        margin-bottom: 25px;
    }
    .ceo-feature-row {
        margin-bottom: 70px;
    }
}
@media (max-width: 768px) {
    .team-section {
        padding: 70px 0;
    }
    .member-name {
        font-size: 18px;
    }
}

.branding-hero h1[id^="revealHeading"] span.reveal-word {
    color: #ffffff57;
}
.branding-hero h1[id^="revealHeading"] {
    color: #ffffff57;
}
.branding-hero h1[id^="revealHeading"] a {
    text-decoration: none;
    transition: color 0.3s ease;
}
.branding-hero h1[id^="revealHeading"] a:hover span.reveal-word {
    color: #0d6efd !important; /* Blue color on hover */
}
.work-info h4 {
    font-size: 24px;
    font-weight: 800 !important;
    color: #000;
}
.work-info p {
    font-size: 24px;
    font-weight: 400;
    color: #000;
}

.nav-item .nav-link.active {
    color: #000;
}
.nav-item .nav-link {
    color: #acacac;
}
.hasnify-footer:before {
    content: "";
    background: url(../img/footer_btm.png);
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background-repeat: no-repeat;
    background-position: bottom;
    pointer-events: none;
}
.hasnify-footer {
    position: relative;
}
.hasnify-footer > .container-fluid {
    position: relative;
    z-index: 1;
}

section.projects_inner {
    padding: 0 2% 50px;
}
.detail_info h4 {
    color: #000;
    font-size: 18px;
    font-weight: 700;
}
.detail_info p {
    font-size: 18px;
    color: #828282;
    font-weight: 400;
}
.detail_info ul li {
    color: #828282;
    font-size: 18px;
    font-weight: 400;
    list-style: none;
}
.detail_info ul {
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
}
section.work-section p.text-muted {
    font-size: 18px;
}
section.policy_wrap {
    padding: 180px 0 80px;
}
.policy_wrap .custom-list li {
    margin-bottom: 0.5rem;
    position: relative;
    color: #333333;
    font-size: 18px;
    font-weight: 400;
}
.policy_wrap h1 {
    font-size: 2.5rem;
    letter-spacing: -0.03em;
}
.policy_wrap h3 {
    letter-spacing: -1.1px;
    color: #333333;
    font-size: 18px;
    font-weight: 700;
}
.policy_wrap .italic-note {
    font-style: italic;
    font-weight: 500;
}
section.policy_wrap .date_wrap {
    padding: 70px 0;
}
section.policy_wrap .date_wrap span {
    color: #000;
    font-size: 18px;
    font-weight: 800;
}
section.policy_wrap p, section.policy_wrap a {
    color: #333333;
    font-size: 18px;
    font-weight: 400;
    text-decoration: none;
}
ul#workTab li {
    font-size: 18px;
}

/* preloader css  */
.outer {
    display: table;
    width: 100%;
    height: 100%;
}
.inner {
    display: table-cell;
    vertical-align: middle;
    text-align: center;
    box-sizing: border-box;
}
.preloader-wrap {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgb(255 255 255);
    /* backdrop-filter: blur(7px); */
    -webkit-backdrop-filter: blur(7px);
    z-index: 1800;
    text-align: center;
    transition: none;
}
.percentage-center {
    font-size: 120px;
    font-weight: 500;
    line-height: 1;
    color: #1f46dc;
    display: inline-block;
    font-variant-numeric: tabular-nums;
}
.percentage-center span {
    font-size: 80px;
    margin-left: 5px;
    vertical-align: top;
    color: #1f46dc;
}
.preloader-wrap.hide {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

@media (max-width: 1300px) {
    .stat-desc{
        font-size: 28px;
    }
    .services-list{
        margin-left: 25%;
    }
    .dynamic-fade{
        width: 90%;
    }
    .button-container {
        width: 90%;
    }
}
@media (max-width: 767px) {
    .logo{
        width: 90px;
    }
    .branding-hero{
        height: 80vh;
    }
    .projects-cta-wrap_new {
        padding: 0 8.8%;
    }
    .projects-slider {
        padding-bottom: 90px;
    }
    .services-section, .logo-showcase-section {
        padding: 120px 5%;
    }
    .services-list {
        gap: 1.5rem;
        margin-left: 2%;
    }
    .dynamic-fade{
        width: 100%;
        margin-bottom: 100px;
    }
    .form-main-title {
        font-size: var(--branding-font-size, 2rem);
        margin-bottom: 40px;
    }
    section.process-section .header-row {
        margin-left: -90px;
    }
    section.faq-section .row.mb-5.align-items-center {
        margin-left: -75px;
    }
    .stat-item:not(:first-child):not(:last-child) {
        padding-left: 0;
        margin-top: 150px;
    }
    .faq-item-card.active{
        background: unset;
    }
    .insights-section{
        padding: 120px 0;
    }
    section.insights-section .col-12.d-flex.align-items-center.gap-3 {
        margin-left: -50px;
    }
    .hasnify-footer{
        padding: 60px 0 80px;
    }
    .footer-sub-bar{
        padding-top: 20px;
    }
    .hasnify-footer:before{
        background-size: contain;
    }
    .footer-links-list li a{
        margin-bottom: 10px;
        font-size: 14px;
    }
    section.about_sec{
        padding: 0 0 50px;
    }
    section.values-section .row {
        margin: 20px 0px 0;
    }
    .values-section .about-left {
        margin-left: -55px;
    }
    .team-section .about-left {
        margin-bottom: 50px !important;
        margin-left: -55px;
    }
    section.team-section .row {
        margin: 0 2%;
    }
    .about-section .about-left{
        margin-left: -70px;
    }
    .marlcustom {
        margin-left: 0;
        margin-top: 0px;
    }
    section.careers-section .row {
        margin-left: 0;
        margin-top: 30px;
    }
    .custom-pure-accordion.careerfaq .faq-text-details {
        margin-left: 0;
    }
    span.about-label, .job-meta, .footer-block-text, .footer-mail, .footer-phone, .footer-links-list li a, .footer-block-label, .download-deck-btn, .copyright-text {
        font-size: 14px;
    }
    .projects-link, h4.insight-card-title, p.insight-card-desc, .work-info h4, .stat-desc, section.work-section p, .ceo-designation, .member-role {
        font-size: 18px;
    }
    .about-link, section.services-section .content-text-wrapper a, a.more-insights-link {
        font-size: 20px;
    }
    .btn-submit-premium{
        font-size: 20px;
        width: 180px;
        padding: 16px 40px;
    }
    .dynamic-fade, .badge-tag, .tag-clickable-badge, .form-field-input, .step-desc, .header-subtitle, .insights-header-subtitle, ul#workTab li, .value-desc, .ceo-bio p, .footer-social-links a, .footer-meta-legal a {
        font-size: 14px;
    }
    .logo-item{
        justify-content: start;
        padding: 0px;
        height: 60px;
    }
    .logo-main-grid {
        padding: 50px 0 0;
        margin-left: 0%;
    }
    .marquee-link{
        font-size: var(--branding-font-size, 3.5rem);
    }
    .service-title, .step-title, .ceo-name, section.work-section h1{
        font-size: 32px;
    }
    ul#workTab li {
        padding: 2px 10px;
    }
    section.work-section p.text-muted {
        font-size: 14px;
    }
    .footer-huge-heading a {
        color: #114eec;
    }
}

.bottom-blur-effect {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 20vh; /* Sirf bottom 20% tak blur hoga */
    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);
    
    background: rgba(255, 255, 255, 0.3);
    /* Dark theme: background: rgba(0, 0, 0, 0.3); */
    
    -webkit-mask-image: linear-gradient(to bottom, transparent 0%, black 100%);
    mask-image: linear-gradient(to bottom, transparent 0%, black 100%);
    
    pointer-events: none;
    z-index: 9999;
    opacity: 0;
    transition: opacity 0.5s ease-in-out;
}
.bottom-blur-effect.active {
    opacity: 1;
}

/* .hero-clear {
    filter: blur(8px);
    transition: filter 0.6s ease, transform 0.4s ease;
    animation: heroClearShake 2.5s ease-in-out infinite;
    will-change: filter, transform;
}
.hero-clear:hover {
    filter: blur(0px);
    animation: none;
    transform: translate3d(0, 0, 0) !important;
}
@keyframes heroClearShake {
    0%   { transform: translate3d(0, 0, 0) rotate(0deg); }
    20%  { transform: translate3d(-2px, 1px, 0) rotate(-0.3deg); }
    40%  { transform: translate3d(2px, -1px, 0) rotate(0.3deg); }
    60%  { transform: translate3d(-1px, 2px, 0) rotate(-0.2deg); }
    80%  { transform: translate3d(1px, -2px, 0) rotate(0.2deg); }
    100% { transform: translate3d(0, 0, 0) rotate(0deg); }
} */

h2.service-title:hover {
    color: #0f5af2;
}