:root {
    --ink: #080f1e;
    --navy: #0c1b35;
    --steel: #1c2e4a;
    --orange: #f5811e;
    --orange2: #d96b08;
    --white: #ffffff;
    --off: #f6f8fc;
    --mist: #edf1f8;
    --gray: #5e6e85;
    --line: rgba(255, 255, 255, 0.08);
    --font-h: "Oswald", sans-serif;
    --font-b: "DM Sans", sans-serif;
    --ease: cubic-bezier(0.4, 0, 0.2, 1);
    --r: 6px;
    --sh: 0 20px 60px rgba(8, 15, 30, 0.15);
    --nav-h: 74px;
    --stats-h: 86px;
}

/* ── Reset ─────────────────────────────────────────────────────── */
*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    scroll-behavior: smooth;
    font-size: 16px;
}

body {
    font-family: var(--font-b);
    background: var(--white);
    color: var(--navy);
    overflow-x: hidden;
}

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

ul {
    list-style: none;
}

img {
    max-width: 100%;
    display: block;
    object-fit: cover;
}

.container {
    width: 92%;
    /* max-width: 1240px; */
    margin: 0 auto;
}

/* ── Scrollbar ─────────────────────────────────────────────────── */
::-webkit-scrollbar {
    width: 5px;
}

::-webkit-scrollbar-track {
    background: var(--ink);
}

::-webkit-scrollbar-thumb {
    background: var(--orange);
    border-radius: 4px;
}

/* ── Cursor Glow ───────────────────────────────────────────────── */
.cursor-glow {
    position: fixed;
    width: 260px;
    height: 260px;
    border-radius: 50%;
    background: radial-gradient( circle, rgba(245, 129, 30, 0.05) 0%, transparent 70% );
    pointer-events: none;
    z-index: 9999;
    transform: translate(-50%, -50%);
    transition: left 0.09s linear, top 0.09s linear;
}

/* ================================================================
   BUTTONS
   ================================================================ */
.btn {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 13px 30px;
    border-radius: var(--r);
    font-family: var(--font-h);
    font-size: 0.9rem;
    font-weight: 600;
    letter-spacing: 0.8px;
    text-transform: uppercase;
    cursor: pointer;
    transition: all 0.3s var(--ease);
    border: 2px solid transparent;
    overflow: hidden;
    position: relative;
    white-space: nowrap;
}

    .btn::after {
        content: "";
        position: absolute;
        inset: 0;
        background: rgba(255, 255, 255, 0.12);
        transform: translateX(-110%) skewX(-14deg);
        transition: transform 0.4s var(--ease);
    }

    .btn:hover::after {
        transform: translateX(110%) skewX(-14deg);
    }

.btn-orange {
    background: var(--orange);
    color: #fff;
    border-color: var(--orange);
}

    .btn-orange:hover {
        background: var(--orange2);
        border-color: var(--orange2);
        transform: translateY(-3px);
        box-shadow: 0 10px 28px rgba(245, 129, 30, 0.38);
    }

.btn-ghost {
    background: transparent;
    color: #fff;
    border-color: rgba(255, 255, 255, 0.4);
}

    .btn-ghost:hover {
        border-color: #fff;
        background: rgba(255, 255, 255, 0.08);
        transform: translateY(-3px);
    }

.btn-navy {
    background: var(--navy);
    color: #fff;
    border-color: var(--navy);
}

    .btn-navy:hover {
        background: var(--steel);
        transform: translateY(-3px);
        box-shadow: 0 10px 28px rgba(8, 15, 30, 0.2);
    }

.btn-outline-orange {
    background: transparent;
    color: var(--orange);
    border-color: var(--orange);
}

    .btn-outline-orange:hover {
        background: var(--orange);
        color: #fff;
        transform: translateY(-3px);
    }

/* ================================================================
   SHARED SECTION HELPERS
   ================================================================ */
.tag {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: var(--font-h);
    font-size: 0.68rem;
    font-weight: 500;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: var(--orange);
    margin-bottom: 14px;
}

    .tag::before {
        content: "";
        display: inline-block;
        width: 24px;
        height: 2px;
        background: var(--orange);
        border-radius: 2px;
    }

h2.h2 {
    font-family: var(--font-h);
    font-weight: 700;
    font-size: clamp(1.8rem, 3.8vw, 2.9rem);
    line-height: 1.12;
    color: var(--navy);
}

    h2.h2 span {
        color: var(--orange);
    }

h2.h2-wt {
    color: #fff;
}

.sub {
    color: var(--gray);
    font-size: 0.95rem;
    line-height: 1.82;
    max-width: 580px;
}

.sub-wt {
    color: rgba(255, 255, 255, 0.65);
}

/* ================================================================
   TOPBAR
   ================================================================ */
.topbar {
    background: var(--ink);
    padding: 8px 0;
    font-size: 0.78rem;
}

.tb-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 6px;
}

.tb-l,
.tb-r {
    display: flex;
    align-items: center;
    gap: 18px;
    flex-wrap: wrap;
}

.tb-item {
    color: rgba(255, 255, 255, 0.55);
    display: flex;
    align-items: center;
    gap: 6px;
}

    .tb-item a {
        color: rgba(255, 255, 255, 0.55);
        transition: color 0.2s;
    }

        .tb-item a:hover,
        .tb-item:hover {
            color: var(--orange);
        }

    .tb-item i {
        color: var(--orange);
        font-size: 0.72rem;
    }

.tb-div {
    width: 1px;
    height: 14px;
    background: rgba(255, 255, 255, 0.1);
}

/* ================================================================
   NAVBAR
   ================================================================ */
.nav {
    background: #fff;
    position: sticky;
    top: 0;
    z-index: 9000;
    transition: box-shadow 0.3s, background 0.3s;
}

    .nav.scrolled {
        box-shadow: 0 4px 36px rgba(8, 15, 30, 0.12);
        background: rgba(255, 255, 255, 0.97);
        backdrop-filter: blur(10px);
    }

.nav-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: var(--nav-h);
    gap: 12px;
}

/* Logo */
.logo {
    width: 16%;
    display: flex;
    align-items: center;
    gap: 11px;
    flex-shrink: 0;
}

.logo-box {
    width: 48px;
    height: 48px;
    border-radius: var(--r);
    background: var(--navy);
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
    flex-shrink: 0;
}

    .logo-box::after {
        content: "";
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        height: 35%;
        background: var(--orange);
    }

.logo-txt {
    font-family: var(--font-h);
    font-size: 1.28rem;
    font-weight: 700;
    color: #fff;
    position: relative;
    z-index: 1;
    letter-spacing: 1px;
}

.logo-name {
    font-family: var(--font-h);
    font-size: 1.14rem;
    font-weight: 700;
    color: var(--navy);
    line-height: 1.2;
}

.logo-sub {
    font-size: 0.58rem;
    color: var(--gray);
    letter-spacing: 2px;
    text-transform: uppercase;
}

/* Nav list */
.nav-list {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
}

.nav-item {
    position: relative;
}

.nav-link {
    font-family: var(--font-h);
    font-size: 0.84rem;
    font-weight: 500;
    letter-spacing: 0.6px;
    text-transform: uppercase;
    padding: 10px 12px;
    color: var(--navy);
    display: flex;
    align-items: center;
    gap: 5px;
    transition: color 0.2s;
    white-space: nowrap;
    border-radius: 4px;
}

    .nav-link:hover,
    .nav-link.active {
        color: var(--orange);
    }

    .nav-link .chv {
        font-size: 0.56rem;
        transition: transform 0.25s;
    }

.nav-item:hover .nav-link .chv {
    transform: rotate(180deg);
}

/* Dropdown base */
.dropdown {
    position: absolute;
    top: calc(100% + 0px);
    left: -30% !important;
    transform: translateX(-50%) translateY(10px);
    background: #fff;
    border-radius: 10px;
    box-shadow: var(--sh);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.28s var(--ease), transform 0.28s var(--ease), visibility 0.28s;
    min-width: 220px;
    border-top: 3px solid var(--orange);
    z-index: 200;
    pointer-events: none;
}

.nav-item:hover .dropdown {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0);
    pointer-events: auto;
}

.drop-inner {
    padding: 10px 0;
}

.drop-a {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 18px;
    font-size: 0.84rem;
    font-weight: 500;
    color: var(--navy);
    transition: all 0.2s;
}

    .drop-a:hover {
        color: var(--orange);
        background: var(--mist);
        padding-left: 24px;
    }

    .drop-a i {
        color: var(--orange);
        width: 18px;
        text-align: center;
        flex-shrink: 0;
    }

/* Mega dropdown */
.mega {
    min-width: 240px;
    left: auto;
    right: 0;
    transform: translateX(0) translateY(10px);
}

.nav-item:hover .mega {
    transform: translateX(0) translateY(0);
}

.mega-body {
    display: grid;
    grid-template-columns: 1fr;
    padding: 16px 18px;
    gap: 2px;
}

.mega-sec-title {
    font-family: var(--font-h);
    font-size: 0.64rem;
    font-weight: 600;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    color: var(--gray);
    padding: 10px 8px 4px;
    grid-column: 1 / -1;
    border-top: 1px solid var(--mist);
    margin-top: 6px;
}

    .mega-sec-title:first-child {
        border-top: none;
        margin-top: 0;
    }

.mega-a {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 10px;
    border-radius: 5px;
    font-size: 0.83rem;
    font-weight: 500;
    color: var(--navy);
    transition: all 0.2s;
}

    .mega-a:hover {
        background: var(--mist);
        color: var(--orange);
    }

    .mega-a i {
        color: var(--orange);
        width: 18px;
        text-align: center;
        font-size: 0.9rem;
        flex-shrink: 0;
    }

/* Hamburger */
.burger {
    display: none;
    flex-direction: column;
    gap: 5px;
    cursor: pointer;
    padding: 8px;
}

    .burger span {
        display: block;
        width: 24px;
        height: 2px;
        background: var(--navy);
        border-radius: 2px;
        transition: all 0.3s;
    }

    .burger.open span:nth-child(1) {
        transform: rotate(45deg) translate(5px, 5px);
    }

    .burger.open span:nth-child(2) {
        opacity: 0;
        transform: scaleX(0);
    }

    .burger.open span:nth-child(3) {
        transform: rotate(-45deg) translate(5px, -5px);
    }

/* Mobile nav */
.mob-nav {
    display: none;
    position: fixed;
    top: var(--nav-h);
    left: 0;
    right: 0;
    /* bottom: 0; */
    background: #fff;
    z-index: 8999;
    overflow-y: auto;
    transform: translateX(-100%);
    transition: transform 0.35s var(--ease);
}

    .mob-nav.open {
        transform: translateX(0);
    }

.mob-body {
    padding: 8px 0 32px;
}

.mob-a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 15px 20px;
    font-family: var(--font-h);
    font-size: 0.9rem;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--navy);
    border-bottom: 1px solid var(--mist);
    cursor: pointer;
}

    .mob-a:hover {
        color: var(--orange);
        background: var(--mist);
    }

.mob-sub {
    display: none;
    background: var(--off);
}

    .mob-sub.open {
        display: block;
    }

.mob-sub-a {
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 12px 28px;
    font-size: 0.86rem;
    color: var(--gray);
    border-bottom: 1px solid rgba(237, 241, 248, 0.6);
    transition: all 0.2s;
}

    .mob-sub-a:hover {
        color: var(--orange);
        background: #fff;
        padding-left: 34px;
    }

    .mob-sub-a i {
        color: var(--orange);
        width: 16px;
        flex-shrink: 0;
    }

.mob-cta-wrap {
    padding: 20px;
}

@media(max-width:992px) {
    .topbar {
        display: none;
    }

    .btn {
        font-size: 0.7rem;
        gap: 9px;
        padding: 10px 15px;
    }
}
/* ================================================================
   HERO CAROUSEL
   ================================================================ */
.hero-carousel {
    position: relative;
    width: 100%;
    height: calc(100vh - 110px); /* viewport minus topbar (~36px) + nav (74px) */
    min-height: 620px;
    overflow: hidden;
    background: var(--ink);
}

/* ── Slides container ── */
.hero-slides {
    position: absolute;
    inset: 0;
}

.hero-slide {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: var(--stats-h); /* leave room for stats bar */
    display: flex;
    align-items: center;
    opacity: 0;
    transition: opacity 1.1s var(--ease);
}

    .hero-slide.active {
        opacity: 1;
        z-index: 2;
    }

    .hero-slide.prev {
        opacity: 0;
        z-index: 1;
    }

/* ── Slide background ── */
.slide-bg {
    position: absolute;
    inset: 0;
    bottom: calc(-1 * var(--stats-h)); /* extend to fill stats bar area too */
    transition: transform 9s linear;
}

.hero-slide.active .slide-bg {
    transform: scale(1.07);
}

.hero-slide:not(.active) .slide-bg {
    transform: scale(1);
}

.slide-bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: brightness(1);
}

.slide-gradient {
    position: absolute;
    inset: 0;
    bottom: calc(-1 * var(--stats-h));
}

/* Grid lines */
.hero-grid-lines {
    position: absolute;
    inset: 0;
    z-index: 1;
    opacity: 0.032;
    background-image: repeating-linear-gradient( 0deg, transparent, transparent 80px, rgba(255, 255, 255, 0.6) 80px, rgba(255, 255, 255, 0.6) 81px ), repeating-linear-gradient( 90deg, transparent, transparent 80px, rgba(255, 255, 255, 0.6) 80px, rgba(255, 255, 255, 0.6) 81px );
}

/* Floating shapes */
.slide-shapes {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
}

.sh-ring {
    position: absolute;
    border-radius: 50%;
    border: 1px solid rgba(245, 129, 30, 0.09);
}

    .sh-ring.r1 {
        width: 500px;
        height: 500px;
        top: -80px;
        right: -50px;
        animation: spinRing 28s linear infinite;
    }

    .sh-ring.r2 {
        width: 280px;
        height: 280px;
        bottom: -40px;
        right: 12%;
        animation: spinRing 20s linear infinite reverse;
    }

.sh-dot {
    position: absolute;
    background: rgba(245, 129, 30, 0.12);
    border-radius: var(--r);
}

    .sh-dot.d1 {
        width: 62px;
        height: 62px;
        top: 20%;
        left: 5%;
        animation: floatDot 7s ease-in-out infinite;
    }

    .sh-dot.d2 {
        width: 34px;
        height: 34px;
        bottom: 30%;
        left: 14%;
        border-radius: 50%;
        animation: floatDot 5s ease-in-out infinite reverse;
    }

@keyframes spinRing {
    to {
        transform: rotate(360deg);
    }
}

@keyframes floatDot {
    0%, 100% {
        transform: translateY(0) rotate(0);
    }

    50% {
        transform: translateY(-18px) rotate(12deg);
    }
}

/* ── Slide content wrapper ── */
.slide-content-wrap {
    position: relative;
    z-index: 3;
    width: 52%;
    padding: 40px 0;
}


@media(max-width:992px) {
    .slide-content-wrap {
        width: 100%;
    }
}
/* badge */
.slide-badge {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: rgba(245, 129, 30, 0.14);
    border: 1px solid rgba(245, 129, 30, 0.28);
    border-radius: 50px;
    padding: 7px 18px;
    margin-bottom: 22px;
    opacity: 0;
    transform: translateY(22px);
    transition: opacity 0.55s var(--ease) 0.15s, transform 0.55s var(--ease) 0.15s;
}

.hero-slide.active .slide-badge {
    opacity: 1;
    transform: translateY(0);
}

.slide-badge span {
    font-family: var(--font-h);
    font-size: 0.7rem;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--orange);
}

.slide-badge i {
    color: var(--orange);
    font-size: 0.75rem;
    animation: pulseDot 2.2s infinite;
}

@keyframes pulseDot {
    0%, 100% {
        opacity: 1;
    }

    50% {
        opacity: 0.3;
    }
}

/* heading */
.slide-h1 {
    font-family: var(--font-h);
    font-weight: 700;
    font-size: clamp(2.4rem, 5vw, 4.4rem);
    line-height: 1.09;
    color: #fff;
    margin-bottom: 18px;
    opacity: 0;
    transform: translateY(26px);
    transition: opacity 0.6s var(--ease) 0.3s, transform 0.6s var(--ease) 0.3s;
}

.hero-slide.active .slide-h1 {
    opacity: 1;
    transform: translateY(0);
}

.slide-h1 em {
    font-style: normal;
    color: var(--orange);
    text-decoration: underline var(--orange) 5px;
}



/* paragraph */
.slide-p {
    color: rgb(255, 255, 255);
    font-size: 1.06rem;
    line-height: 1.82;
    max-width: 520px;
    margin-bottom: 34px;
    opacity: 0;
    transform: translateY(22px);
    transition: opacity 0.6s var(--ease) 0.45s, transform 0.6s var(--ease) 0.45s;
}

.hero-slide.active .slide-p {
    opacity: 1;
    transform: translateY(0);
}

/* buttons */
.slide-btns {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
    opacity: 0;
    transform: translateY(18px);
    transition: opacity 0.6s var(--ease) 0.6s, transform 0.6s var(--ease) 0.6s;
}

.hero-slide.active .slide-btns {
    opacity: 1;
    transform: translateY(0);
}

/* service pill (top right) */
.slide-service-tag {
    position: absolute;
    top: 28px;
    right: 0;
    z-index: 5;
    background: var(--orange);
    color: #fff;
    font-family: var(--font-h);
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    padding: 10px 20px;
    border-radius: 50px 0 0 50px;
    display: flex;
    align-items: center;
    gap: 8px;
    box-shadow: 0 4px 18px rgba(245, 129, 30, 0.32);
    opacity: 0;
    transform: translateX(24px);
    transition: opacity 0.5s var(--ease) 0.75s, transform 0.5s var(--ease) 0.75s;
}

.hero-slide.active .slide-service-tag {
    opacity: 1;
    transform: translateX(0);
}

/* ── Stats bar ── */
.hero-stats-bar {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: var(--stats-h);
    background: rgba(8, 21, 45, 0.92);
    backdrop-filter: blur(8px);
    border-top: 1px solid rgba(255, 255, 255, 0.07);
    z-index: 4;
    padding: 20px;
}

.stats-bar-inner {
    display: flex;
    align-items: stretch;
    height: 100%;
}

.hstat {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 13px;
    padding: 0 24px;
    border-right: 1px solid rgba(255, 255, 255, 0.07);
    transition: background 0.3s;
}

    .hstat:hover {
        background: rgba(245, 129, 30, 0.06);
    }

    .hstat:last-child {
        border-right: none;
    }

.hstat-icon {
    width: 38px;
    height: 38px;
    background: rgba(245, 129, 30, 0.15);
    border-radius: var(--r);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

    .hstat-icon i {
        color: var(--orange);
        font-size: 1rem;
    }

.hstat-n {
    font-family: var(--font-h);
    font-size: 1.7rem;
    font-weight: 700;
    color: #fff;
    line-height: 1;
}

    .hstat-n sup {
        font-size: 0.85rem;
        color: var(--orange);
    }

.hstat-l {
    font-size: 0.66rem;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: rgba(255, 255, 255, 0.4);
    margin-top: 3px;
}

/* ── Carousel controls ── */
.carousel-arrow {
    position: absolute;
    top: 50%;
    z-index: 5;
    transform: translateY(calc(-50% - calc(var(--stats-h) / 2)));
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(6px);
    border: 1px solid rgba(255, 255, 255, 0.18);
    color: #fff;
    font-size: 0.95rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s var(--ease);
}

    .carousel-arrow:hover {
        background: var(--orange);
        border-color: var(--orange);
        transform: translateY(calc(-50% - calc(var(--stats-h) / 2))) scale(1.08);
    }

    .carousel-arrow.prev {
        left: 24px;
    }

    .carousel-arrow.next {
        right: 24px;
    }

/* ── Dots ── */
.carousel-dots {
    position: absolute;
    bottom: calc(var(--stats-h) + 18px);
    left: 50%;
    transform: translateX(-50%);
    z-index: 5;
    display: flex;
    gap: 8px;
    align-items: center;
}

.cdot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.32);
    cursor: pointer;
    transition: all 0.32s var(--ease);
    border: 0;
}

    .cdot.active {
        width: 28px;
        border-radius: 4px;
        background: var(--orange);
    }

/* ── Progress bar ── */
.slide-progress {
    position: absolute;
    bottom: var(--stats-h);
    left: 0;
    right: 0;
    height: 3px;
    background: rgba(255, 255, 255, 0.07);
    z-index: 5;
}

.slide-progress-bar {
    height: 100%;
    background: var(--orange);
    transform-origin: left;
    transform: scaleX(0);
}

    .slide-progress-bar.running {
        transition: transform 5s linear;
        transform: scaleX(1);
    }

/* Scroll hint */
.scroll-hint {
    position: absolute;
    bottom: calc(var(--stats-h) + 18px);
    right: 32px;
    z-index: 5;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 7px;
}

    .scroll-hint span {
        font-family: var(--font-h);
        font-size: 0.6rem;
        letter-spacing: 2.5px;
        text-transform: uppercase;
        color: rgba(255, 255, 255, 0.26);
    }

.scroll-wheel {
    width: 22px;
    height: 34px;
    border: 2px solid rgba(255, 255, 255, 0.18);
    border-radius: 11px;
    display: flex;
    justify-content: center;
    padding-top: 5px;
}

    .scroll-wheel::after {
        content: "";
        width: 4px;
        height: 7px;
        background: var(--orange);
        border-radius: 2px;
        animation: wheelAnim 1.8s ease-in-out infinite;
    }

@keyframes wheelAnim {
    0% {
        transform: translateY(0);
        opacity: 1;
    }

    100% {
        transform: translateY(12px);
        opacity: 0;
    }
}

/* ================================================================
   TICKER
   ================================================================ */
.ticker {
    background: var(--orange);
    height: 44px;
    overflow: hidden;
    display: flex;
    align-items: center;
}

.t-track {
    display: flex;
    align-items: center;
    white-space: nowrap;
    animation: tickScroll 34s linear infinite;
}

    .t-track:hover {
        animation-play-state: paused;
    }

.t-item {
    font-family: var(--font-h);
    font-size: 0.83rem;
    font-weight: 500;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: #fff;
    padding: 0 24px;
    flex-shrink: 0;
}

.t-sep {
    color: rgba(255, 255, 255, 0.35);
    font-size: 0.42rem;
    flex-shrink: 0;
}

@keyframes tickScroll {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-50%);
    }
}

/* ================================================================
   SERVICE CARD CAROUSEL
   ================================================================ */
.carousel-sec {
    padding: 50px 0;
    background: var(--off);
}

.sec-head-row {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: wrap;
    margin-bottom: 44px;
}

.ctrl-btns {
    display: flex;
    gap: 10px;
    flex-shrink: 0;
}

.c-btn {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    border: 2px solid var(--navy);
    background: transparent;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--navy);
    font-size: 0.86rem;
    transition: all 0.25s;
}

    .c-btn:hover {
        background: var(--orange);
        border-color: var(--orange);
        color: #fff;
    }

.car-outer {
    overflow: hidden;
    cursor: grab;
    border-radius: 10px;
}

    .car-outer:active {
        cursor: grabbing;
    }

.car-track {
    display: flex;
    gap: 24px;
    transition: transform 0.55s var(--ease);
}

.c-card {
    flex: 0 0 calc(33.333% - 16px);
    position: relative;
    border-radius: 10px;
    overflow: hidden;
    height: 390px;
    cursor: pointer;
}

.c-img {
    position: absolute;
    inset: 0;
    transition: transform 0.55s var(--ease);
}

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

.c-card:hover .c-img {
    transform: scale(1.06);
}

.c-grad {
    position: absolute;
    inset: 0;
    background: linear-gradient( to top, rgba(8, 15, 30, 0.93) 38%, );
}

    .c-grad:hover {
        background: linear-gradient( to top, rgba(8, 15, 30, 0.93) 38%, rgba(8, 15, 30, 0) 100% )
    }

;


.c-topline {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: var(--orange);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.4s var(--ease);
}

.c-card:hover .c-topline {
    transform: scaleX(1);
}

.c-body {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 26px 24px;
}

    .c-body:hover {
        background: linear-gradient( to top, rgba(8, 15, 30, 0.93) 38%, rgba(8, 15, 30, 0.034) 100% )
    }

;
.c-num {
    font-family: var(--font-h);
    font-size: 0.66rem;
    letter-spacing: 3px;
    color: var(--orange);
    margin-bottom: 6px;
}

.c-ico {
    width: 42px;
    height: 42px;
    background: var(--orange);
    border-radius: var(--r);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 12px;
    opacity: 0;
    transform: translateY(14px);
    transition: all 0.38s var(--ease);
}

.c-card:hover .c-ico {
    opacity: 1;
    transform: translateY(0);
}

.c-ico i {
    color: #fff;
    font-size: 1.05rem;
}

.c-title {
    font-family: var(--font-h);
    font-size: 1.14rem;
    font-weight: 600;
    color: #fff;
    margin-bottom: 8px;
}

.c-desc {
    font-size: 0.84rem;
    color: rgba(255, 255, 255, 0.56);
    line-height: 1.65;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.42s var(--ease);
}

.c-card:hover .c-desc {
    max-height: 90px;
}

.c-lnk {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: var(--font-h);
    font-size: 0.73rem;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: var(--orange);
    margin-top: 12px;
    opacity: 0;
    transform: translateY(8px);
    transition: all 0.35s 0.1s;
}

.c-card:hover .c-lnk {
    opacity: 1;
    transform: translateY(0);
}

.c-dots {
    display: flex;
    gap: 7px;
    justify-content: center;
    margin-top: 28px;
}

.c-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: rgba(12, 27, 53, 0.2);
    cursor: pointer;
    transition: all 0.3s;
    border: 0;
}

    .c-dot.active {
        width: 26px;
        border-radius: 4px;
        background: var(--orange);
    }

/* ================================================================
   ABOUT
   ================================================================ */
.about {
    padding: 50px 0;
    background: #fff;
    overflow: hidden;
}

.about-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 68px;
    align-items: center;
}

.about-media {
    position: relative;
    height: 540px;
}

.about-img-main {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 80%;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: var(--sh);
}

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

.about-img-accent {
    position: absolute;
    right: 0;
    bottom: 28px;
    width: 46%;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: var(--sh);
    border: 4px solid #fff;
    aspect-ratio: 1;
}

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

.about-badge {
    position: absolute;
    right: 0;
    top: 36px;
    background: var(--orange);
    color: #fff;
    border-radius: 8px;
    padding: 16px 18px;
    text-align: center;
    box-shadow: 0 8px 28px rgba(245, 129, 30, 0.32);
}

.ab-num {
    font-family: var(--font-h);
    font-size: 1.9rem;
    font-weight: 700;
    line-height: 1;
}

.ab-lbl {
    font-size: 0.66rem;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    opacity: 0.85;
    margin-top: 3px;
}

.about-content .sub {
    margin: 14px 0 24px;
}

.about-pts {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 11px;
    margin-bottom: 28px;
}

.apt {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 0.9rem;
    font-weight: 500;
}

.apt-ic {
    width: 27px;
    height: 27px;
    background: rgba(245, 129, 30, 0.1);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

    .apt-ic i {
        color: var(--orange);
        font-size: 0.62rem;
    }

.certs {
    display: flex;
    gap: 10px;
    margin-top: 22px;
    flex-wrap: wrap;
}

.cert {
    display: flex;
    align-items: center;
    gap: 7px;
    background: var(--mist);
    border-radius: 6px;
    padding: 8px 13px;
    font-size: 0.78rem;
    font-weight: 600;
}

    .cert i {
        color: var(--orange);
    }

/* ================================================================
   SERVICES GRID
   ================================================================ */
.services-sec {
    padding: 50px 0;
    background: var(--ink);
}

.srv-intro {
    text-align: center;
    margin-bottom: 52px;
}

.srv-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 3px;
}

.srv-card {
    position: relative;
    overflow: hidden;
    height: 290px;
    cursor: pointer;
}

.srv-img {
    position: absolute;
    inset: 0;
    transition: transform 0.55s var(--ease);
}

    .srv-img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: filter 0.45s;
    }

.srv-card:hover .srv-img {
    transform: scale(1.07);
}

    .srv-card:hover .srv-img img {
        filter: brightness(0.26);
    }

.srv-overlay {
    position: absolute;
    inset: 0;
    /* background: linear-gradient(
    to top,
    rgba(8, 15, 30, 0.88) 0%,
    rgba(8, 15, 30, 0.05) 100%
  ); */
    transition: background 0.35s;
}

.srv-card:hover {
    background: linear-gradient( to top, rgba(8, 15, 30, 0.96) 0%, rgba(8, 15, 30, 0.5) 100% );
}

.srv-overlay {
    background: linear-gradient( rgba(8, 15, 30, 0.342) 100% );
}

.srv-topbar {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: var(--orange);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.42s var(--ease);
}

.srv-card:hover .srv-topbar {
    transform: scaleX(1);
}

.srv-body {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 22px;
}

.srv-ico {
    width: 44px;
    height: 44px;
    background: var(--orange);
    border-radius: var(--r);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 10px;
    opacity: 0;
    transform: translateY(12px) scale(0.85);
    transition: all 0.38s var(--ease);
}

.srv-card:hover .srv-ico {
    opacity: 1;
    transform: translateY(0) scale(1);
}

.srv-ico i {
    color: #fff;
    font-size: 1.05rem;
}

.srv-name {
    font-family: var(--font-h);
    font-size: 1.02rem;
    font-weight: 600;
    color: #fff;
    margin-bottom: 5px;
}

.srv-snip {
    font-size: 0.81rem;
    color: rgba(255, 255, 255, 0.5);
    line-height: 1.6;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.42s var(--ease);
}

.srv-card:hover .srv-snip {
    max-height: 70px;
}

.srv-more {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: var(--font-h);
    font-size: 0.7rem;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: var(--orange);
    margin-top: 9px;
    opacity: 0;
    transform: translateY(8px);
    transition: all 0.32s 0.08s;
}

.srv-card:hover .srv-more {
    opacity: 1;
    transform: translateY(0);
}

.srv-all-row {
    background: rgba(255, 255, 255, 0.03);
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    padding: 28px 0;
    text-align: center;
}

/* ================================================================
   STATS BAND
   ================================================================ */
.stats {
    background: var(--navy);
    padding: 68px 0;
    position: relative;
    overflow: hidden;
}

    .stats::before {
        content: "";
        position: absolute;
        inset: 0;
        background-image: radial-gradient( rgba(245, 129, 30, 0.04) 1px, transparent 1px );
        background-size: 32px 32px;
    }

.stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    position: relative;
    z-index: 1;
}

.sc {
    padding: 30px 20px;
    text-align: center;
    border-right: 1px solid var(--line);
    transition: background 0.3s;
}

    .sc:hover {
        background: rgba(245, 129, 30, 0.05);
    }

    .sc:last-child {
        border-right: none;
    }

.sc-i {
    font-size: 1.8rem;
    color: var(--orange);
    margin-bottom: 13px;
    display: block;
}

.sc-n {
    font-family: var(--font-h);
    font-size: 2.7rem;
    font-weight: 700;
    color: #fff;
    line-height: 1;
    display: flex;
    align-items: flex-end;
    justify-content: center;
}

    .sc-n .sf {
        font-size: 1.5rem;
        color: var(--orange);
    }

.sc-l {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: rgba(255, 255, 255, 0.36);
    margin-top: 8px;
}

/* ================================================================
   WHY US
   ================================================================ */
.why {
    padding: 50px 0;
    background: #fff;
    overflow: hidden;
}

.why-grid {
    display: grid;
    grid-template-columns: 1fr 1.05fr;
    gap: 68px;
    align-items: center;
}

.why-vis {
    position: relative;
}

.why-img-wrap {
    border-radius: 10px;
    overflow: hidden;
    aspect-ratio: 1;
    box-shadow: var(--sh);
}

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

.why-float1 {
    position: absolute;
    top: -20px;
    right: -20px;
    background: var(--navy);
    border-radius: 10px;
    padding: 20px;
    box-shadow: var(--sh);
}

    .why-float1 i {
        font-size: 1.7rem;
        color: var(--orange);
        display: block;
        margin-bottom: 7px;
    }

    .why-float1 span {
        font-family: var(--font-h);
        font-size: 0.7rem;
        color: #fff;
        letter-spacing: 1.5px;
        text-transform: uppercase;
    }

.why-float2 {
    position: absolute;
    bottom: -20px;
    left: -20px;
    background: var(--orange);
    border-radius: 8px;
    padding: 15px 20px;
    display: flex;
    align-items: center;
    gap: 13px;
    box-shadow: 0 8px 28px rgba(245, 129, 30, 0.32);
}

    .why-float2 i {
        font-size: 1.4rem;
        color: #fff;
    }

.why-float2-t {
    font-family: var(--font-h);
    font-size: 0.75rem;
    color: #fff;
    letter-spacing: 1px;
    text-transform: uppercase;
    line-height: 1.5;
}

.why-content .sub {
    margin: 14px 0 28px;
}

.why-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.wli {
    display: flex;
    gap: 15px;
    padding: 18px;
    border-radius: 10px;
    border: 1.5px solid var(--mist);
    transition: all 0.3s var(--ease);
    position: relative;
    overflow: hidden;
}

    .wli::before {
        content: "";
        position: absolute;
        left: 0;
        top: 0;
        bottom: 0;
        width: 3px;
        background: var(--orange);
        transform: scaleY(0);
        transform-origin: bottom;
        transition: transform 0.3s var(--ease);
    }

    .wli:hover {
        border-color: rgba(245, 129, 30, 0.18);
        box-shadow: 0 6px 24px rgba(245, 129, 30, 0.08);
        transform: translateX(5px);
    }

        .wli:hover::before {
            transform: scaleY(1);
        }

.wli-ico {
    width: 48px;
    height: 48px;
    border-radius: var(--r);
    background: rgba(245, 129, 30, 0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: background 0.3s;
}

.wli:hover .wli-ico {
    background: var(--orange);
}

.wli-ico i {
    color: var(--orange);
    font-size: 1.1rem;
    transition: color 0.3s;
}

.wli:hover .wli-ico i {
    color: #fff;
}

.wli-title {
    font-family: var(--font-h);
    font-size: 0.92rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    color: var(--navy);
    margin-bottom: 5px;
}

.wli-text {
    font-size: 0.84rem;
    color: var(--gray);
    line-height: 1.65;
}

/* ================================================================
   PROCESS
   ================================================================ */
.process {
    padding: 50px 0;
    background: var(--off);
}

.process-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    margin-top: 52px;
    position: relative;
}

    .process-grid::before {
        content: "";
        position: absolute;
        top: 21px;
        left: 11%;
        right: 11%;
        height: 2px;
        background: linear-gradient( to right, var(--orange), rgba(245, 129, 30, 0.15), var(--orange), rgba(245, 129, 30, 0.15) );
        z-index: 0;
    }

.ps-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    position: relative;
    z-index: 1;
    padding: 0 8px;
}

.ps-num {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: #fff;
    border: 2px solid var(--mist);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-h);
    font-size: 0.9rem;
    font-weight: 700;
    color: var(--gray);
    margin-bottom: 14px;
    box-shadow: 0 4px 16px rgba(8, 15, 30, 0.07);
    transition: all 0.3s;
}

.ps-card:hover .ps-num {
    background: var(--orange);
    border-color: var(--orange);
    color: #fff;
    transform: scale(1.1);
}

.ps-icon {
    width: 54px;
    height: 54px;
    background: var(--navy);
    border-radius: var(--r);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px;
    transition: all 0.3s;
}

.ps-card:hover .ps-icon {
    background: var(--orange);
    transform: translateY(-4px);
}

.ps-icon i {
    font-size: 1.25rem;
    color: #fff;
}

.ps-title {
    font-family: var(--font-h);
    font-size: 0.9rem;
    font-weight: 600;
    text-transform: uppercase;
    color: var(--navy);
    margin-bottom: 8px;
}

.ps-text {
    font-size: 0.83rem;
    color: var(--gray);
    line-height: 1.68;
}

/* ================================================================
   TEAM
   ================================================================ */
.team {
    padding: 50px 0;
    background: #fff;
}

.team-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 26px;
    margin-top: 48px;
}

.team-card {
    border-radius: 12px;
    overflow: hidden;
    border: 1.5px solid var(--mist);
    transition: all 0.36s var(--ease);
    background: #fff;
}

    .team-card:hover {
        box-shadow: var(--sh);
        border-color: transparent;
        transform: translateY(-6px);
    }

.tc-head {
    background: var(--navy);
    padding: 30px 24px 42px;
    position: relative;
    overflow: hidden;
}

    .tc-head::after {
        content: "";
        position: absolute;
        bottom: -18px;
        left: 0;
        right: 0;
        height: 36px;
        background: #fff;
        clip-path: ellipse(55% 50% at 50% 100%);
    }

.tc-pattern {
    position: absolute;
    inset: 0;
    opacity: 0.07;
    background: repeating-linear-gradient( 45deg, transparent, transparent 8px, rgba(245, 129, 30, 0.6) 8px, rgba(245, 129, 30, 0.6) 9px );
}

.tc-avatar {
    width: 74px;
    height: 74px;
    border-radius: 50%;
    background: var(--steel);
    display: flex;
    align-items: center;
    justify-content: center;
    border: 3px solid var(--orange);
    position: relative;
    z-index: 1;
}

    .tc-avatar i {
        font-size: 1.8rem;
        color: #fff;
    }

.tc-body {
    padding: 24px;
}

.tc-name {
    font-family: var(--font-h);
    font-size: 1.15rem;
    font-weight: 700;
    color: var(--navy);
    text-transform: uppercase;
    margin-bottom: 3px;
}

.tc-role {
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: var(--orange);
    margin-bottom: 16px;
}

.tc-row {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 0;
    border-bottom: 1px solid var(--mist);
    font-size: 0.85rem;
    color: var(--gray);
}

    .tc-row:last-child {
        border-bottom: none;
    }

    .tc-row i {
        color: var(--orange);
        width: 16px;
        text-align: center;
        flex-shrink: 0;
    }

    .tc-row a {
        color: var(--gray);
        transition: color 0.2s;
    }

        .tc-row a:hover {
            color: var(--orange);
        }

/* ================================================================
   CTA BAND (above footer)
   ================================================================ */
.cta-sec-wrap {
    padding: 60px 0 76px;
    background: #fff;
}

.cta-inner {
    background: var(--navy);
    border-radius: 14px;
    padding: 64px 56px;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 44px;
    align-items: center;
    position: relative;
    overflow: hidden;
}

    .cta-inner::before {
        content: "";
        position: absolute;
        right: -70px;
        top: -70px;
        width: 300px;
        height: 300px;
        border-radius: 50%;
        background: rgba(245, 129, 30, 0.09);
    }

    .cta-inner::after {
        content: "";
        position: absolute;
        left: -40px;
        bottom: -50px;
        width: 180px;
        height: 180px;
        border-radius: 50%;
        background: rgba(245, 129, 30, 0.06);
    }

.cta-content {
    position: relative;
    z-index: 1;
}

    .cta-content .tag {
        color: var(--orange);
    }

        .cta-content .tag::before {
            background: var(--orange);
        }

.cta-h {
    font-family: var(--font-h);
    font-weight: 700;
    font-size: clamp(1.7rem, 3vw, 2.5rem);
    color: #fff;
    line-height: 1.12;
    margin-bottom: 14px;
}

    .cta-h span {
        color: var(--orange);
    }

.cta-p {
    color: rgba(255, 255, 255, 0.62);
    font-size: 0.94rem;
    line-height: 1.78;
    max-width: 480px;
}

.cta-actions {
    display: flex;
    flex-direction: column;
    gap: 12px;
    align-items: flex-start;
    flex-shrink: 0;
    position: relative;
    z-index: 1;
}

.cta-contact {
    display: flex;
    align-items: center;
    gap: 9px;
    color: rgba(255, 255, 255, 0.52);
    font-size: 0.82rem;
    margin-top: 4px;
}

    .cta-contact i {
        color: var(--orange);
    }

    .cta-contact a {
        color: rgba(255, 255, 255, 0.65);
        transition: color 0.2s;
    }

        .cta-contact a:hover {
            color: var(--orange);
        }

/* ================================================================
   CONTACT
   ================================================================ */
.contact {
    padding: 50px 0;
    background: var(--off);
}

.contact-grid {
    display: grid;
    grid-template-columns: 1fr 1.55fr;
    gap: 44px;
    margin-top: 48px;
    align-items: start;
}

.contact-cards {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.cc {
    background: #fff;
    border-radius: 10px;
    padding: 20px 18px;
    display: flex;
    gap: 15px;
    border: 1.5px solid var(--mist);
    transition: all 0.28s;
    position: relative;
    overflow: hidden;
}

    .cc::before {
        content: "";
        position: absolute;
        left: 0;
        top: 0;
        bottom: 0;
        width: 3px;
        background: var(--orange);
        transform: scaleY(0);
        transition: transform 0.28s;
    }

    .cc:hover::before {
        transform: scaleY(1);
    }

    .cc:hover {
        box-shadow: 0 8px 28px rgba(8, 15, 30, 0.09);
        border-color: rgba(245, 129, 30, 0.12);
        transform: translateX(4px);
    }

.cc-ico {
    width: 44px;
    height: 44px;
    background: var(--navy);
    border-radius: var(--r);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

    .cc-ico i {
        color: var(--orange);
        font-size: 0.95rem;
    }

.cc-lbl {
    font-family: var(--font-h);
    font-size: 0.66rem;
    font-weight: 500;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--gray);
    margin-bottom: 6px;
}

.cc-val {
    font-size: 0.87rem;
    color: var(--navy);
    line-height: 1.78;
    font-weight: 500;
}

    .cc-val a {
        color: var(--navy);
        transition: color 0.2s;
    }

        .cc-val a:hover {
            color: var(--orange);
        }

.form-box {
    background: #fff;
    border-radius: 12px;
    padding: 38px 36px;
    box-shadow: var(--sh);
    border: 1px solid var(--mist);
}

.form-heading {
    font-family: var(--font-h);
    font-size: 1.35rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--navy);
    margin-bottom: 24px;
    display: flex;
    align-items: center;
    gap: 10px;
}

    .form-heading i {
        color: var(--orange);
    }

.f-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}

.fg {
    margin-bottom: 14px;
}

    .fg label {
        display: block;
        font-size: 0.7rem;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: 1px;
        color: var(--gray);
        margin-bottom: 6px;
    }

    .fg input,
    .fg select,
    .fg textarea {
        width: 100%;
        border: 1.5px solid var(--mist);
        border-radius: var(--r);
        padding: 11px 14px;
        font-family: var(--font-b);
        font-size: 0.92rem;
        color: var(--navy);
        background: var(--off);
        transition: all 0.22s;
        outline: none;
    }

        .fg input:focus,
        .fg select:focus,
        .fg textarea:focus {
            border-color: var(--orange);
            background: #fff;
            box-shadow: 0 0 0 3px rgba(245, 129, 30, 0.09);
        }

    .fg textarea {
        resize: vertical;
        min-height: 105px;
    }

    .fg select {
        cursor: pointer;
    }

.fsub {
    width: 100%;
    padding: 13px;
    background: var(--orange);
    color: #fff;
    border: none;
    border-radius: var(--r);
    font-family: var(--font-h);
    font-size: 0.9rem;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
    cursor: pointer;
    transition: all 0.3s;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-top: 4px;
}

    .fsub:hover {
        background: var(--orange2);
        transform: translateY(-2px);
        box-shadow: 0 7px 20px rgba(245, 129, 30, 0.32);
    }

.f-ok {
    display: none;
    margin-top: 12px;
    background: #edfaf3;
    border: 1px solid #5bc98a;
    border-radius: var(--r);
    padding: 13px;
    color: #1a7a45;
    font-weight: 600;
    text-align: center;
    font-size: 0.9rem;
}

/* ================================================================
   ADDRESS STRIP
   ================================================================ */
.addr-strip {
    background: var(--navy);
    padding: 48px 0;
}

.addr-grid {
    display: grid;
    grid-template-columns: 2fr 1px 1fr 1px 1fr;
    gap: 36px;
    align-items: start;
}

.addr-div {
    background: var(--line);
    align-self: stretch;
}

.addr-lbl {
    font-family: var(--font-h);
    font-size: 0.66rem;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    color: var(--orange);
    margin-bottom: 9px;
}

.addr-val {
    color: rgba(255, 255, 255, 0.66);
    font-size: 0.86rem;
    line-height: 1.9;
}

    .addr-val strong {
        color: #fff;
    }

    .addr-val a {
        color: rgba(255, 255, 255, 0.66);
        transition: color 0.2s;
    }

        .addr-val a:hover {
            color: var(--orange);
        }

/* ================================================================
   FOOTER
   ================================================================ */
footer {
    background: var(--ink);
    padding: 56px 0 20px;
}

.ft-top {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1.5fr;
    gap: 44px;
    padding-bottom: 40px;
    border-bottom: 1px solid var(--line);
}

.ft-brand p {
    color: rgba(255, 255, 255, 0.66);
    font-size: 0.85rem;
    line-height: 1.8;
    max-width: 370px;
    margin: 0 0 20px;
}

.ft-social {
    display: flex;
    gap: 8px;
}

    .ft-social a {
        width: 36px;
        height: 36px;
        border-radius: var(--r);
        background: rgba(255, 255, 255, 0.05);
        display: flex;
        align-items: center;
        justify-content: center;
        color: rgba(255, 255, 255, 0.44);
        font-size: 0.82rem;
        transition: all 0.24s;
    }

        .ft-social a:hover {
            background: var(--orange);
            color: #fff;
        }

.ft-h {
    font-family: var(--font-h);
    font-size: 0.7rem;
    font-weight: 500;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    color: #fff;
    margin-bottom: 16px;
    padding-bottom: 8px;
    border-bottom: 2px solid var(--orange);
    display: inline-block;
}

.ft-links {
    display: flex;
    flex-direction: column;
    gap: 9px;
}

    .ft-links a {
        color: rgba(255, 255, 255, 0.66);
        ;
        font-size: 0.84rem;
        display: flex;
        align-items: center;
        gap: 7px;
        transition: all 0.22s;
    }

        .ft-links a::before {
            content: "›";
            color: var(--orange);
            font-size: 1.1rem;
        }

        .ft-links a:hover {
            color: var(--orange);
            padding-left: 4px;
        }

.ft-ci {
    display: flex;
    gap: 11px;
    margin-bottom: 11px;
}

    .ft-ci i {
        color: var(--orange);
        font-size: 0.84rem;
        margin-top: 3px;
        flex-shrink: 0;
    }

    .ft-ci span,
    .ft-ci a {
        color: rgba(255, 255, 255, 0.66);
        font-size: 0.83rem;
        line-height: 1.65;
        transition: color 0.2s;
    }

        .ft-ci a:hover {
            color: var(--orange);
        }

.ft-bot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 16px;
    flex-wrap: wrap;
    gap: 9px;
}

    .ft-bot p {
        color: rgba(255, 255, 255, 0.26);
        font-size: 0.76rem;
    }

.ft-bot-links {
    display: flex;
    gap: 16px;
}

    .ft-bot-links a {
        color: rgba(255, 255, 255, 0.26);
        font-size: 0.76rem;
        transition: color 0.2s;
    }

        .ft-bot-links a:hover {
            color: var(--orange);
        }

.ft-gst {
    color: rgba(255, 255, 255, 0.15);
    font-size: 0.68rem;
    margin-top: 8px;
}

/* ================================================================
   FLOATING BUTTONS
   ================================================================ */
.wa-float {
    position: fixed;
    bottom: 82px;
    right: 24px;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: #25d366;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.4rem;
    z-index: 8000;
    box-shadow: 0 4px 20px rgba(37, 211, 102, 0.36);
    animation: bounceFlt 3s ease-in-out infinite;
}

    .wa-float:hover {
        background: #1db954;
        transform: scale(1.1);
        animation: none;
    }

@keyframes bounceFlt {
    0%, 100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-7px);
    }
}

.top-btn {
    position: fixed;
    bottom: 22px;
    right: 24px;
    width: 44px;
    height: 44px;
    border-radius: var(--r);
    background: var(--orange);
    color: #fff;
    border: none;
    cursor: pointer;
    display: none;
    align-items: center;
    justify-content: center;
    font-size: 0.88rem;
    z-index: 8000;
    box-shadow: 0 4px 16px rgba(245, 129, 30, 0.36);
    transition: all 0.26s;
}

    .top-btn:hover {
        background: var(--orange2);
        transform: translateY(-3px);
    }

    .top-btn.show {
        display: flex;
    }

/* ================================================================
   SCROLL ANIMATIONS
   ================================================================ */
[data-a] {
    opacity: 0;
    transition: opacity 0.6s var(--ease), transform 0.6s var(--ease);
}

[data-a="up"] {
    transform: translateY(32px);
}

[data-a="left"] {
    transform: translateX(-32px);
}

[data-a="right"] {
    transform: translateX(32px);
}

[data-a="zoom"] {
    transform: scale(0.88);
}

[data-a].in {
    opacity: 1;
    transform: none;
}

[data-a][data-d="1"] {
    transition-delay: 0.1s;
}

[data-a][data-d="2"] {
    transition-delay: 0.2s;
}

[data-a][data-d="3"] {
    transition-delay: 0.3s;
}

[data-a][data-d="4"] {
    transition-delay: 0.4s;
}

[data-a][data-d="5"] {
    transition-delay: 0.5s;
}

/* ================================================================
   SERVICE PAGE STYLES
   ================================================================ */

/* breadcrumb strip */
.bc-strip {
    background: var(--orange);
    padding: 13px 0;
}

.bc-inner {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: var(--font-h);
    font-size: 0.76rem;
    font-weight: 500;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.72);
    flex-wrap: wrap;
}

    .bc-inner a {
        color: rgba(255, 255, 255, 0.72);
        transition: color 0.2s;
    }

        .bc-inner a:hover {
            color: #fff;
        }

    .bc-inner i {
        font-size: 0.48rem;
    }

    .bc-inner .cur {
        color: #fff;
    }

/* service hero */
.srv-hero {
    position: relative;
    min-height: 440px;
    display: flex;
    align-items: flex-end;
    overflow: hidden;
    background: var(--ink);
}

.srv-hero-img {
    position: absolute;
    inset: 0;
}

    .srv-hero-img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        filter: brightness(0.26);
    }

.srv-hero-grad {
    position: absolute;
    inset: 0;
    background: linear-gradient( to right, rgba(8, 15, 30, 0.97) 40%, rgba(8, 15, 30, 0.3) 100% );
}

.srv-hero-content {
    position: relative;
    z-index: 2;
    padding: 56px 0 60px;
    width: 100%;
}

.srv-hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: rgba(245, 129, 30, 0.14);
    border: 1px solid rgba(245, 129, 30, 0.26);
    border-radius: 50px;
    padding: 7px 17px;
    margin-bottom: 18px;
}

    .srv-hero-badge span {
        font-family: var(--font-h);
        font-size: 0.69rem;
        letter-spacing: 2px;
        text-transform: uppercase;
        color: var(--orange);
    }

    .srv-hero-badge i {
        color: var(--orange);
        font-size: 0.75rem;
    }

.srv-hero-h1 {
    font-family: var(--font-h);
    font-size: clamp(2rem, 4.5vw, 3.6rem);
    font-weight: 700;
    color: #fff;
    line-height: 1.1;
    margin-bottom: 16px;
}

    .srv-hero-h1 span {
        color: var(--orange);
    }

.srv-hero-p {
    color: rgba(255, 255, 255, 0.65);
    font-size: 0.98rem;
    line-height: 1.8;
    max-width: 550px;
    margin-bottom: 26px;
}

.srv-hero-btns {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

/* overview section */
.overview {
    padding: 50px 0;
    background: #fff;
}

.overview-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
}

.ov-img {
    border-radius: 10px;
    overflow: hidden;
    aspect-ratio: 4/3;
    box-shadow: var(--sh);
}

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

.ov-content .sub {
    margin: 14px 0 22px;
}

.ov-list {
    display: flex;
    flex-direction: column;
    gap: 11px;
    margin-bottom: 28px;
}

.ov-li {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    font-size: 0.91rem;
    color: var(--navy);
}

    .ov-li i {
        color: var(--orange);
        margin-top: 3px;
        flex-shrink: 0;
    }

/* features grid */
.features {
    padding: 50px 0;
    background: var(--off);
}

.feat-intro {
    text-align: center;
    margin-bottom: 48px;
}

    .feat-intro .sub {
        text-align: center;
        margin: 11px auto 0;
    }

.feat-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 22px;
}

.feat-card {
    background: #fff;
    border-radius: 10px;
    padding: 28px 22px;
    border: 1.5px solid var(--mist);
    transition: all 0.32s var(--ease);
    text-align: center;
}

    .feat-card:hover {
        box-shadow: var(--sh);
        border-color: rgba(245, 129, 30, 0.14);
        transform: translateY(-5px);
    }

.feat-ico {
    width: 52px;
    height: 52px;
    background: rgba(245, 129, 30, 0.1);
    border-radius: var(--r);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 14px;
    transition: background 0.28s;
}

.feat-card:hover .feat-ico {
    background: var(--orange);
}

.feat-ico i {
    color: var(--orange);
    font-size: 1.25rem;
    transition: color 0.28s;
}

.feat-card:hover .feat-ico i {
    color: #fff;
}

.feat-title {
    font-family: var(--font-h);
    font-size: 0.9rem;
    font-weight: 600;
    text-transform: uppercase;
    color: var(--navy);
    margin-bottom: 8px;
}

.feat-text {
    font-size: 0.83rem;
    color: var(--gray);
    line-height: 1.65;
}

/* process steps (dark) */
.process-dark {
    padding: 50px 0;
    background: var(--navy);
    position: relative;
    overflow: hidden;
}

    .process-dark::before {
        content: "";
        position: absolute;
        inset: 0;
        background-image: radial-gradient( rgba(245, 129, 30, 0.04) 1px, transparent 1px );
        background-size: 28px 28px;
    }

    .process-dark .h2 {
        color: #fff;
    }

.proc-intro {
    text-align: center;
    margin-bottom: 48px;
    position: relative;
    z-index: 1;
}

.steps-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 22px;
    position: relative;
    z-index: 1;
}

.step {
    text-align: center;
    padding: 0 8px;
}

.step-n {
    font-family: var(--font-h);
    font-size: 0.64rem;
    letter-spacing: 3px;
    color: var(--orange);
    margin-bottom: 11px;
}

.step-ico {
    width: 54px;
    height: 54px;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: var(--r);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 15px;
    transition: all 0.32s;
}

.step:hover .step-ico {
    background: var(--orange);
    border-color: var(--orange);
    transform: translateY(-4px);
}

.step-ico i {
    color: var(--orange);
    font-size: 1.25rem;
    transition: color 0.3s;
}

.step:hover .step-ico i {
    color: #fff;
}

.step-title {
    font-family: var(--font-h);
    font-size: 0.9rem;
    font-weight: 600;
    text-transform: uppercase;
    color: #fff;
    margin-bottom: 8px;
}

.step-text {
    font-size: 0.83rem;
    color: rgba(255, 255, 255, 0.48);
    line-height: 1.65;
}

/* service CTA box */
.srv-cta-sec {
    padding: 76px 0;
    background: #fff;
}

.srv-cta-box {
    background: var(--navy);
    border-radius: 14px;
    padding: 56px 52px;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 40px;
    align-items: center;
    position: relative;
    overflow: hidden;
}

    .srv-cta-box::before {
        content: "";
        position: absolute;
        right: -60px;
        top: -60px;
        width: 260px;
        height: 260px;
        border-radius: 50%;
        background: rgba(245, 129, 30, 0.09);
    }

    .srv-cta-box::after {
        content: "";
        position: absolute;
        left: -36px;
        bottom: -44px;
        width: 160px;
        height: 160px;
        border-radius: 50%;
        background: rgba(245, 129, 30, 0.06);
    }

.srv-cta-content {
    position: relative;
    z-index: 1;
}

.srv-cta-h {
    font-family: var(--font-h);
    font-size: clamp(1.6rem, 2.8vw, 2.3rem);
    font-weight: 700;
    color: #fff;
    margin-bottom: 12px;
    line-height: 1.14;
}

    .srv-cta-h span {
        color: var(--orange);
    }

.srv-cta-p {
    color: rgba(255, 255, 255, 0.58);
    font-size: 0.93rem;
    line-height: 1.78;
    max-width: 480px;
}

.srv-cta-btns {
    display: flex;
    flex-direction: column;
    gap: 11px;
    align-items: flex-start;
    position: relative;
    z-index: 1;
    flex-shrink: 0;
}

.srv-cta-note {
    font-size: 0.78rem;
    color: rgba(255, 255, 255, 0.45);
    margin-top: 4px;
    display: flex;
    align-items: center;
    gap: 7px;
}

    .srv-cta-note i {
        color: var(--orange);
    }

    .srv-cta-note a {
        color: rgba(255, 255, 255, 0.6);
        transition: color 0.2s;
    }

        .srv-cta-note a:hover {
            color: var(--orange);
        }

/* related services */
.related {
    padding: 50px 0;
    background: var(--off);
}

.rel-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
    margin-top: 40px;
}

.rel-card {
    background: #fff;
    border-radius: 10px;
    padding: 22px 20px;
    border: 1.5px solid var(--mist);
    display: flex;
    align-items: center;
    gap: 15px;
    transition: all 0.3s var(--ease);
    cursor: pointer;
}

    .rel-card:hover {
        box-shadow: var(--sh);
        border-color: rgba(245, 129, 30, 0.14);
        transform: translateX(5px);
    }

.rel-ico {
    width: 46px;
    height: 46px;
    background: rgba(245, 129, 30, 0.1);
    border-radius: var(--r);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: background 0.26s;
}

.rel-card:hover .rel-ico {
    background: var(--orange);
}

.rel-ico i {
    color: var(--orange);
    font-size: 1.05rem;
    transition: color 0.26s;
}

.rel-card:hover .rel-ico i {
    color: #fff;
}

.rel-title {
    font-family: var(--font-h);
    font-size: 0.9rem;
    font-weight: 600;
    text-transform: uppercase;
    color: var(--navy);
    flex: 1;
    line-height: 1.3;
}

.rel-arrow {
    color: var(--orange);
    font-size: 0.78rem;
    opacity: 0;
    transform: translateX(-6px);
    transition: all 0.26s;
}

.rel-card:hover .rel-arrow {
    opacity: 1;
    transform: translateX(0);
}

.certificate {
    display: grid;
    grid-template-columns: repeat(3,1fr);
}

.our-Services {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 16px;
    margin-top: 44px;
}
/* ================================================================
   RESPONSIVE BREAKPOINTS
   ================================================================ */

/* ── Tablet landscape: 1024px ── */
@media (max-width: 1024px) {
    .about-grid,
    .why-grid,
    .contact-grid,
    .overview-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .about-media {
        height: 360px;
    }

    .about-img-accent {
        width: 38%;
        bottom: 12px;
    }

    .about-badge {
        top: 16px;
        right: 0;
    }

    .why-float1,
    .why-float2 {
        display: none;
    }

    .srv-grid {
        grid-template-columns: 1fr 1fr;
    }

    .stats-grid {
        grid-template-columns: 1fr 1fr;
    }

    .sc {
        border-right: none;
        border-bottom: 1px solid var(--line);
    }

        .sc:nth-child(3),
        .sc:nth-child(4) {
            border-bottom: none;
        }

    .process-grid {
        grid-template-columns: 1fr 1fr;
        gap: 20px;
    }

        .process-grid::before {
            display: none;
        }

    .team-grid {
        grid-template-columns: 1fr 1fr;
    }

    .ft-top {
        grid-template-columns: 1fr 1fr;
        gap: 28px;
        padding-bottom: 20px;
    }

    .addr-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .addr-div {
        display: none;
    }

    .cta-inner {
        grid-template-columns: 1fr;
        gap: 28px;
        padding: 48px 40px;
    }

    .c-card {
        flex: 0 0 calc(50% - 12px);
    }
    /* hero stats bar */
    .stats-bar-inner {
        flex-wrap: wrap;
        height: auto;
        grid-template-columns: repeat(2,1fr);
        display: grid;
    }

    .hero-stats-bar {
        background: rgba(8, 21, 45, 0.92);
        backdrop-filter: blur(8px);
        border-top: 1px solid rgba(255, 255, 255, 0.07);
        z-index: 4;
        padding: 10px 0;
        position: absolute;
    }

    .hstat {
        flex: 0 0 50%;
        padding: 12px 18px;
        border-right: none;
        border-bottom: 1px solid rgba(255, 255, 255, 0.07);
    }

        .hstat:nth-child(3),
        .hstat:nth-child(4) {
            border-bottom: none;
        }
    /* :root {
    --stats-h: 172px;
  } */
    .carousel-dots {
        bottom: calc(var(--stats-h) + 14px);
    }

    .slide-progress {
        bottom: var(--stats-h);
    }

    .scroll-hint {
        display: none;
    }
    /* service pages */
    .feat-grid {
        grid-template-columns: 1fr 1fr;
    }

    .steps-grid {
        grid-template-columns: 1fr 1fr;
        gap: 20px;
    }

    .srv-cta-box {
        grid-template-columns: 1fr;
        gap: 24px;
        padding: 40px 32px;
    }

    .rel-grid {
        grid-template-columns: 1fr 1fr;
    }

    .certificate {
        display: grid;
        grid-template-columns: repeat(1,1fr) !important;
    }

    .cta-sec-wrap {
        padding: 0 0 20px 0;
    }

    .srv-cta-note {
        display: none;
    }

    .carousel-sec, .about, .services-sec, .why, .process,
    .contact, .team, .page-section {
        padding: 25px 0 !important;
    }

    .sc-n {
        font-size: 2.0rem;
    }

    .our-Services {
        display: grid;
        grid-template-columns: repeat(1,1fr);
        gap: 16px;
        margin-top: 24px;
    }

    [data-a="right"] {
        transform: translateX(0px);
    }
}

/* ── Tablet portrait: 768px ── */
@media (max-width: 768px) {
    /* topbar */
    .tb-l {
        display: none;
    }

    /* nav */
    .nav-list,
    .nav-cta-wrap {
        display: none;
    }

    .burger {
        display: flex;
    }

    .mob-nav {
        display: block;
    }

    /* hero — keep stats as 2x2 so stats-h stays 172px; give slide enough room */
    :root {
        /* --stats-h: 172px; */
    }

    .hero-carousel {
        height: auto;
        min-height: calc(172px + 460px);
    }

    .stats-bar-inner {
        flex-wrap: wrap;
        height: auto;
    }

    .hstat {
        flex: 0 0 50%;
        padding: 12px 16px;
        border-right: none;
        border-bottom: 1px solid rgba(255, 255, 255, 0.07);
    }

        .hstat:nth-child(3),
        .hstat:nth-child(4) {
            border-bottom: none;
        }

    .slide-h1 {
        font-size: 2.1rem;
    }

    .slide-p {
        font-size: 0.94rem;
        max-width: 100%;
    }

    .carousel-arrow {
        display: none;
    }

    .slide-content-wrap {
        padding: 32px 0;
    }

    .slide-badge {
        margin-bottom: 16px;
    }

    .slide-service-tag {
        top: 16px;
        font-size: 0.66rem;
        padding: 8px 14px;
    }

    /* sections */
    .about-media {
        display: none;
    }

    .srv-grid {
        grid-template-columns: 1fr;
    }

    .team-grid {
        grid-template-columns: 1fr;
    }

    .ft-top {
        grid-template-columns: 1fr;
    }

    .f-row {
        grid-template-columns: 1fr;
    }

    .c-card {
        flex: 0 0 calc(80% - 12px);
    }

    .process-grid {
        grid-template-columns: 1fr 1fr;
    }

    /* service pages */
    .srv-hero {
        min-height: 360px;
    }

    .srv-hero-content {
        padding: 40px 0 48px;
    }

    .srv-hero-btns {
        flex-direction: row;
        align-items: flex-start;
    }

    .steps-grid {
        grid-template-columns: 1fr 1fr;
    }

    .rel-grid {
        grid-template-columns: 1fr;
    }

    .srv-cta-box {
        grid-template-columns: 1fr;
        gap: 24px;
        padding: 32px 18px;
    }

    /* CTA + form */
    .cta-inner {
        padding: 36px 24px;
    }

    .form-box {
        padding: 28px 20px;
    }

    /* footer */
    .addr-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .addr-div {
        display: none;
    }

    .logo {
        width: 55%;
    }
}

/* ── Mobile: 480px ── */
@media (max-width: 992px) {
    .slide-btns {
        flex-direction: row;
        align-items: flex-start;
    }

    .stats {
        padding: 30px 0;
    }

    .slide-h1 {
        font-size: 1.85rem;
        line-height: 1.3;
    }

    .slide-p {
        max-width: 100%;
        font-size: 0.9rem;
        text-align: justify;
        hyphens: auto;
    }

    .slide-badge span {
        font-size: 0.62rem;
        letter-spacing: 1.5px;
    }

    .hstat {
        flex: 0 0 100%;
        border-bottom: 1px solid rgba(255, 255, 255, 0.07) !important;
    }

        .hstat:last-child {
            border-bottom: none !important;
        }

    :root {
        --stats-h: 200px;
    }

    .hero-carousel {
        /* min-height: calc(344px + 400px); */
        min-height: calc(230px + 400px);
    }

    .c-card {
        flex: 0 0 calc(100% - 0px);
        ;
    }

    .stats-grid {
        grid-template-columns: 1fr;
    }

    .sc {
        border-bottom: 1px solid var(--line) !important;
    }

        .sc:last-child {
            border-bottom: none !important;
        }

    .cta-actions .btn {
        width: 100%;
        justify-content: center;
    }

    .cta-inner {
        padding: 28px 20px;
    }

    .cta-h {
        font-size: 1.5rem;
    }

    .process-grid {
        grid-template-columns: 1fr;
    }

    .feat-grid {
        grid-template-columns: 1fr;
    }

    .steps-grid {
        grid-template-columns: 1fr;
    }

    .srv-hero-h1 {
        font-size: 1.85rem;
    }

    .srv-hero-p {
        font-size: 0.9rem;
        text-align: justify;
        hyphens: auto;
    }

    .about-pts {
        grid-template-columns: 1fr;
    }

    .sub {
        text-align: justify;
        ;
        hyphens: auto;
    }

    .team-grid {
        grid-template-columns: 1fr;
    }

    .contact-grid {
        grid-template-columns: 1fr;
    }

    .ft-top {
        grid-template-columns: 1fr;
    }

    .ft-bot {
        flex-direction: column;
        text-align: center;
    }

    .tb-r {
        display: none;
    }

    .mob-cta-wrap .btn {
        font-size: 0.82rem;
        padding: 12px 20px;
    }

    .srv-cta-btns {
        display: flex;
        flex-direction: row;
    }
}

/* ================================================================
   SEPARATE PAGE HERO (about, contact, why-us, team)
   ================================================================ */
.page-hero {
    position: relative;
    background: var(--navy);
    padding: 80px 0 72px;
    overflow: hidden;
}

    .page-hero::before {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient( 135deg, rgba(8, 15, 30, 0.98) 0%, rgba(28, 46, 74, 0.8) 100% );
    }

.page-hero-img {
    position: absolute;
    inset: 0;
}

    .page-hero-img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        filter: brightness(0.22);
    }

.page-hero-body {
    position: relative;
    z-index: 2;
}

    .page-hero-body .tag {
        color: var(--orange);
        margin-bottom: 14px;
    }

        .page-hero-body .tag::before {
            background: var(--orange);
        }

.page-hero-h1 {
    font-family: var(--font-h);
    font-weight: 700;
    font-size: clamp(2rem, 4.5vw, 3.4rem);
    line-height: 1.1;
    color: #fff;
    margin-bottom: 16px;
}

    .page-hero-h1 span {
        color: var(--orange);
    }

.page-hero-p {
    color: rgba(255, 255, 255, 0.65);
    font-size: 1rem;
    line-height: 1.82;
    max-width: 560px;
}

.ph-deco {
    position: absolute;
    right: -60px;
    top: -60px;
    width: 400px;
    height: 400px;
    border-radius: 50%;
    border: 1px solid rgba(245, 129, 30, 0.08);
    z-index: 1;
}

.ph-deco2 {
    position: absolute;
    right: 12%;
    bottom: -40px;
    width: 220px;
    height: 220px;
    border-radius: 50%;
    border: 1px solid rgba(245, 129, 30, 0.06);
    z-index: 1;
}

/* Inner page sections */
.page-section {
    padding: 50px 0;
}

    .page-section.bg-off {
        background: var(--off);
    }

    .page-section.bg-white {
        background: #fff;
    }

    .page-section.bg-navy {
        background: var(--navy);
    }

    .page-section.bg-ink {
        background: var(--ink);
    }

/* Contact page layout */
.contact-page-grid {
    display: grid;
    grid-template-columns: 1fr 1.5fr;
    gap: 48px;
    align-items: start;
    margin-top: 20px;
}

/* About page timeline / story */
.story-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
}

.story-text .sub {
    margin: 14px 0 0;
}

    .story-text .sub + .sub {
        margin-top: 14px;
    }

.value-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
    margin-top: 20px;
}

.value-card {
    background: #fff;
    border-radius: 10px;
    padding: 28px 24px;
    border: 1.5px solid var(--mist);
    text-align: center;
    transition: all 0.3s var(--ease);
}

    .value-card:hover {
        box-shadow: var(--sh);
        border-color: rgba(245, 129, 30, 0.14);
        transform: translateY(-4px);
    }

.value-card-icon {
    width: 52px;
    height: 52px;
    background: rgba(245, 129, 30, 0.1);
    border-radius: var(--r);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 14px;
    transition: background 0.28s;
}

.value-card:hover .value-card-icon {
    background: var(--orange);
}

.value-card-icon i {
    color: var(--orange);
    font-size: 1.25rem;
    transition: color 0.28s;
}

.value-card:hover .value-card-icon i {
    color: #fff;
}

.value-card-title {
    font-family: var(--font-h);
    font-size: 0.95rem;
    font-weight: 600;
    text-transform: uppercase;
    color: var(--navy);
    margin-bottom: 8px;
}

.value-card-text {
    font-size: 0.84rem;
    color: var(--gray);
    line-height: 1.65;
}

/* Why-Us page */
.why-detail-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    margin-top: 48px;
}

.wd-card {
    background: #fff;
    border-radius: 10px;
    padding: 28px 26px;
    border: 1.5px solid var(--mist);
    transition: all 0.32s var(--ease);
}

    .wd-card:hover {
        box-shadow: var(--sh);
        border-color: rgba(245, 129, 30, 0.15);
        transform: translateY(-4px);
    }

.wd-icon {
    width: 52px;
    height: 52px;
    background: rgba(245, 129, 30, 0.1);
    border-radius: var(--r);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 18px;
    transition: background 0.28s;
}

.wd-card:hover .wd-icon {
    background: var(--orange);
}

.wd-icon i {
    color: var(--orange);
    font-size: 1.3rem;
    transition: color 0.28s;
}

.wd-card:hover .wd-icon i {
    color: #fff;
}

.wd-title {
    font-family: var(--font-h);
    font-size: 1rem;
    font-weight: 600;
    text-transform: uppercase;
    color: var(--navy);
    margin-bottom: 10px;
}

.wd-text {
    font-size: 0.88rem;
    color: var(--gray);
    line-height: 1.7;
}

/* Team page */
.team-page-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
    margin-top: 48px;
}

.team-full-card {
    border-radius: 12px;
    overflow: hidden;
    border: 1.5px solid var(--mist);
    background: #fff;
    transition: all 0.36s var(--ease);
}

    .team-full-card:hover {
        box-shadow: var(--sh);
        border-color: transparent;
        transform: translateY(-6px);
    }

@media (max-width: 1024px) {
    .story-grid {
        grid-template-columns: 1fr;
        gap: 36px;
    }

    .value-grid {
        grid-template-columns: 1fr 1fr;
    }

    .why-detail-grid {
        grid-template-columns: 1fr;
    }

    .team-page-grid {
        grid-template-columns: 1fr 1fr;
    }

    .contact-page-grid {
        grid-template-columns: 1fr;
        gap: 36px;
    }
}

@media (max-width: 768px) {
    .value-grid {
        grid-template-columns: 1fr;
    }

    .team-page-grid {
        grid-template-columns: 1fr;
    }

    .page-hero {
        padding: 60px 0 52px;
    }

    .page-hero-h1 {
        font-size: 2rem;
    }
}

@media (max-width: 480px) {
    .page-hero {
        padding: 48px 0 40px;
    }

    .page-hero-h1 {
        font-size: 1.75rem;
    }
}
