.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}/* Start custom CSS for html, class: .elementor-element-0213b68 */<link rel="preconnect"
href="https://fonts.googleapis.com">

<link rel="preconnect"
href="https://fonts.gstatic.com"
crossorigin>

<link href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800;900&family=Inter:wght@400;500;600;700&display=swap"
rel="stylesheet">


<!-- =====================================================
     FONT AWESOME
===================================================== -->

<link rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/all.min.css">




/* =====================================================
   ROOT VARIABLES
===================================================== */

:root{

    --primary:#0a2852;

    --primary-light:#123d78;

    --primary-dark:#061a36;

    --secondary:#f21e32;

    --secondary-dark:#cf1023;

    --white:#ffffff;

    --light:#f5f8fc;

    --gray:#617087;

    --dark:#152238;

    --green:#46d67b;

    --border:#e3eaf3;

    --shadow:
    0 20px 60px
    rgba(10,40,82,.12);

}


/* =====================================================
   GLOBAL RESET
===================================================== */

*{

    margin:0;

    padding:0;

    box-sizing:border-box;

}


html{

    scroll-behavior:smooth;

}


body{

    font-family:"Inter",sans-serif;

    background:#ffffff;

    color:var(--dark);

    overflow-x:hidden;

}


h1,
h2,
h3,
h4,
h5{

    font-family:"Montserrat",sans-serif;

}


a{

    text-decoration:none;

}


button{

    border:none;

    cursor:pointer;

}


.container{

    width:min(1180px,90%);

    margin:auto;

}


/* =====================================================
   CUSTOM SCROLLBAR
===================================================== */

::-webkit-scrollbar{

    width:9px;

}


::-webkit-scrollbar-track{

    background:#edf2f8;

}


::-webkit-scrollbar-thumb{

    background:
    linear-gradient(
        var(--primary),
        var(--secondary)
    );

    border-radius:20px;

}


/* =====================================================
   SECTION SETTINGS
===================================================== */

section{

    padding:110px 0;

}


.section-tag{

    display:inline-block;

    font-size:12px;

    font-weight:900;

    letter-spacing:2px;

    color:var(--secondary);

    margin-bottom:15px;

}


.section-title{

    font-size:42px;

    line-height:1.25;

    color:var(--primary);

    max-width:700px;

}


.section-description{

    color:var(--gray);

    line-height:1.8;

    margin-top:18px;

}


.text-center{

    text-align:center;

}


.text-center .section-title{

    margin:auto;

}


.center-content{

    max-width:650px;

    margin-left:auto;

    margin-right:auto;

}


/* =====================================================
   BUTTONS
===================================================== */

.btn{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:10px;

    padding:16px 27px;

    border-radius:8px;

    font-size:14px;

    font-weight:800;

    transition:.35s;

}


.btn-primary{

    background:var(--secondary);

    color:white;

    box-shadow:
    0 12px 25px
    rgba(242,30,50,.22);

}


.btn-primary:hover{

    background:var(--secondary-dark);

    transform:
    translateY(-4px);

    box-shadow:
    0 20px 35px
    rgba(242,30,50,.3);

}


.btn-outline{

    color:var(--primary);

    border:2px solid var(--primary);

    background:white;

}


.btn-outline:hover{

    background:var(--primary);

    color:white;

    transform:
    translateY(-4px);

}


/* =====================================================
   TOP BAR
===================================================== */

.topbar{

    background:var(--primary-dark);

    color:white;

    padding:10px 0;

    font-size:12px;

}


.topbar-content{

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:20px;

}


.topbar-left{

    display:flex;

    gap:25px;

    flex-wrap:wrap;

}


.topbar-left span{

    color:#d8e2f0;

}


.topbar-left i{

    color:var(--secondary);

    margin-right:6px;

}


.topbar-right{

    color:#9cb0ca;

}


/* =====================================================
   NAVBAR
===================================================== */

.navbar{

    background:white;

    position:sticky;

    top:0;

    z-index:9999;

    box-shadow:
    0 4px 20px
    rgba(0,0,0,.04);

}


.nav-content{

    height:82px;

    display:flex;

    align-items:center;

    justify-content:space-between;

}


.logo{

    display:flex;

    align-items:center;

    gap:10px;

}


.logo-mark{

    width:43px;

    height:43px;

    border-radius:10px;

    display:flex;

    align-items:center;

    justify-content:center;

    background:

    linear-gradient(
        135deg,
        var(--secondary),
        #ff5364
    );

    color:white;

    font-size:19px;

    box-shadow:
    0 10px 20px
    rgba(242,30,50,.2);

}


.logo-text{

    font-family:"Montserrat";

    font-weight:900;

    font-size:23px;

    color:var(--primary);

}


.logo-text span{

    color:var(--secondary);

}


.nav-links{

    display:flex;

    align-items:center;

    gap:27px;

}


.nav-links a{

    font-size:13px;

    font-weight:700;

    color:var(--primary);

    transition:.3s;

}


.nav-links a:hover{

    color:var(--secondary);

}


.menu-btn{

    display:none;

    background:none;

    font-size:23px;

    color:var(--primary);

}


/* =====================================================
   HERO SECTION
===================================================== */

.hero{

    min-height:720px;

    display:flex;

    align-items:center;

    position:relative;

    overflow:hidden;

    background:

    radial-gradient(
        circle at 80% 40%,
        #e5effc,
        transparent 28%
    ),

    linear-gradient(
        110deg,
        #ffffff,
        #f2f6fc
    );

}


.hero:before{

    content:"";

    width:500px;

    height:500px;

    border-radius:50%;

    border:
    80px solid
    rgba(10,40,82,.025);

    position:absolute;

    right:-200px;

    top:-180px;

}


.hero-container{

    width:min(1250px,90%);

    margin:auto;

    display:grid;

    grid-template-columns:
    1fr 1fr;

    gap:60px;

    align-items:center;

    position:relative;

}


.hero-content{

    position:relative;

    z-index:5;

}


.hero-eyebrow{

    font-size:12px;

    font-weight:900;

    letter-spacing:2px;

    color:var(--secondary);

    margin-bottom:20px;

}


.hero-title{

    font-size:58px;

    font-weight:900;

    line-height:1.08;

    color:var(--primary);

}


.hero-title .red{

    color:var(--secondary);

}


.hero-content p{

    max-width:580px;

    margin-top:25px;

    font-size:17px;

    line-height:1.8;

    color:#5d6b7e;

}


.hero-buttons{

    display:flex;

    gap:14px;

    margin-top:30px;

    flex-wrap:wrap;

}


/* =====================================================
   HERO SERVICES
===================================================== */

.hero-services{

    display:flex;

    justify-content:space-between;

    gap:10px;

    margin-top:55px;

}


.hero-service{

    flex:1;

    text-align:center;

    font-size:10px;

    font-weight:800;

    color:var(--primary);

    line-height:1.5;

}


.hero-service i{

    display:block;

    font-size:23px;

    color:var(--secondary);

    margin-bottom:9px;

}


/* =====================================================
   HERO VISUAL
===================================================== */

.hero-visual{

    position:relative;

    min-height:520px;

    display:flex;

    align-items:center;

    justify-content:center;

    perspective:1200px;

    z-index:3;

}


/* =====================================================
   ANALYTICS CARD
===================================================== */

.analytics-card{

    width:620px;

    max-width:100%;

    min-height:390px;

    padding:28px;

    border-radius:22px;

    position:relative;

    overflow:hidden;

    color:white;

    z-index:10;

    background:

    linear-gradient(
        145deg,
        #092449,
        #174d89
    );

    box-shadow:

    30px 35px 70px
    rgba(5,28,58,.28);

    transform:

    rotateY(-5deg)
    rotateX(2deg);

    transition:
    transform .5s,
    box-shadow .5s;

}


.analytics-card:hover{

    transform:

    rotateY(0deg)
    rotateX(0deg)
    translateY(-8px);

}


.analytics-card:before{

    content:"";

    width:230px;

    height:230px;

    border-radius:50%;

    position:absolute;

    right:-70px;

    top:-70px;

    background:
    rgba(255,255,255,.035);

}


.analytics-card:after{

    content:"";

    position:absolute;

    width:180px;

    height:600px;

    top:-100px;

    left:-300px;

    background:

    linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,.10),
        transparent
    );

    transform:
    rotate(25deg);

    animation:
    shine 6s infinite;

}


@keyframes shine{

    0%{

        left:-300px;

    }

    55%{

        left:800px;

    }

    100%{

        left:800px;

    }

}


.card-header{

    display:flex;

    justify-content:space-between;

    align-items:center;

    position:relative;

    z-index:2;

}


.card-header h3{

    font-size:17px;

}


.live-data{

    font-size:11px;

    color:#81ec9d;

    font-weight:700;

}


.live-data i{

    font-size:8px;

}


/* =====================================================
   CHART
===================================================== */

.chart{

    height:235px;

    margin-top:25px;

    display:flex;

    align-items:flex-end;

    gap:16px;

    padding:10px 8px;

    border-bottom:
    1px solid
    rgba(255,255,255,.15);

    position:relative;

    z-index:2;

}


.bar{

    flex:1;

    max-width:45px;

    border-radius:
    5px 5px 0 0;

    background:

    linear-gradient(
        to top,
        #2879c7,
        #65c7ff
    );

    box-shadow:
    0 0 20px
    rgba(77,177,255,.18);

    animation:
    barAnimation 3s ease-in-out infinite;

}


.bar:nth-child(1){

    height:48px;

}


.bar:nth-child(2){

    height:75px;

    animation-delay:.2s;

}


.bar:nth-child(3){

    height:65px;

    animation-delay:.4s;

}


.bar:nth-child(4){

    height:100px;

    animation-delay:.6s;

}


.bar:nth-child(5){

    height:120px;

    animation-delay:.8s;

}


.bar:nth-child(6){

    height:140px;

    animation-delay:1s;

}


.bar:nth-child(7){

    height:165px;

    animation-delay:1.2s;

}


@keyframes barAnimation{

    0%,
    100%{

        transform:
        scaleY(1);

        transform-origin:bottom;

    }

    50%{

        transform:
        scaleY(.9);

        transform-origin:bottom;

    }

}


/* =====================================================
   CARD STATS
===================================================== */

.card-stats{

    display:grid;

    grid-template-columns:
    repeat(3,1fr);

    margin-top:18px;

    position:relative;

    z-index:2;

}


.card-stat h2{

    font-size:25px;

}


.card-stat span{

    color:#b8cce4;

    font-size:11px;

}


/* =====================================================
   FLOATING CARDS
===================================================== */

/* IMPORTANT:
   Growing Results is NOT hidden.

   High z-index ensures it stays
   above other elements.
*/

.floating-card{

    position:absolute;

    z-index:100;

    background:white;

    color:var(--primary);

    border-radius:14px;

    padding:17px 20px;

    box-shadow:

    0 20px 40px
    rgba(5,28,58,.15);

    display:flex;

    align-items:center;

    gap:10px;

    font-size:13px;

    font-weight:800;

}


.floating-card i{

    color:var(--secondary);

    font-size:20px;

}


/* =====================================================
   GROWING RESULTS CARD

   HIGH Z-INDEX

   It will remain visible on top
===================================================== */

.card-one{

    left:-55px;

    top:70px;

    z-index:200;

    animation:
    floatingOne 4s ease-in-out infinite;

}


@keyframes floatingOne{

    0%,
    100%{

        transform:
        translateY(0)
        rotate(-2deg);

    }

    50%{

        transform:
        translateY(-14px)
        rotate(-2deg);

    }

}


/* =====================================================
   TARGETED GROWTH CARD
===================================================== */

.card-two{

    right:-30px;

    bottom:20px;

    z-index:200;

    animation:
    floatingTwo 4.5s ease-in-out infinite;

}


@keyframes floatingTwo{

    0%,
    100%{

        transform:
        translateY(0)
        rotate(2deg);

    }

    50%{

        transform:
        translateY(-15px)
        rotate(2deg);

    }

}


/* =====================================================
   TRUST STRIP
===================================================== */

.trust-strip{

    background:var(--primary);

    color:white;

    padding:28px 0;

}


.trust-grid{

    display:grid;

    grid-template-columns:
    repeat(4,1fr);

    gap:20px;

}


.trust-item{

    display:flex;

    align-items:center;

    justify-content:center;

    gap:12px;

    border-right:
    1px solid
    rgba(255,255,255,.15);

}
/* HEADER LOGO */
.logo {
    display: flex;
    align-items: center;
}

.logo img {
    width: 180px;
    height: auto;
    display: block;
    object-fit: contain;
}


/* FOOTER LOGO */
.footer-logo {
    display: inline-block;
    margin-bottom: 20px;
}

.footer-logo img {
    width: 190px;
    height: auto;
    display: block;
    object-fit: contain;
}

.trust-item:last-child{

    border:none;

}


.trust-item i{

    font-size:25px;

    color:var(--secondary);

}


.trust-item h3{

    font-size:14px;

}


.trust-item span{

    display:block;

    color:#9fb3cc;

    font-size:11px;

    margin-top:3px;

}


/* =====================================================
   ABOUT
===================================================== */

.about{

    background:white;

}


.about-grid{

    display:grid;

    grid-template-columns:
    1fr 1fr;

    gap:90px;

    align-items:center;

}


/* =====================================================
   ABOUT VISUAL
===================================================== */

.about-visual{

    position:relative;

    min-height:480px;

    perspective:1000px;

}


.about-main-card{

    position:absolute;

    width:82%;

    height:370px;

    left:0;

    top:40px;

    padding:35px;

    border-radius:22px;

    color:white;

    background:

    linear-gradient(
        145deg,
        var(--primary),
        var(--primary-light)
    );

    box-shadow:
    var(--shadow);

    transform:
    rotateY(5deg)
    rotateX(2deg);

}


.about-main-card h2{

    font-size:70px;

    color:var(--secondary);

}


.about-main-card h3{

    margin-top:10px;

    font-size:25px;

}


.about-main-card p{

    margin-top:20px;

    color:#c5d4e7;

    line-height:1.8;

}


.about-floating{

    position:absolute;

    right:0;

    bottom:15px;

    width:220px;

    padding:25px;

    border-radius:18px;

    background:white;

    box-shadow:
    0 25px 50px
    rgba(0,0,0,.13);

    z-index:10;

    animation:
    aboutFloat 5s ease-in-out infinite;

}


@keyframes aboutFloat{

    0%,
    100%{

        transform:
        translateY(0);

    }

    50%{

        transform:
        translateY(-15px);

    }

}


.about-floating i{

    color:var(--secondary);

    font-size:30px;

}


.about-floating h4{

    margin-top:12px;

}


.about-floating p{

    margin-top:8px;

    font-size:12px;

    line-height:1.7;

    color:var(--gray);

}


/* =====================================================
   ABOUT CONTENT
===================================================== */

.about-content p{

    color:var(--gray);

    line-height:1.9;

    margin-top:22px;

}


.about-features{

    display:grid;

    grid-template-columns:
    repeat(2,1fr);

    gap:18px;

    margin-top:30px;

}


.about-feature{

    display:flex;

    gap:10px;

    align-items:center;

    font-size:13px;

    font-weight:700;

}


.about-feature i{

    color:var(--green);

}


/* =====================================================
   BUSINESS TYPES
===================================================== */

.business-types{

    background:#f5f8fc;

}


.business-grid{

    display:grid;

    grid-template-columns:
    repeat(5,1fr);

    gap:18px;

    margin-top:55px;

}


.business-card{

    background:white;

    padding:32px 18px;

    text-align:center;

    border-radius:18px;

    border:
    1px solid var(--border);

    transform-style:
    preserve-3d;

    transition:.4s;

}


.business-card:hover{

    transform:

    translateY(-14px)
    rotateX(5deg)
    rotateY(-5deg);

    box-shadow:
    0 25px 50px
    rgba(10,40,82,.12);

}


.business-card i{

    width:65px;

    height:65px;

    display:flex;

    align-items:center;

    justify-content:center;

    margin:auto;

    border-radius:50%;

    color:var(--secondary);

    background:#fff0f2;

    font-size:25px;

    transition:.5s;

}


.business-card:hover i{

    background:var(--secondary);

    color:white;

    transform:
    rotateY(360deg)
    translateZ(20px);

}


.business-card h3{

    font-size:14px;

    margin-top:20px;

}


.business-card p{

    font-size:12px;

    color:var(--gray);

    line-height:1.7;

    margin-top:10px;

}


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

.services{

    background:white;

}


.services-grid{

    display:grid;

    grid-template-columns:
    repeat(3,1fr);

    gap:25px;

    margin-top:55px;

}


.service-card{

    padding:35px;

    border-radius:18px;

    background:white;

    border:
    1px solid var(--border);

    position:relative;

    overflow:hidden;

    transform-style:
    preserve-3d;

    transition:.4s;

}


.service-card:before{

    content:"";

    position:absolute;

    width:150px;

    height:150px;

    border-radius:50%;

    background:
    rgba(242,30,50,.04);

    right:-70px;

    top:-70px;

}


.service-card:hover{

    transform:

    translateY(-15px)
    rotateX(4deg)
    rotateY(-3deg);

    box-shadow:
    0 30px 60px
    rgba(10,40,82,.13);

}


.service-number{

    font-size:12px;

    color:var(--secondary);

    font-weight:900;

}


.service-icon{

    width:68px;

    height:68px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:16px;

    margin:18px 0;

    color:white;

    font-size:26px;

    background:

    linear-gradient(
        135deg,
        var(--primary),
        var(--primary-light)
    );

    box-shadow:
    0 15px 30px
    rgba(10,40,82,.2);

}


.service-card h3{

    font-size:20px;

}


.service-card p{

    color:var(--gray);

    line-height:1.8;

    font-size:14px;

    margin-top:13px;

}


.service-link{

    display:inline-flex;

    gap:8px;

    align-items:center;

    color:var(--secondary);

    font-weight:800;

    font-size:13px;

    margin-top:20px;

}


/* =====================================================
   EXPERTISE
===================================================== */

.expertise{

    overflow:hidden;

    background:

    radial-gradient(
        circle at 80% 50%,
        #e8f1fd,
        transparent 30%
    ),

    #ffffff;

}


.expertise-grid{

    display:grid;

    grid-template-columns:
    1fr 1fr;

    gap:80px;

    align-items:center;

}


.expertise-content p{

    color:var(--gray);

    line-height:1.9;

    margin:22px 0;

}


.expertise-points{

    display:grid;

    grid-template-columns:
    repeat(2,1fr);

    gap:15px;

    margin-bottom:30px;

}


.expertise-points div{

    font-size:13px;

    font-weight:700;

}


.expertise-points i{

    color:var(--green);

    margin-right:8px;

}


/* =====================================================
   3D ORBIT
===================================================== */

.expertise-visual{

    min-height:500px;

    display:flex;

    align-items:center;

    justify-content:center;

    perspective:1000px;

}


.expertise-orbit{

    width:360px;

    height:360px;

    border-radius:50%;

    position:relative;

    border:
    2px solid
    rgba(10,40,82,.12);

    animation:
    orbitRotate 20s linear infinite;

}


@keyframes orbitRotate{

    from{

        transform:
        rotate(0deg)
        rotateX(10deg);

    }

    to{

        transform:
        rotate(360deg)
        rotateX(10deg);

    }

}


.orbit-center{

    position:absolute;

    width:125px;

    height:125px;

    top:50%;

    left:50%;

    transform:
    translate(-50%,-50%);

    border-radius:50%;

    display:flex;

    flex-direction:column;

    align-items:center;

    justify-content:center;

    color:white;

    background:

    linear-gradient(
        145deg,
        var(--primary),
        var(--primary-light)
    );

    box-shadow:
    0 25px 50px
    rgba(10,40,82,.25);

    z-index:5;

}


.orbit-center i{

    color:var(--secondary);

    font-size:28px;

}


.orbit-center span{

    font-size:20px;

    font-weight:900;

    margin-top:6px;

}


.orbit-item{

    position:absolute;

    width:65px;

    height:65px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:17px;

    background:white;

    color:var(--secondary);

    font-size:25px;

    box-shadow:
    0 15px 30px
    rgba(0,0,0,.1);

}


.orbit-1{

    left:148px;

    top:-32px;

}


.orbit-2{

    right:-30px;

    top:65px;

}


.orbit-3{

    right:-25px;

    bottom:45px;

}


.orbit-4{

    left:-25px;

    bottom:45px;

}


.orbit-5{

    left:-30px;

    top:65px;

}


/* =====================================================
   WHY CHOOSE US
===================================================== */

.why-us{

    background:
    linear-gradient(
        135deg,
        #071c39,
        #103d73
    );

    color:white;

}


.why-grid{

    display:grid;

    grid-template-columns:
    1fr 1fr;

    gap:70px;

    align-items:center;

}


.why-us .section-title{

    color:white;

}


.why-us .section-description{

    color:#b6c8df;

}


.why-list{

    margin-top:35px;

}


.why-item{

    display:flex;

    gap:20px;

    margin-bottom:25px;

}


.why-number{

    min-width:55px;

    height:55px;

    border-radius:14px;

    display:flex;

    align-items:center;

    justify-content:center;

    color:white;

    font-weight:900;

    background:var(--secondary);

}


.why-item h3{

    font-size:17px;

}


.why-item p{

    color:#aebfd4;

    font-size:13px;

    line-height:1.7;

    margin-top:7px;

}


/* =====================================================
   WHY VISUAL
===================================================== */

.why-visual{

    height:450px;

    position:relative;

    display:flex;

    align-items:center;

    justify-content:center;

}


.why-circle{

    width:340px;

    height:340px;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    border:
    1px solid
    rgba(255,255,255,.1);

    animation:
    circleRotate 20s linear infinite;

}


@keyframes circleRotate{

    to{

        transform:
        rotate(360deg);

    }

}


.why-core{

    width:140px;

    height:140px;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    text-align:center;

    font-weight:900;

    background:var(--secondary);

    box-shadow:
    0 0 70px
    rgba(242,30,50,.35);

}


.why-dot{

    width:55px;

    height:55px;

    position:absolute;

    border-radius:50%;

    background:white;

    color:var(--primary);

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:20px;

}


.dot1{

    top:-27px;

    left:142px;

}


.dot2{

    right:-27px;

    top:140px;

}


.dot3{

    left:142px;

    bottom:-27px;

}


.dot4{

    left:-27px;

    top:140px;

}


/* =====================================================
   JOURNEY
===================================================== */

.journey{

    background:#f5f8fc;

}


.timeline{

    max-width:900px;

    margin:65px auto 0;

    position:relative;

}


.timeline:before{

    content:"";

    position:absolute;

    left:37px;

    top:40px;

    bottom:40px;

    width:2px;

    background:

    linear-gradient(
        var(--secondary),
        var(--primary)
    );

}


.timeline-item{

    display:flex;

    gap:25px;

    margin-bottom:30px;

    padding:28px;

    border-radius:17px;

    background:white;

    position:relative;

    transition:.4s;

    box-shadow:
    0 10px 30px
    rgba(10,40,82,.04);

}


.timeline-item:hover{

    transform:

    translateX(12px)
    rotateY(-2deg);

    box-shadow:
    0 20px 40px
    rgba(10,40,82,.1);

}


.timeline-number{

    min-width:75px;

    height:75px;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    background:var(--secondary);

    color:white;

    font-weight:900;

    position:relative;

    z-index:2;

}


.timeline-item h3{

    font-size:19px;

}


.timeline-item p{

    color:var(--gray);

    font-size:13px;

    line-height:1.8;

    margin-top:8px;

}


/* =====================================================
   TECHNOLOGY SECTION
===================================================== */

.technology{

    overflow:hidden;

    background:white;

}


.technology-grid{

    display:grid;

    grid-template-columns:
    1fr 1fr;

    gap:80px;

    align-items:center;

}


.tech-visual{

    height:450px;

    display:flex;

    align-items:center;

    justify-content:center;

    perspective:1000px;

}


.tech-cube{

    width:180px;

    height:180px;

    position:relative;

    transform-style:preserve-3d;

    animation:
    cubeRotate 12s linear infinite;

}


@keyframes cubeRotate{

    from{

        transform:
        rotateX(-20deg)
        rotateY(0deg);

    }

    to{

        transform:
        rotateX(-20deg)
        rotateY(360deg);

    }

}


.cube-face{

    position:absolute;

    width:180px;

    height:180px;

    display:flex;

    align-items:center;

    justify-content:center;

    color:white;

    font-size:40px;

    font-weight:900;

    background:

    linear-gradient(
        145deg,
        var(--primary),
        var(--primary-light)
    );

    border:
    1px solid
    rgba(255,255,255,.15);

}


.front{

    transform:
    translateZ(90px);

}


.back{

    transform:
    rotateY(180deg)
    translateZ(90px);

}


.right{

    transform:
    rotateY(90deg)
    translateZ(90px);

}


.left{

    transform:
    rotateY(-90deg)
    translateZ(90px);

}


.tech-content p{

    color:var(--gray);

    line-height:1.9;

    margin:20px 0 30px;

}


.tech-list{

    display:grid;

    grid-template-columns:
    repeat(2,1fr);

    gap:16px;

}


.tech-list div{

    font-size:13px;

    font-weight:700;

}


.tech-list i{

    color:var(--green);

    margin-right:8px;

}


/* =====================================================
   PORTFOLIO
===================================================== */

.portfolio{

    background:#f5f8fc;

    overflow:hidden;

}


.portfolio-track{

    display:flex;

    gap:25px;

    width:max-content;

    margin-top:55px;

    animation:
    portfolioScroll 35s linear infinite;

}


.portfolio-track:hover{

    animation-play-state:paused;

}


@keyframes portfolioScroll{

    from{

        transform:
        translateX(0);

    }

    to{

        transform:
        translateX(-50%);

    }

}


.portfolio-card{

    width:330px;

    height:390px;

    border-radius:20px;

    overflow:hidden;

    background:white;

    box-shadow:
    0 15px 40px
    rgba(10,40,82,.1);

    flex-shrink:0;

    transition:.4s;

}


.portfolio-card:hover{

    transform:

    translateY(-12px)
    rotateX(4deg)
    rotateY(-3deg);

}


.portfolio-image{

    height:235px;

    position:relative;

    overflow:hidden;

}


.portfolio-image.one{

    background:

    linear-gradient(
        135deg,
        #0b2954,
        #2364a6
    );

}


.portfolio-image.two{

    background:

    linear-gradient(
        135deg,
        #e82339,
        #ff6a78
    );

}


.portfolio-image.three{

    background:

    linear-gradient(
        135deg,
        #071c39,
        #203e66
    );

}


.portfolio-image.four{

    background:

    linear-gradient(
        135deg,
        #f2a50a,
        #ffcc58
    );

}


.portfolio-image.five{

    background:

    linear-gradient(
        135deg,
        #682eaa,
        #ad62f5
    );

}


.portfolio-image i{

    position:absolute;

    top:50%;

    left:50%;

    transform:
    translate(-50%,-50%);

    color:white;

    font-size:70px;

    opacity:.9;

}


.portfolio-content{

    padding:22px;

}


.portfolio-content span{

    color:var(--secondary);

    font-size:11px;

    font-weight:800;

}


.portfolio-content h3{

    margin-top:9px;

    font-size:18px;

}


.portfolio-content p{

    margin-top:8px;

    font-size:12px;

    color:var(--gray);

}


/* =====================================================
   STATS
===================================================== */

.stats{

    background:

    linear-gradient(
        135deg,
        var(--primary),
        #123f75
    );

    color:white;

}


.stats-grid{

    display:grid;

    grid-template-columns:
    repeat(4,1fr);

    gap:30px;

}


.stat-box{

    text-align:center;

}


.stat-box i{

    font-size:30px;

    color:var(--secondary);

}


.stat-box h2{

    font-size:45px;

    margin-top:15px;

}


.stat-box p{

    color:#b9c9dc;

    font-size:13px;

    margin-top:5px;

}


/* =====================================================
   TESTIMONIALS
===================================================== */

.testimonials{

    background:white;

    overflow:hidden;

}


.testimonial-track{

    display:flex;

    gap:25px;

    width:max-content;

    margin-top:55px;

    animation:
    testimonialScroll 40s linear infinite;

}


.testimonial-track:hover{

    animation-play-state:paused;

}


@keyframes testimonialScroll{

    from{

        transform:
        translateX(0);

    }

    to{

        transform:
        translateX(-50%);

    }

}


.testimonial-card{

    width:370px;

    padding:30px;

    flex-shrink:0;

    border-radius:18px;

    border:
    1px solid var(--border);

    background:white;

    box-shadow:
    0 10px 30px
    rgba(10,40,82,.05);

    transition:.4s;

}


.testimonial-card:hover{

    transform:
    translateY(-10px);

}


.stars{

    color:#ffb000;

    font-size:13px;

}


.testimonial-card p{

    color:var(--gray);

    line-height:1.8;

    font-size:13px;

    margin:18px 0;

}


.client{

    display:flex;

    align-items:center;

    gap:12px;

}


.client-avatar{

    width:45px;

    height:45px;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    color:white;

    background:var(--primary);

    font-weight:800;

}


.client h4{

    font-size:14px;

}


.client span{

    color:var(--gray);

    font-size:11px;

}


/* =====================================================
   FAQ
===================================================== */

.faq{

    background:#f5f8fc;

}


.faq-container{

    max-width:850px;

    margin:50px auto 0;

}


.faq-item{

    background:white;

    border-radius:12px;

    margin-bottom:15px;

    border:
    1px solid var(--border);

    overflow:hidden;

}


.faq-question{

    width:100%;

    padding:22px;

    display:flex;

    align-items:center;

    justify-content:space-between;

    background:white;

    font-family:"Montserrat";

    font-weight:700;

    color:var(--primary);

    text-align:left;

}


.faq-question i{

    color:var(--secondary);

    transition:.3s;

}


.faq-answer{

    max-height:0;

    overflow:hidden;

    transition:.4s;

}


.faq-answer p{

    padding:
    0 22px 22px;

    color:var(--gray);

    line-height:1.8;

    font-size:14px;

}


.faq-item.active .faq-answer{

    max-height:300px;

}


.faq-item.active .faq-question i{

    transform:
    rotate(45deg);

}


/* =====================================================
   CTA
===================================================== */

.cta{

    padding:90px 0;

    background:

    linear-gradient(
        135deg,
        var(--secondary),
        #ff4355
    );

    color:white;

}


.cta-content{

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:30px;

}


.cta h2{

    font-size:38px;

}


.cta p{

    margin-top:12px;

    color:#ffe4e7;

}


.cta .btn{

    background:white;

    color:var(--secondary);

}


/* =====================================================
   CONTACT
===================================================== */

.contact{

    background:white;

}


.contact-grid{

    display:grid;

    grid-template-columns:
    .9fr 1.1fr;

    gap:70px;

}


.contact-info p{

    color:var(--gray);

    line-height:1.9;

    margin-top:20px;

}


.contact-details{

    margin-top:35px;

}


.contact-item{

    display:flex;

    gap:17px;

    align-items:center;

    margin-bottom:22px;

}


.contact-icon{

    width:52px;

    height:52px;

    min-width:52px;

    border-radius:13px;

    display:flex;

    align-items:center;

    justify-content:center;

    color:white;

    background:var(--primary);

}


.contact-item h4{

    font-size:14px;

}


.contact-item span{

    display:block;

    margin-top:5px;

    color:var(--gray);

    font-size:13px;

}


/* =====================================================
   CONTACT FORM
===================================================== */

.contact-form{

    padding:35px;

    border-radius:20px;

    background:#f5f8fc;

}


.form-grid{

    display:grid;

    grid-template-columns:
    1fr 1fr;

    gap:16px;

}


.input-group{

    margin-bottom:16px;

}


.input-group label{

    display:block;

    font-size:12px;

    font-weight:700;

    margin-bottom:7px;

    color:var(--primary);

}


.input-group input,
.input-group textarea,
.input-group select{

    width:100%;

    padding:14px;

    border-radius:8px;

    border:
    1px solid var(--border);

    outline:none;

    font-family:"Inter";

    transition:.3s;

    background:white;

}


.input-group input:focus,
.input-group textarea:focus,
.input-group select:focus{

    border-color:var(--secondary);

    box-shadow:
    0 0 0 3px
    rgba(242,30,50,.08);

}


.input-group textarea{

    min-height:130px;

    resize:vertical;

}


/* =====================================================
   GUJRANWALA LOCATION
===================================================== */

.location-section{

    padding-top:0;

    background:white;

}


.gujranwala-box{

    padding:70px;

    border-radius:25px;

    overflow:hidden;

    position:relative;

    background:

    linear-gradient(
        135deg,
        #08254c,
        #164c87
    );

}


.gujranwala-box:before{

    content:"";

    position:absolute;

    width:550px;

    height:550px;

    border-radius:50%;

    border:
    100px solid
    rgba(255,255,255,.025);

    right:-220px;

    top:-220px;

}


.location-grid{

    display:grid;

    grid-template-columns:
    1fr 1fr;

    align-items:center;

    gap:50px;

    position:relative;

    z-index:2;

}


.location-text h2{

    font-size:40px;

    line-height:1.25;

    color:white;

}


.location-text p{

    color:#b9cce2;

    line-height:1.9;

    margin-top:20px;

}


.location-card{

    display:flex;

    gap:15px;

    align-items:center;

    margin-top:30px;

    color:white;

}


.location-card > i{

    width:55px;

    height:55px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    background:var(--secondary);

    font-size:22px;

}


.location-card strong{

    display:block;

}


.location-card span{

    display:block;

    margin-top:4px;

    font-size:12px;

    color:#b9cce2;

}


/* =====================================================
   MAP VISUAL
===================================================== */

.map-visual{

    height:400px;

    display:flex;

    align-items:center;

    justify-content:center;

    perspective:1000px;

}


.map-system{

    width:340px;

    height:340px;

    position:relative;

    display:flex;

    align-items:center;

    justify-content:center;

}


.map-ring{

    position:absolute;

    border-radius:50%;

    border:
    1px solid
    rgba(255,255,255,.12);

}


.ring1{

    width:200px;

    height:200px;

}


.ring2{

    width:280px;

    height:280px;

}


.ring3{

    width:360px;

    height:360px;

}


.map-pin{

    width:120px;

    height:120px;

    border-radius:50%;

    display:flex;

    flex-direction:column;

    align-items:center;

    justify-content:center;

    background:white;

    color:var(--secondary);

    font-size:34px;

    position:relative;

    z-index:5;

    box-shadow:
    0 25px 50px
    rgba(0,0,0,.25);

    animation:
    pinFloat 4s ease-in-out infinite;

}


.map-pin span{

    color:var(--primary);

    font-size:12px;

    font-weight:900;

    margin-top:8px;

}


@keyframes pinFloat{

    0%,
    100%{

        transform:
        translateY(0)
        rotateY(-5deg);

    }

    50%{

        transform:
        translateY(-18px)
        rotateY(5deg);

    }

}


.map-point{

    width:14px;

    height:14px;

    border-radius:50%;

    position:absolute;

    background:var(--secondary);

    box-shadow:
    0 0 0 8px
    rgba(242,30,50,.1);

}


.point1{

    top:45px;

    left:70px;

}


.point2{

    top:100px;

    right:35px;

}


.point3{

    bottom:55px;

    left:55px;

}


.point4{

    bottom:40px;

    right:65px;

}


/* =====================================================
   FOOTER
===================================================== */

.footer{

    padding:70px 0 25px;

    background:var(--primary-dark);

    color:white;

}


.footer-grid{

    display:grid;

    grid-template-columns:
    1.4fr 1fr 1fr 1fr;

    gap:40px;

}


.footer-logo{

    font-family:"Montserrat";

    font-size:26px;

    font-weight:900;

}


.footer-logo span{

    color:var(--secondary);

}


.footer-about{

    color:#9eb2cc;

    font-size:13px;

    line-height:1.8;

    margin-top:15px;

    max-width:330px;

}


.footer h4{

    font-size:15px;

    margin-bottom:20px;

}


.footer-links{

    list-style:none;

}


.footer-links li{

    margin-bottom:11px;

}


.footer-links a{

    color:#9eb2cc;

    font-size:13px;

    transition:.3s;

}


.footer-links a:hover{

    color:var(--secondary);

}


.footer-contact p{

    color:#9eb2cc;

    font-size:13px;

    margin-bottom:13px;

}


.footer-contact i{

    color:var(--secondary);

    width:20px;

}


.footer-bottom{

    margin-top:55px;

    padding-top:22px;

    border-top:
    1px solid
    rgba(255,255,255,.1);

    display:flex;

    justify-content:space-between;

    color:#8296b1;

    font-size:12px;

}


/* =====================================================
   WHATSAPP BUTTON
===================================================== */

.whatsapp{

    width:60px;

    height:60px;

    position:fixed;

    right:25px;

    bottom:25px;

    z-index:99999;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    background:#25d366;

    color:white;

    font-size:31px;

    box-shadow:
    0 15px 35px
    rgba(37,211,102,.35);

    transition:.3s;

}


.whatsapp:hover{

    transform:
    scale(1.12)
    rotate(8deg);

}


.whatsapp:before{

    content:"";

    position:absolute;

    width:100%;

    height:100%;

    border-radius:50%;

    border:
    2px solid
    rgba(37,211,102,.4);

    animation:
    whatsappPulse 2s infinite;

}


@keyframes whatsappPulse{

    0%{

        transform:scale(1);

        opacity:1;

    }

    100%{

        transform:scale(1.7);

        opacity:0;

    }

}


/* =====================================================
   BACK TO TOP
===================================================== */

.back-top{

    position:fixed;

    right:30px;

    bottom:100px;

    width:42px;

    height:42px;

    border-radius:10px;

    display:none;

    align-items:center;

    justify-content:center;

    background:var(--primary);

    color:white;

    z-index:999;

}


.back-top.show{

    display:flex;

}


/* =====================================================
   SCROLL ANIMATION
===================================================== */

.reveal{

    opacity:0;

    transform:
    translateY(40px);

    transition:
    1s ease;

}


.reveal.active{

    opacity:1;

    transform:
    translateY(0);

}


/* =====================================================
   RESPONSIVE
===================================================== */

@media(max-width:1050px){


    .hero-container{

        grid-template-columns:1fr;

        padding:80px 0;

    }


    .hero{

        min-height:auto;

    }


    .hero-content{

        text-align:center;

    }


    .hero-content p{

        margin-left:auto;

        margin-right:auto;

    }


    .hero-buttons{

        justify-content:center;

    }


    .hero-visual{

        margin-top:20px;

    }


    .about-grid,
    .expertise-grid,
    .why-grid,
    .technology-grid,
    .contact-grid,
    .location-grid{

        grid-template-columns:1fr;

    }


    .services-grid{

        grid-template-columns:
        repeat(2,1fr);

    }


    .business-grid{

        grid-template-columns:
        repeat(3,1fr);

    }


    .footer-grid{

        grid-template-columns:
        repeat(2,1fr);

    }


    .why-visual{

        margin-top:30px;

    }


}


@media(max-width:700px){


    section{

        padding:75px 0;

    }


    .topbar-content{

        justify-content:center;

        text-align:center;

    }


    .topbar-right{

        display:none;

    }


    .topbar-left{

        justify-content:center;

    }


    .nav-links{

        display:none;

        position:absolute;

        left:0;

        right:0;

        top:82px;

        background:white;

        flex-direction:column;

        padding:25px;

        box-shadow:
        0 20px 30px
        rgba(0,0,0,.1);

    }


    .nav-links.active{

        display:flex;

    }


    .menu-btn{

        display:block;

    }


    .hero-title{

        font-size:42px;

    }


    .section-title{

        font-size:32px;

    }


    .hero-services{

        flex-wrap:wrap;

    }


    .hero-service{

        min-width:30%;

        margin-bottom:20px;

    }


    .analytics-card{

        width:100%;

        padding:20px;

        transform:none;

    }


    .analytics-card:hover{

        transform:
        translateY(-5px);

    }


    /* FLOATING CARDS MOBILE */

    .card-one{

        left:10px;

        top:-20px;

        z-index:500;

    }


    .card-two{

        right:10px;

        bottom:-20px;

        z-index:500;

    }


    .floating-card{

        padding:12px 14px;

        font-size:11px;

    }


    .chart{

        gap:8px;

    }


    .bar{

        max-width:none;

    }


    .trust-grid{

        grid-template-columns:
        repeat(2,1fr);

    }


    .trust-item{

        padding:12px;

        border:none;

    }


    .business-grid{

        grid-template-columns:
        repeat(2,1fr);

    }


    .services-grid{

        grid-template-columns:1fr;

    }


    .about-visual{

        min-height:430px;

    }


    .about-main-card{

        width:90%;

    }


    .expertise-points{

        grid-template-columns:1fr;

    }


    .expertise-orbit{

        transform:scale(.8);

    }


    .tech-list{

        grid-template-columns:1fr;

    }


    .stats-grid{

        grid-template-columns:
        repeat(2,1fr);

    }


    .stat-box h2{

        font-size:34px;

    }


    .testimonial-card{

        width:300px;

    }


    .portfolio-card{

        width:280px;

    }


    .cta-content{

        flex-direction:column;

        text-align:center;

    }


    .cta h2{

        font-size:30px;

    }


    .form-grid{

        grid-template-columns:1fr;

    }


    .gujranwala-box{

        padding:40px 25px;

    }


    .location-text h2{

        font-size:30px;

    }


    .map-system{

        transform:scale(.85);

    }


    .footer-grid{

        grid-template-columns:1fr;

    }


    .footer-bottom{

        flex-direction:column;

        gap:10px;

        text-align:center;

    }


}/* End custom CSS */