/*======================================
  GOOGLE FONT
======================================*/
:root{

    --primary:#4F46E5;
    --secondary:#06B6D4;
    --accent:#8B5CF6;

    --dark:#0f172a;
    --dark2:#1e293b;

    --light:#ffffff;
    --body:#64748b;
    --border:#e5e7eb;

    --bg:#f8fafc;

    --shadow:0 20px 60px rgba(0,0,0,.08);
    --shadow-lg:0 30px 80px rgba(79,70,229,.18);

    --radius:22px;

    --transition:.35s ease;

}

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

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{

    font-family:'Inter',sans-serif;
    background:var(--bg);
    color:var(--dark);
    overflow-x:hidden;
    line-height:1.7;

}

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

::-webkit-scrollbar{
    width:9px;
}

::-webkit-scrollbar-track{
    background:#edf2f7;
}

::-webkit-scrollbar-thumb{
    background:linear-gradient(180deg,var(--primary),var(--secondary));
    border-radius:50px;
}

/*=============================
 LINKS
==============================*/

a{

    text-decoration:none;
    transition:.35s;

}

img{

    max-width:100%;
    display:block;

}

/*=============================
 CONTAINER
==============================*/

.container{

    max-width:1240px;

}

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

section{

    padding:110px 0;
    position:relative;

}

.section-tag{

    display:inline-flex;
    align-items:center;
    gap:10px;

    background:rgba(79,70,229,.08);

    color:var(--primary);

    padding:10px 18px;

    border-radius:50px;

    font-weight:600;

}

.section-title{

    font-size:48px;
    font-weight:800;
    margin-top:15px;
    color:var(--dark);

}

.section-description{

    max-width:720px;
    margin:auto;
    margin-top:20px;

    color:var(--body);

    font-size:18px;

}

.text-custom{

    color:var(--primary);

}

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

.btn-custom{

    background:linear-gradient(135deg,var(--primary),var(--accent));

    color:#fff;

    border:none;

    padding:15px 35px;

    font-weight:700;

    transition:.35s;

    box-shadow:0 18px 40px rgba(79,70,229,.35);

}

.btn-custom:hover{

    transform:translateY(-4px);

    color:#fff;

    box-shadow:0 25px 60px rgba(79,70,229,.45);

}

.btn-outline-dark{

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

    transition:.35s;

}

.btn-outline-dark:hover{

    background:var(--dark);

    color:#fff;

    transform:translateY(-4px);

}

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

.navbar{

    padding:18px 0;

    transition:.35s;

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

    backdrop-filter:blur(18px);

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

}

.navbar.scrolled{

    padding:10px 0;

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

}

.navbar-brand img{

    transition:.35s;

}

.navbar-brand:hover img{

    transform:scale(1.05);

}

.nav-link{

    font-weight:600;

    color:var(--dark);

    margin:0 12px;

    position:relative;

}

.nav-link::after{

    content:"";

    position:absolute;

    width:0;

    left:0;

    bottom:-8px;

    height:3px;

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

    border-radius:20px;

    transition:.35s;

}

.nav-link:hover{

    color:var(--primary);

}

.nav-link:hover::after{

    width:100%;

}

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

.hero-section{

    padding-top:180px;

    padding-bottom:120px;

    background:

    radial-gradient(circle at top left,#dbeafe 0%,transparent 35%),

    radial-gradient(circle at right,#ede9fe 0%,transparent 30%),

    #ffffff;

}

.hero-section h1{

    font-size:64px;

    font-weight:900;

    line-height:1.1;

    margin-top:25px;

}

.hero-section .lead{

    color:var(--body);

    font-size:20px;

    margin-top:30px;

}

.hero-badges{

    display:flex;

    gap:25px;

    flex-wrap:wrap;

}

.hero-badges span{

    display:flex;

    align-items:center;

    gap:8px;

    font-weight:600;

}

/*====================================
 HERO IMAGE
=====================================*/

.hero-image{

    position:relative;

}

.hero-image img{

    border-radius:30px;

    box-shadow:var(--shadow-lg);

    animation:floatImage 5s ease infinite;

}

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

.floating-card{

    position:absolute;

    background:#fff;

    border-radius:20px;

    padding:18px 20px;

    box-shadow:var(--shadow);

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

}

.floating-card i{

    font-size:30px;

    color:var(--primary);

}

.floating-card h4{

    margin:8px 0;

    font-weight:800;

}

.card-one{

    top:40px;

    left:-30px;

}

.card-two{

    right:-30px;

    top:120px;

}

.card-three{

    bottom:30px;

    left:20px;

}

/*====================================
 BACKGROUND SHAPES
=====================================*/

.hero-shape{

    position:absolute;

    border-radius:50%;

    filter:blur(120px);

    opacity:.35;

}

.hero-shape-1{

    width:320px;

    height:320px;

    background:#8B5CF6;

    left:-120px;

    top:0;

}

.hero-shape-2{

    width:350px;

    height:350px;

    background:#06B6D4;

    right:-120px;

    bottom:0;

}

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

@keyframes floatImage{

    0%{
        transform:translateY(0px);
    }

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

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

}

@keyframes floatCard{

    0%{
        transform:translateY(0px);
    }

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

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

}

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

@media(max-width:991px){

.hero-section{

padding-top:150px;

text-align:center;

}

.hero-section h1{

font-size:46px;

}

.hero-badges{

justify-content:center;

}

.floating-card{

display:none;

}

}

@media(max-width:576px){

.section-title{

font-size:34px;

}

.hero-section h1{

font-size:36px;

}

.hero-section .lead{

font-size:17px;

}

.btn-custom{

width:100%;

}

}


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

.stats-section{
    margin-top:-60px;
    position:relative;
    z-index:10;
    padding-bottom:80px;
}

.stats-card{
    background:#fff;
    border-radius:24px;
    padding:40px 25px;
    text-align:center;
    transition:.4s ease;
    box-shadow:0 20px 50px rgba(0,0,0,.06);
    border:1px solid rgba(79,70,229,.08);
    overflow:hidden;
    position:relative;
}

.stats-card::before{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(135deg,
    rgba(79,70,229,.08),
    rgba(6,182,212,.08));
    opacity:0;
    transition:.4s;
}

.stats-card:hover::before{
    opacity:1;
}

.stats-card:hover{
    transform:translateY(-12px);
    box-shadow:0 30px 70px rgba(79,70,229,.18);
}

.stats-icon{
    width:78px;
    height:78px;
    margin:auto;
    border-radius:22px;
    background:linear-gradient(135deg,#4F46E5,#8B5CF6);
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:30px;
    margin-bottom:25px;
}

.stats-card h2{
    font-size:42px;
    font-weight:800;
    margin-bottom:10px;
}

.stats-card p{
    color:#64748b;
    margin:0;
    font-weight:500;
}


/*==================================================
 PRODUCTS
==================================================*/

.products-section{
    background:#f8fafc;
}

.product-card{
    background:#fff;
    border-radius:28px;
    padding:45px;
    transition:.4s;
    position:relative;
    overflow:hidden;
    box-shadow:0 20px 60px rgba(0,0,0,.05);
}

.product-card::after{
    content:"";
    position:absolute;
    top:0;
    left:-120%;
    width:100%;
    height:100%;
    background:linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,.55),
        transparent
    );
    transition:1s;
}

.product-card:hover::after{
    left:120%;
}

.product-card:hover{
    transform:translateY(-12px);
    box-shadow:0 35px 80px rgba(79,70,229,.18);
}

.available-card{
    border-top:6px solid #22c55e;
}

.upcoming-card{
    border-top:6px solid #f59e0b;
}

.product-header{
    display:flex;
    justify-content:space-between;
    align-items:center;
}

.product-icon{
    width:75px;
    height:75px;
    border-radius:22px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:32px;
    color:#fff;
    background:linear-gradient(135deg,#4F46E5,#8B5CF6);
}

.product-icon.warning{
    background:linear-gradient(135deg,#f59e0b,#fb923c);
}

.product-card h3{
    font-size:30px;
    font-weight:800;
    margin-top:30px;
}

.product-card p{
    color:#64748b;
    margin-top:18px;
}

.tool-box{
    background:#f8fafc;
    border-radius:16px;
    padding:18px;
    font-weight:600;
    transition:.35s;
    border:1px solid #edf2f7;
}

.tool-box:hover{
    background:#4F46E5;
    color:#fff;
    transform:translateY(-5px);
}

.tool-box i{
    margin-right:8px;
}

.product-item{
    display:flex;
    align-items:center;
    gap:18px;
    padding:18px;
    margin-bottom:16px;
    border-radius:18px;
    background:#f8fafc;
    transition:.35s;
}

.product-item:hover{
    transform:translateX(8px);
    background:#eef2ff;
}

.product-item i{
    width:60px;
    height:60px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:18px;
    color:#fff;
    background:linear-gradient(135deg,#4F46E5,#8B5CF6);
    font-size:24px;
}

.product-item h6{
    font-weight:700;
    margin-bottom:5px;
}

.product-item small{
    color:#64748b;
}


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

.services-section{
    background:#fff;
}

.service-card{
    background:#fff;
    border-radius:26px;
    padding:38px;
    position:relative;
    transition:.4s;
    overflow:hidden;
    border:1px solid #edf2f7;
    box-shadow:0 18px 45px rgba(0,0,0,.05);
}

.service-card::before{
    content:"";
    position:absolute;
    width:100%;
    height:5px;
    left:0;
    top:0;
    background:linear-gradient(90deg,#4F46E5,#06B6D4);
}

.service-card:hover{
    transform:translateY(-12px);
    box-shadow:0 35px 70px rgba(79,70,229,.16);
}

.service-top{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:30px;
}

.service-icon{
    width:80px;
    height:80px;
    border-radius:24px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(135deg,#4F46E5,#8B5CF6);
    color:#fff;
    font-size:30px;
    transition:.4s;
}

.service-card:hover .service-icon{
    transform:rotate(10deg) scale(1.08);
}

.service-number{
    font-size:55px;
    font-weight:800;
    color:#e2e8f0;
}

.service-card h3{
    font-size:28px;
    font-weight:800;
    margin-bottom:18px;
}

.service-card p{
    color:#64748b;
    margin-bottom:25px;
}

.service-list{
    list-style:none;
    padding:0;
    margin:0;
}

.service-list li{
    padding:12px 0;
    border-bottom:1px dashed #e2e8f0;
    color:#475569;
    font-weight:500;
}

.service-list li:last-child{
    border:none;
}

.service-list li::before{
    content:"✔";
    color:#22c55e;
    margin-right:10px;
    font-weight:700;
}

.service-link{
    margin-top:28px;
    display:inline-flex;
    align-items:center;
    gap:10px;
    color:#4F46E5;
    font-weight:700;
}

.service-link:hover{
    gap:18px;
    color:#8B5CF6;
}

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

@media(max-width:991px){

.product-card{
padding:30px;
}

.service-card{
padding:30px;
}

.stats-card{
margin-bottom:20px;
}

}

@media(max-width:576px){

.stats-card h2{
font-size:34px;
}

.product-card h3,
.service-card h3{
font-size:24px;
}

.product-icon,
.service-icon{
width:65px;
height:65px;
font-size:26px;
}

.service-number{
font-size:42px;
}

}

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

.portfolio-section{
    background:#f8fafc;
}

.portfolio-card{
    background:#fff;
    border-radius:28px;
    overflow:hidden;
    transition:.4s;
    box-shadow:0 20px 60px rgba(0,0,0,.06);
}

.portfolio-card:hover{
    transform:translateY(-12px);
    box-shadow:0 35px 80px rgba(79,70,229,.16);
}

.portfolio-image{
    position:relative;
    overflow:hidden;
}

.portfolio-image img{
    width:100%;
    transition:.6s;
}

.portfolio-card:hover img{
    transform:scale(1.08);
}

.project-badge{
    position:absolute;
    top:20px;
    left:20px;
    background:#4F46E5;
    color:#fff;
    padding:8px 18px;
    border-radius:50px;
    font-size:14px;
    font-weight:600;
}

.project-badge.warning{
    background:#f59e0b;
}

.portfolio-content{
    padding:35px;
}

.portfolio-icon{
    width:65px;
    height:65px;
    border-radius:18px;
    background:linear-gradient(135deg,#4F46E5,#8B5CF6);
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:26px;
    margin-right:18px;
}

.portfolio-icon.warning{
    background:linear-gradient(135deg,#f59e0b,#fb923c);
}

.project-highlights{
    display:flex;
    justify-content:space-between;
    gap:15px;
    margin:30px 0;
}

.project-highlights div{
    flex:1;
    background:#f8fafc;
    padding:18px;
    border-radius:16px;
    text-align:center;
}

.project-highlights strong{
    display:block;
    font-size:22px;
    color:#4F46E5;
}

.project-highlights small{
    color:#64748b;
}

.tech-stack{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}

.tech-stack span{
    background:#eef2ff;
    color:#4F46E5;
    padding:10px 16px;
    border-radius:50px;
    font-weight:600;
}

.portfolio-link{
    display:inline-flex;
    align-items:center;
    gap:10px;
    margin-top:30px;
    color:#4F46E5;
    font-weight:700;
}

.portfolio-link:hover{
    gap:18px;
}

.portfolio-cta{
    background:linear-gradient(135deg,#4F46E5,#8B5CF6);
    color:#fff;
    padding:50px;
    border-radius:30px;
}

.portfolio-cta .btn{
    background:#fff;
    color:#4F46E5;
    font-weight:700;
}

/*==================================================
 TECHNOLOGIES
==================================================*/

.tech-section{
    background:#fff;
}

.tech-feature-card{
    background:#fff;
    padding:40px;
    border-radius:24px;
    text-align:center;
    transition:.35s;
    border:1px solid #edf2f7;
    box-shadow:0 15px 40px rgba(0,0,0,.05);
}

.tech-feature-card:hover{
    transform:translateY(-10px);
}

.icon-wrap{
    width:80px;
    height:80px;
    margin:auto auto 25px;
    border-radius:22px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    font-size:30px;
    background:linear-gradient(135deg,#4F46E5,#06B6D4);
}

.tech-category{
    background:#fff;
    border-radius:24px;
    padding:35px;
    margin-bottom:30px;
    box-shadow:0 15px 40px rgba(0,0,0,.05);
}

.tech-category h4{
    margin-bottom:20px;
    font-weight:700;
}

.tech-pill{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:12px 18px;
    margin:8px;
    background:#eef2ff;
    border-radius:50px;
    font-weight:600;
    transition:.3s;
}

.tech-pill:hover{
    background:#4F46E5;
    color:#fff;
}

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

.contact-section{
    background:#f8fafc;
}

.contact-info-card,
.contact-form-card{
    background:#fff;
    border-radius:30px;
    padding:45px;
    box-shadow:0 20px 60px rgba(0,0,0,.06);
}

.contact-box{
    display:flex;
    align-items:center;
    gap:18px;
    margin:30px 0;
}

.contact-icon{
    width:65px;
    height:65px;
    border-radius:18px;
    background:linear-gradient(135deg,#4F46E5,#8B5CF6);
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:24px;
}

.form-control,
.form-select{
    border-radius:14px;
    padding:15px;
    border:1px solid #dbe4ef;
    box-shadow:none;
}

.form-control:focus,
.form-select:focus{
    border-color:#4F46E5;
    box-shadow:0 0 0 .2rem rgba(79,70,229,.15);
}

.social-btn{
    width:50px;
    height:50px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#eef2ff;
    color:#4F46E5;
    transition:.3s;
}

.social-btn:hover{
    background:#4F46E5;
    color:#fff;
    transform:translateY(-5px);
}

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

.footer{
    background:#0f172a;
    color:#cbd5e1;
    padding:90px 0 30px;
}

.footer h5{
    color:#fff;
    margin-bottom:20px;
}

.footer-links{
    list-style:none;
    padding:0;
}

.footer-links li{
    margin-bottom:12px;
}

.footer-links a{
    color:#cbd5e1;
    transition:.3s;
}

.footer-links a:hover{
    color:#fff;
    padding-left:8px;
}

.footer hr{
    border-color:rgba(255,255,255,.08);
}

.footer img{
    margin-bottom:20px;
}

/*==================================================
 REVEAL ANIMATION
==================================================*/

.reveal{
    opacity:0;
    transform:translateY(60px);
    transition:1s ease;
}

.reveal.active{
    opacity:1;
    transform:translateY(0);
}

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

@media(max-width:991px){

.section-title{
    font-size:38px;
}

.portfolio-content,
.contact-info-card,
.contact-form-card,
.tech-category,
.portfolio-cta{
    padding:30px;
}

.project-highlights{
    flex-direction:column;
}

}

@media(max-width:767px){

.project-highlights{
    gap:12px;
}

.tech-stack{
    justify-content:center;
}

.contact-box{
    align-items:flex-start;
}

.portfolio-content{
    padding:25px;
}

}

@media(max-width:576px){

.section-title{
    font-size:30px;
}

.portfolio-cta{
    text-align:center;
}

.portfolio-cta .btn{
    width:100%;
    margin-top:20px;
}

.contact-info-card,
.contact-form-card{
    padding:25px;
}

.tech-feature-card{
    padding:25px;
}

.tech-category{
    padding:20px;
}

}