:root{
    --primary:#6750F6;
    --primary-light:#F2EEFF;

    --background:#F6F7FB;

    --card:#FFFFFF;

    --text:#222222;

    --muted:#777777;

    --radius-sm:12px;
    --radius-md:20px;
    --radius-lg:28px;

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

    --transition:.3s ease;
}
body {
    background: #f7f7fb;
    font-family: tahoma;
}

h1 {
    color: #5b3df0;
}

.card {
    border-radius: 15px;
    border: none;
    transition: 0.3s;
}

.card:hover {
    transform: translateY(-5px);
}
:root{

    --primary:#6C4CF1;

    --secondary:#F4F4F8;

    --text:#2F2F2F;

    --gray:#777;

    --white:#ffffff;

}
body{

    background:#f7f7fb;

    font-family:tahoma;

    color:var(--text);

}
.hero{

    padding:40px 15px;

}

.hero-box{

    background:white;

    border-radius:25px;

    padding:30px;

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

}

.hero h1{

    font-size:32px;

    font-weight:bold;

    margin-top:15px;

}

.hero p{

    color:#666;

    margin:20px 0;

    line-height:2;

}
.btn-main{

    background:#6C4CF1;

    color:white;

    padding:12px 28px;

    border-radius:15px;

    text-decoration:none;

    display:inline-block;

}

.btn-main:hover{

    background:#5938ef;

    color:white;

}
.service-card{

    background:white;

    border-radius:20px;

    padding:25px;

    text-align:center;

    box-shadow:0 5px 15px rgba(0,0,0,.05);

    transition:.3s;

}

.service-card:hover{

    transform:translateY(-5px);

}

.service-card{

    font-size:30px;

}

.service-card h6{

    margin-top:15px;

}


.project-card span{

    color:#6C4CF1;

    font-size:14px;

}
/*==========================
    FONT
===========================*/

@font-face{

    font-family:Vazir;

    src:url("../fonts/Vazirmatn-Regular.woff2");

}

@font-face{

    font-family:VazirBold;

    src:url("../fonts/Vazirmatn-Bold.woff2");

}

/*==========================*/

:root{

    --primary:#6750F6;

    --primary-light:#EEEAFE;

    --bg:#F6F7FB;

    --card:#FFFFFF;

    --text:#222;

    --gray:#808080;

    --radius:22px;

}

/*==========================*/

*{

    margin:0;

    padding:0;

    box-sizing:border-box;

}

body{

    font-family:Vazir;

    background:var(--bg);

    color:var(--text);

}
.btn-main{

    background:var(--primary);

    color:white;

    padding:13px 28px;

    border-radius:15px;

    border:none;

    text-decoration:none;

    display:inline-block;

    transition:.3s;

}

.btn-main:hover{

    transform:translateY(-3px);

    color:white;

}
.app-card{

    background:white;

    border-radius:22px;

    padding:20px;

    box-shadow:

            0 10px 30px rgba(0,0,0,.05);

}
.section{

    margin-top:15px;

    margin-bottom:15px;

}
.logo-circle{

    width:42px;

    height:42px;

    background:#6750F6;

    color:#fff;

    border-radius:14px;

    display:flex;

    align-items:center;

    justify-content:center;

    font-weight:bold;

    font-size:20px;

}

.navbar-brand{

    color:#222 !important;

    text-decoration:none;

}

.nav-link{
    color:#666 !important;
    transition:.3s;
}

.nav-link:hover{

    color:#6750F6 !important;

}
.hero-card{

    padding:35px;

}

.hero-badge{

    background:#EEEAFE;

    color:#6750F6;

    padding:8px 16px;

    border-radius:30px;

    display:inline-block;

    font-size:14px;

}

.hero-card h1{

    font-size:34px;

    font-family:VazirBold;

    line-height:1.5;

}

.hero-card p{

    color:#666;

    line-height:2;

    max-width:600px;

}
.service-card{

    background:#fff;

    border-radius:20px;

    padding:24px;

    text-align:center;

    transition:.3s;

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

    height:100%;

}

.service-card:hover{

    transform:translateY(-5px);

}

.service-icon{

    width:60px;

    height:60px;

    margin:auto;

    background:#EEEAFE;

    border-radius:18px;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:28px;

    margin-bottom:15px;

}
.section{

    padding:15px 0;

}

.section-title{

    font-size:28px;

    font-family:VazirBold;

    margin-bottom:8px;

}

.section-desc{

    color:#777;

    margin-bottom:10px;

}


.project-card:hover{

    transform:translateY(-8px);

}



.project-body{

    padding:20px;

}

.project-category{

    display:inline-block;

    background:#EEEAFE;

    color:#6750F6;

    padding:6px 14px;

    border-radius:30px;

    font-size:13px;

    margin-bottom:12px;

}

.project-body p{

    color:#777;

}

.project-body a{

    text-decoration:none;

    font-weight:bold;

}
.app-card h2{

    font-size:34px;

    font-family:VazirBold;

    color:#6750F6;

}

.app-card p{

    margin:0;

    color:#777;

}
.cta-box{

    background:#6750F6;

    padding:50px;

    border-radius:30px;

    text-align:center;

    color:white;

}

.cta-box p{

    margin:20px 0;

    opacity:.9;

}
.footer{

    margin-top:10px;

    padding:10px 0;

    color:#777;

    border-top:1px solid #eee;

}
.bottom-nav{

    position:fixed;

    bottom:0;

    left:0;

    width:100%;

    height:72px;

    background:white;

    display:flex;

    justify-content:space-around;

    align-items:center;

    box-shadow:0 -5px 20px rgba(0,0,0,.08);

    z-index:9999;

    bottom: max(8px, env(safe-area-inset-bottom));

}

.bottom-nav a{

    text-decoration:none;

    display:flex;

    flex-direction:column;

    align-items:center;

    font-size:12px;

    color:#888;

}

.bottom-nav i{

    font-size:22px;

    margin-bottom:4px;

}

.bottom-nav .active{

    color:#6750F6;

}

.middle{

    width:58px;

    height:58px;

    background:#6750F6;

    color:white !important;

    border-radius:18px;

    margin-top:-30px;

    display:flex;

    justify-content:center;

    align-items:center;

}

.middle i{

    margin:0;

    font-size:28px;

}
@media(max-width:991px){

    .footer{

        padding-bottom:80px;

    }

}
.whatsapp{

    position:fixed;

    bottom:95px;

    left:20px;

    width:55px;

    height:55px;

    background:#25D366;

    color:white;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:18px;

    text-decoration:none;

    font-size:28px;

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

    z-index:999;

}

.hero{

    padding:70px 0;

}

.hero-image{

    max-width:520px;

    width:100%;

    animation:float 5s ease infinite;

}
@keyframes float{

    0%{

        transform:translateY(0);

    }

    50%{

        transform:translateY(-15px);

    }

    100%{

        transform:translateY(0);

    }

}
/*=========================
WHY US
=========================*/

.why-card{

    background:#fff;

    border-radius:26px;

    padding:35px 30px;

    height:100%;

    text-align:center;

    transition:.35s;

    box-shadow:

            0 10px 35px rgba(0,0,0,.05);

    border:1px solid #F3F3F3;

}

.why-card:hover{

    transform:translateY(-8px);

    box-shadow:

            0 20px 40px rgba(103,80,246,.12);

}

.why-icon{

    width:78px;

    height:78px;

    margin:auto;

    margin-bottom:20px;

    background:#F2EEFF;

    border-radius:22px;

    display:flex;

    justify-content:center;

    align-items:center;

}

.why-icon i{

    font-size:34px;

    color:#6750F6;

}

.why-card h4{

    font-size:22px;

    font-family:VazirBold;

    margin-bottom:15px;

}

.why-card p{

    color:#777;

    line-height:2;

    margin:0;

}
.stats-box{

    background:linear-gradient(135deg,#6750F6,#7E63FF);

    padding:40px;

    border-radius:30px;

    color:#fff;

}

.stats-box h2{

    font-size:40px;

    font-family:VazirBold;

}

.stats-box span{

    opacity:.9;

}

.stats-box .col{

    position:relative;

}

.stats-box .col:not(:last-child)::after{

    content:"";

    position:absolute;

    left:0;

    top:20%;

    width:1px;

    height:60%;

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

}
.navbar{

    position:fixed;

    top:0;

    left:0;

    width:100%;

    z-index:9999;

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

    backdrop-filter:blur(18px);

    -webkit-backdrop-filter:blur(18px);

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

}
body{

    padding-top:90px;

}
@media(max-width:991px){

    .navbar{

        height:70px;

        padding:10px 0;

    }

    .navbar-brand{

        font-size:24px;

    }

    .navbar-toggler{

        display:none;

    }

    .navbar-collapse{

        display:none !important;

    }

}


.project-card:hover{

    transform:translateY(-8px);

    box-shadow:

            0 20px 45px rgba(103,80,246,.15);

}



.project-content{

    padding:25px;

}

.project-badge{

    display:inline-block;

    background:#F2EEFF;

    color:#6750F6;

    padding:8px 18px;

    border-radius:40px;

    font-size:13px;

    margin-bottom:15px;

}

.project-content h3{

    font-size:24px;

    margin-bottom:12px;

    font-family:VazirBold;

}

.project-content p{

    color:#777;

    line-height:1.9;

    min-height:60px;

}

.project-content a{

    text-decoration:none;

    font-weight:bold;

    color:#6750F6;

}

.project-content i{

    margin-right:8px;

    transition:.3s;

}

.project-card:hover i{

    margin-right:15px;

}
.section-header{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-bottom:15px;

}


.project-slider::-webkit-scrollbar{

    display:none;

}


.project-card:hover{

    transform:translateY(-8px);

}


.project-content{

    padding:20px;

}

.project-content span{

    display:inline-block;

    background:#EEEAFE;

    padding:8px 16px;

    border-radius:30px;

    color:#6750F6;

    margin-bottom:15px;

    font-size:13px;

}

.project-content h3{

    font-size:23px;

    font-family:VazirBold;

    margin-bottom:15px;

}

.project-content a{

    color:#6750F6;

    text-decoration:none;

    font-weight:bold;

}
@media(min-width:992px){

    .project-slider{

        display:grid;

        grid-template-columns:

repeat(3,1fr);

        overflow:visible;

    }



}


.project-content{

    padding:15px;

}
.project-content span{

    display:inline-block;

    background:#F2EEFF;

    color:#6750F6;

    padding:5px 12px;

    border-radius:20px;

    font-size:11px;

    margin-bottom:10px;

}
.project-content h3{

    font-size:17px;

    font-family:VazirBold;

    margin-bottom:8px;

    line-height:1.6;

}
.project-content p{

    font-size:13px;

    color:#777;

    line-height:1.8;

    margin-bottom:12px;

}
.project-content a{

    font-size:13px;

    font-weight:bold;

    color:#6750F6;

    text-decoration:none;

}
@media (min-width:992px){

    .project-slider{

        display:grid;

        grid-template-columns:repeat(3,220px);

        justify-content:center;

        gap:25px;

        overflow:visible;

    }


}
@media (min-width:992px){

    .project-slider{

        display:grid;

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

        gap:25px;

    }

    .project-card{

        width:100%;
        max-width:none;

    }

}
.stats-grid{

    display:grid;

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

    gap:16px;

}

.stat-card{

    background:#fff;

    border-radius:22px;

    padding:22px;

    text-align:center;

    box-shadow:0 12px 30px rgba(0,0,0,.05);

    transition:.35s;

    opacity:0;

    transform:translateY(40px);

}

.stat-card.show{

    opacity:1;

    transform:translateY(0);

}

.stat-card i{

    font-size:34px;

    color:#6750F6;

    margin-bottom:15px;

}

.stat-card h3{

    font-size:34px;

    font-family:VazirBold;

    color:#6750F6;

}

.stat-card p{

    margin:0;

    color:#777;

}
@media(min-width:992px){

    .stats-grid{

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

    }

}
.service-box{

    background:#fff;

    padding:30px;

    border-radius:24px;

    height:100%;

    transition:.35s;

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

    border:1px solid #F3F4F8;

}

.service-box:hover{

    transform:translateY(-8px);

    box-shadow:0 18px 45px rgba(103,80,246,.12);

}

.service-icon{

    width:70px;

    height:70px;

    background:#F2EEFF;

    border-radius:20px;

    display:flex;

    align-items:center;

    justify-content:center;

    margin-bottom:20px;

}

.service-icon i{

    font-size:30px;

    color:#6750F6;

}

.service-box h3{

    font-size:22px;

    font-family:VazirBold;

    margin-bottom:12px;

}

.service-box p{

    color:#777;

    line-height:1.9;

    min-height:55px;

}

.service-box a{

    text-decoration:none;

    font-weight:bold;

    color:#6750F6;

}
.timeline{

    display:grid;

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

    gap:25px;

    position:relative;

}

.step-card{

    background:#fff;

    padding:30px;

    border-radius:22px;

    text-align:center;

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

    transition:.3s;

}

.step-card:hover{

    transform:translateY(-6px);

}

.step-number{

    width:60px;

    height:60px;

    margin:auto;

    background:#6750F6;

    color:#fff;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:24px;

    font-family:VazirBold;

    margin-bottom:20px;

}
@media(max-width:991px){

    .timeline{

        grid-template-columns:1fr;

    }

    .step-card{

        position:relative;

    }

    .step-card:not(:last-child)::after{

        content:"";

        position:absolute;

        bottom:-20px;

        left:50%;

        transform:translateX(-50%);

        width:2px;

        height:20px;

        background:#DDD;

    }

}
.page-header{

    padding:70px 0 40px;

    text-align:center;

}

.page-badge{

    background:#EEEAFE;

    color:#6750F6;

    padding:8px 18px;

    border-radius:30px;

    display:inline-block;

    margin-bottom:20px;

}

.page-header h1{

    font-size:42px;

    font-family:VazirBold;

    margin-bottom:15px;

}

.page-header p{

    color:#777;

    max-width:700px;

    margin:auto;

    line-height:2;

}
.portfolio-tools{

    display:flex;

    gap:15px;

    margin-bottom:40px;

}

.portfolio-tools input{

    height:52px;

    border-radius:16px;

}

.portfolio-tools select{

    height:52px;

    border-radius:16px;

    max-width:220px;

}
@media(max-width:991px){

    .portfolio-tools{

        flex-direction:column;

    }

    .portfolio-tools select{

        max-width:100%;

    }

}
.project-cover{

    width:100%;

    border-radius:25px;

    box-shadow:0 15px 40px rgba(0,0,0,.08);

}
.project-info{

    background:#fff;

    padding:25px;

    border-radius:25px;

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

}
.project-info ul{

    padding:0;

    margin:25px 0;

    list-style:none;

}
.project-info li{

    padding:12px 0;

    border-bottom:1px solid #eee;

}
.project-text{

    line-height:2.2;

    color:#666;

    font-size:16px;

}
.gallery-image{

    width:100%;

    border-radius:18px;

    cursor:pointer;

    transition:.3s;

}
.gallery-image:hover{

    transform:scale(1.05);

}
.about-image{

    width:100%;

    border-radius:25px;

    box-shadow:0 15px 40px rgba(0,0,0,.08);

}
.about-text{

    line-height:2.2;

    color:#666;

    margin-top:20px;

}
.about-list{

    margin-top:30px;

    padding:0;

    list-style:none;

}
.about-list li{

    padding:10px 0;

    font-size:16px;

}
.about-list i{

    color:#6750F6;

    margin-left:10px;

}
.cta-box{

    background:#6750F6;

    border-radius:30px;

    padding:60px 30px;

    text-align:center;

    color:#fff;

}
.cta-box h2{

    font-size:34px;

    margin-bottom:20px;

    font-family:VazirBold;

}
.cta-box p{

    opacity:.9;

    margin-bottom:30px;

}
.cta-box .btn-main{

    background:#fff;

    color:#6750F6;

}
.contact-info{

    background:#fff;

    padding:30px;

    border-radius:24px;

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

    height:100%;

}
.contact-info h3{

    margin-bottom:25px;

    font-family:VazirBold;

}
.contact-item{

    display:flex;

    align-items:center;

    gap:15px;

    padding:18px 0;

    border-bottom:1px solid #eee;

}
.contact-item:last-child{

    border-bottom:none;

}
.contact-item i{

    width:48px;

    height:48px;

    background:#F2EEFF;

    color:#6750F6;

    display:flex;

    justify-content:center;

    align-items:center;

    border-radius:14px;

    font-size:20px;

}
.contact-form{

    background:#fff;

    padding:30px;

    border-radius:24px;

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

}
.contact-form .form-control{

    height:52px;

    border-radius:14px;

}

.contact-form textarea.form-control{

    height:auto;

    resize:none;

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

@media(max-width:768px){

    .stats-grid{

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

    }

}
.section{

    padding:80px 0;

}
.about-image{

    width:100%;

    padding:20px;

    background:#fff;

    border-radius:30px;

    box-shadow:0 15px 40px rgba(0,0,0,.05);

}
.about-list{

    list-style:none;

    padding:0;

    margin-top:25px;

}

.about-list li{

    display:flex;

    align-items:center;

    padding:12px 0;

    font-size:15px;

}

.about-list i{

    width:35px;

    height:35px;

    background:#EEEAFE;

    border-radius:50%;

    display:flex;

    justify-content:center;

    align-items:center;

    margin-left:12px;

    color:#6750F6;

    flex-shrink:0;

}

@media (max-width:576px){

    .container{
        padding-left:12px;
        padding-right:12px;
    }

}
.project-card{
    width:100%;
    height:100%;
    background:#fff;
    border-radius:20px;
    overflow:hidden;
    box-shadow:0 10px 25px rgba(0,0,0,.05);
    transition:.3s;
}

.project-card img{
    width:100%;
    aspect-ratio:4/4;
    object-fit:contain;
    display:block;
}
.bottom-nav{

    display:none;

}

@media(max-width:991px){

    .bottom-nav{
        display:flex;
    }

}
/* دکمه وسط */

.bottom-nav .nav-center i{
    width: 58px;
    height: 58px;
    border-radius: 50%;
    background: linear-gradient(135deg,#7C6BFF,#5B4BFF);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    box-shadow: 0 12px 30px rgba(108,99,255,.35);
}


.bottom-nav .nav-center span{

    margin-top:-8px;

}

.bottom-nav{
    position: fixed;
    bottom: 0px;
    will-change: transform;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
}
/*==============================
Portfolio
==============================*/

.portfolio-search{

    padding-top:20px;
    padding-bottom:25px;

}

.portfolio-projects{

    padding-top:10px;

}
.gallery-image{

    width:100%;

    aspect-ratio:1/1;

    object-fit:cover;

    border-radius:18px;

    transition:.3s;

    cursor:pointer;

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

}

.gallery-image:hover{

    transform:scale(1.04);

}
/*==============================
Scroll To Top
==============================*/

.scroll-top-btn{


    left: 18px;

    bottom: 90px;

    width: 56px;

    height: 56px;

    border: none;

    border-radius: 50%;

    background: linear-gradient(135deg,#7C6BFF,#5B4BFF);

    color: #fff;

    font-size: 22px;


    align-items: center;

    justify-content: center;

    cursor: pointer;

    box-shadow: 0 10px 25px rgba(92,75,255,.35);

    opacity: 0;

    visibility: hidden;

    transform: translateY(20px);

    transition: all .3s ease;

    z-index: 999;
}

.scroll-top-btn.show{

    opacity: 1;

    visibility: visible;

    transform: translateY(0);

}

.scroll-top-btn:hover{

    transform: translateY(-3px);

}
.scroll-top-btn{

    position: fixed;
    left: 18px;
    bottom: 90px;

    width: 56px;
    height: 56px;

    border: none;
    border-radius: 50%;

    background: linear-gradient(135deg,#7C6BFF,#5B4BFF);
    color: #fff;

    display: flex;
    justify-content: center;
    align-items: center;

    font-size: 28px;

    cursor: pointer;

    box-shadow: 0 10px 25px rgba(92,75,255,.35);

    opacity: 0;
    visibility: hidden;
    pointer-events: none;

    transform: translateY(20px);

    transition: .3s;
    z-index: 999;
}

.scroll-top-btn.show{

    opacity: 1;
    visibility: visible;
    pointer-events: auto;

    transform: translateY(0);

}
.bottom-nav a.active{
    color:#6C63FF;
}
.nav-center{
    transform:translateY(-12px);
}

.bottom-nav{
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9999;
}
