/*==================================================
   SHUBHANKAR DAS PORTFOLIO
   STYLE.CSS
   PART 1
==================================================*/

/*==============================
GOOGLE FONT
==============================*/

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800;900&display=swap');

/*==============================
RESET
==============================*/

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    text-decoration:none !important;
    list-style:none;
}

html{
    scroll-behavior:smooth;
}

body{
    font-family:'Poppins',sans-serif;
    background:#0F172A;
    color:#ffffff;
    overflow-x:hidden;
}

/*==============================
ROOT COLORS
==============================*/

:root{

    --primary:#4F46E5;
    --secondary:#06B6D4;
    --purple:#8B5CF6;

    --dark:#0F172A;
    --dark2:#111827;
    --card:#1E293B;

    --white:#ffffff;
    --text:#CBD5E1;

    --border:rgba(255,255,255,.08);

    --shadow:0 10px 40px rgba(0,0,0,.25);

    --radius:18px;

    --transition:.4s;

}

/*==============================
SCROLLBAR
==============================*/

::-webkit-scrollbar{
    width:10px;
}

::-webkit-scrollbar-track{
    background:#111827;
}

::-webkit-scrollbar-thumb{
    background:linear-gradient(180deg,
    var(--primary),
    var(--secondary));
    border-radius:30px;
}

::-webkit-scrollbar-thumb:hover{
    background:var(--purple);
}

/*==============================
COMMON
==============================*/

img{
    max-width:100%;
    display:block;
}

a{
    color:inherit;
}

.section-padding{
    padding:110px 0;
}

.container{
    max-width:1200px;
}

.section-subtitle{

    color:var(--secondary);

    font-size:17px;

    font-weight:600;

    letter-spacing:2px;

    text-transform:uppercase;

    margin-bottom:10px;

    display:inline-block;

}

.section-title{

    font-size:48px;

    font-weight:700;

    margin-bottom:20px;

    color:#fff;

}

.section-description{

    color:var(--text);

    max-width:700px;

    margin:auto;

    line-height:1.8;

}

/*==============================
BUTTONS
==============================*/

.btn-main{

display:inline-block;

padding:15px 36px;

background:linear-gradient(135deg,
var(--primary),
var(--secondary));

color:#fff;

font-weight:600;

border-radius:50px;

transition:.4s;

box-shadow:0 10px 30px rgba(79,70,229,.4);

}

.btn-main:hover{

transform:translateY(-5px);

color:#fff;

box-shadow:0 20px 40px rgba(79,70,229,.5);

}

.btn-outline{

display:inline-block;

padding:15px 36px;

border:2px solid var(--primary);

color:#fff;

border-radius:50px;

margin-left:15px;

transition:.4s;

}

.btn-outline:hover{

background:var(--primary);

transform:translateY(-5px);

}

/*==============================
PRELOADER
==============================*/

#preloader{

position:fixed;

top:0;

left:0;

width:100%;

height:100%;

background:#0F172A;

display:flex;

justify-content:center;

align-items:center;

z-index:99999;

}

.loader{

width:70px;

height:70px;

border-radius:50%;

border:6px solid rgba(255,255,255,.1);

border-top:6px solid var(--secondary);

animation:loader 1s linear infinite;

}

@keyframes loader{

100%{

transform:rotate(360deg);

}

}

/*==============================
PARTICLE BACKGROUND
==============================*/

#particles-js{

position:fixed;

left:0;

top:0;

width:100%;

height:100%;

z-index:-1;

}

/*==============================
NAVBAR
==============================*/

.navbar{

padding:18px 0;

transition:.4s;

background:rgba(15,23,42,.55);

backdrop-filter:blur(20px);

border-bottom:1px solid rgba(255,255,255,.05);

}

.navbar.scrolled{

padding:12px 0;

background:#0F172A;

box-shadow:var(--shadow);

}

.navbar-brand{

display:flex;

align-items:center;

font-size:28px;

font-weight:700;

color:#fff !important;

}

.navbar-brand img{

width:50px;

height:50px;

border-radius:50%;

object-fit:cover;

margin-right:12px;

border:2px solid var(--secondary);

}

.navbar-brand span{

background:linear-gradient(90deg,
var(--secondary),
var(--primary));

-webkit-background-clip:text;

-webkit-text-fill-color:transparent;

}

.navbar-nav .nav-link{

color:#fff;

margin:0 12px;

font-weight:500;

position:relative;

transition:.3s;

}

.navbar-nav .nav-link:hover{

color:var(--secondary);

}

.navbar-nav .nav-link.active{

color:var(--secondary);

}

.navbar-nav .nav-link::after{

content:"";

position:absolute;

left:0;

bottom:-8px;

width:0;

height:2px;

background:var(--secondary);

transition:.4s;

}

.navbar-nav .nav-link:hover::after,

.navbar-nav .nav-link.active::after{

width:100%;

}

.navbar-toggler{

border:none;

box-shadow:none !important;

color:#fff;

font-size:28px;

}

.hire-btn{

margin-left:25px;

padding:12px 28px;

border-radius:50px;

background:linear-gradient(135deg,
var(--primary),
var(--secondary));

color:#fff;

font-weight:600;

transition:.4s;

}

.hire-btn:hover{

transform:translateY(-4px);

color:#fff;

box-shadow:0 15px 35px rgba(79,70,229,.45);

}

/*==================================================
   SHUBHANKAR DAS PORTFOLIO
   STYLE.CSS
   PART 2 - HERO SECTION
==================================================*/

/*==============================
HERO SECTION
==============================*/

.hero{
    position:relative;
    min-height:100vh;
    display:flex;
    align-items:center;
    overflow:hidden;
    padding-top:120px;
    padding-bottom:80px;
    background:
    radial-gradient(circle at top right, rgba(79,70,229,.25), transparent 35%),
    radial-gradient(circle at bottom left, rgba(6,182,212,.20), transparent 35%),
    #0F172A;
}

.hero::before{
    content:"";
    position:absolute;
    width:550px;
    height:550px;
    background:rgba(79,70,229,.12);
    border-radius:50%;
    filter:blur(120px);
    top:-180px;
    right:-180px;
}

.hero::after{
    content:"";
    position:absolute;
    width:450px;
    height:450px;
    background:rgba(6,182,212,.10);
    border-radius:50%;
    filter:blur(120px);
    bottom:-180px;
    left:-180px;
}

.hero .container{
    position:relative;
    z-index:2;
}

/*==============================
LEFT CONTENT
==============================*/

.hero h4{
    color:var(--secondary);
    font-size:22px;
    font-weight:600;
    margin-bottom:15px;
}

.hero h1{
    font-size:70px;
    font-weight:800;
    line-height:1.1;
    color:#fff;
    margin-bottom:20px;
}

.hero h2{
    min-height:60px;
    font-size:34px;
    font-weight:700;
    color:var(--primary);
    margin-bottom:25px;
}

#typing{
    color:var(--secondary);
}

.hero p{
    max-width:620px;
    color:var(--text);
    font-size:18px;
    line-height:1.9;
    margin-bottom:35px;
}

/*==============================
BUTTON GROUP
==============================*/

.hero-buttons{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:18px;
    margin-bottom:45px;
}

.hero-buttons .btn-outline{
    margin-left:0;
}

/*==============================
SOCIAL ICONS
==============================*/

.social-icons{
    display:flex;
    align-items:center;
    gap:18px;
}

.social-icons a{
    width:55px;
    height:55px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.08);
    color:#fff;
    font-size:20px;
    transition:var(--transition);
    backdrop-filter:blur(15px);
}

.social-icons a:hover{
    background:linear-gradient(135deg,
    var(--primary),
    var(--secondary));
    transform:translateY(-8px) rotate(360deg);
    box-shadow:0 15px 35px rgba(79,70,229,.35);
}

/*==============================
RIGHT IMAGE
==============================*/

.hero-image{
    position:relative;
    display:flex;
    justify-content:center;
    align-items:center;
}

.hero-image img{
    width:430px;
    max-width:100%;
    border-radius:50%;
    border:8px solid rgba(255,255,255,.08);
    box-shadow:
    0 0 40px rgba(79,70,229,.35),
    0 0 90px rgba(6,182,212,.20);
    animation:floatImage 4s ease-in-out infinite;
    position:relative;
    z-index:2;
}

/*==============================
ANIMATED CIRCLE
==============================*/

.circle-animation{
    position:absolute;
    width:520px;
    height:520px;
    border-radius:50%;
    border:2px dashed rgba(255,255,255,.15);
    animation:rotateCircle 20s linear infinite;
}

.circle-animation::before{
    content:"";
    position:absolute;
    width:22px;
    height:22px;
    border-radius:50%;
    background:var(--secondary);
    top:20px;
    left:50%;
    transform:translateX(-50%);
    box-shadow:0 0 20px var(--secondary);
}

.circle-animation::after{
    content:"";
    position:absolute;
    width:18px;
    height:18px;
    border-radius:50%;
    background:var(--primary);
    bottom:35px;
    left:50%;
    transform:translateX(-50%);
    box-shadow:0 0 20px var(--primary);
}

/*==============================
FLOATING SHAPES
==============================*/

.hero-shape{
    position:absolute;
    border-radius:50%;
    animation:floatShape 8s linear infinite;
    opacity:.5;
}

.shape1{
    width:18px;
    height:18px;
    background:var(--secondary);
    top:18%;
    left:10%;
}

.shape2{
    width:28px;
    height:28px;
    background:var(--primary);
    bottom:15%;
    right:12%;
}

.shape3{
    width:12px;
    height:12px;
    background:#fff;
    top:35%;
    right:20%;
}

/*==============================
GLASS CARD
==============================*/

.hero-card{
    position:absolute;
    background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.08);
    backdrop-filter:blur(15px);
    border-radius:20px;
    padding:18px 24px;
    color:#fff;
    box-shadow:var(--shadow);
    animation:floatCard 5s ease-in-out infinite;
}

.hero-card h5{
    font-size:16px;
    margin-bottom:5px;
}

.hero-card p{
    margin:0;
    font-size:14px;
    color:var(--text);
}

.hero-card.top{
    top:60px;
    right:-20px;
}

.hero-card.bottom{
    bottom:30px;
    left:-20px;
}

/*==============================
ANIMATIONS
==============================*/

@keyframes floatImage{

    0%{
        transform:translateY(0px);
    }

    50%{
        transform:translateY(-18px);
    }

    100%{
        transform:translateY(0px);
    }

}

@keyframes rotateCircle{

    from{
        transform:rotate(0deg);
    }

    to{
        transform:rotate(360deg);
    }

}

@keyframes floatShape{

    0%{
        transform:translateY(0);
    }

    50%{
        transform:translateY(-20px);
    }

    100%{
        transform:translateY(0);
    }

}

@keyframes floatCard{

    0%{
        transform:translateY(0);
    }

    50%{
        transform:translateY(-12px);
    }

    100%{
        transform:translateY(0);
    }

}

/*==================================================
   STYLE.CSS
   PART 3
   ABOUT + COUNTER + SKILLS
==================================================*/

/*==============================
ABOUT SECTION
==============================*/

.about{
    position:relative;
    background:#111827;
    overflow:hidden;
}

.about::before{
    content:"";
    position:absolute;
    width:350px;
    height:350px;
    background:rgba(79,70,229,.08);
    border-radius:50%;
    filter:blur(120px);
    top:-100px;
    left:-120px;
}

.about-image{
    position:relative;
    display:flex;
    justify-content:center;
    align-items:center;
}

.about-image img{
    width:100%;
    max-width:450px;
    border-radius:25px;
    border:1px solid rgba(255,255,255,.08);
    box-shadow:0 25px 60px rgba(0,0,0,.35);
    transition:.5s;
}

.about-image img:hover{
    transform:scale(1.03);
}

.experience-box{
    position:absolute;
    bottom:25px;
    right:-20px;
    width:170px;
    background:linear-gradient(135deg,
    var(--primary),
    var(--secondary));
    padding:22px;
    border-radius:20px;
    color:#fff;
    text-align:center;
    box-shadow:0 20px 40px rgba(79,70,229,.35);
}

.experience-box h2{
    font-size:42px;
    font-weight:800;
    margin-bottom:5px;
}

.experience-box p{
    margin:0;
    font-size:15px;
}

.about-text{
    color:var(--text);
    font-size:17px;
    line-height:1.9;
    margin:25px 0;
}

.about-info ul{
    padding:0;
}

.about-info li{
    margin-bottom:16px;
    color:#fff;
    font-size:16px;
    transition:.3s;
}

.about-info li:hover{
    transform:translateX(10px);
}

.about-info li i{
    color:var(--secondary);
    margin-right:10px;
}

/*==============================
COUNTER SECTION
==============================*/

.counter-section{
    background:#0F172A;
    padding:90px 0;
}

.counter-box{
    background:rgba(255,255,255,.05);
    border:1px solid rgba(255,255,255,.08);
    border-radius:20px;
    padding:40px 20px;
    transition:.4s;
    backdrop-filter:blur(12px);
}

.counter-box:hover{
    transform:translateY(-12px);
    box-shadow:0 25px 45px rgba(0,0,0,.30);
    border-color:var(--primary);
}

.counter-box i{
    font-size:45px;
    color:var(--secondary);
    margin-bottom:20px;
}

.counter-box h2{
    font-size:42px;
    font-weight:700;
    color:#fff;
    margin-bottom:10px;
}

.counter-box p{
    color:var(--text);
    margin:0;
    font-size:16px;
}

/*==============================
SKILLS SECTION
==============================*/

.skills{
    background:#111827;
}

.skill-item{
    margin-bottom:30px;
}

.skill-item span{
    color:#fff;
    font-weight:600;
}

.progress{
    height:12px;
    background:rgba(255,255,255,.08);
    border-radius:30px;
    overflow:hidden;
    margin-top:12px;
}

.progress-bar{
    height:100%;
    background:linear-gradient(90deg,
    var(--primary),
    var(--secondary));
    border-radius:30px;
    animation:progressAnimation 2s ease;
}

@keyframes progressAnimation{

    from{
        width:0;
    }

}

.skill-item:hover .progress-bar{
    filter:brightness(1.15);
}

.skills .section-title{
    margin-bottom:15px;
}

.skills .section-subtitle{
    margin-bottom:10px;
}

/*==============================
SKILL CARD (Optional)
==============================*/

.skill-card{
    background:rgba(255,255,255,.05);
    border:1px solid rgba(255,255,255,.08);
    border-radius:20px;
    padding:25px;
    text-align:center;
    transition:.4s;
}

.skill-card:hover{
    transform:translateY(-10px);
    border-color:var(--secondary);
    box-shadow:0 20px 40px rgba(0,0,0,.30);
}

.skill-card i{
    font-size:45px;
    color:var(--secondary);
    margin-bottom:20px;
}

.skill-card h4{
    color:#fff;
    margin-bottom:10px;
}

.skill-card p{
    color:var(--text);
    font-size:15px;
    margin:0;
}

/*==================================================
   STYLE.CSS
   PART 4
   SERVICES + PORTFOLIO
==================================================*/

/*==============================
SERVICES SECTION
==============================*/

.services{
    background:#0F172A;
    position:relative;
    overflow:hidden;
}

.services::before{
    content:"";
    position:absolute;
    width:450px;
    height:450px;
    background:rgba(79,70,229,.08);
    border-radius:50%;
    filter:blur(150px);
    top:-200px;
    right:-180px;
}

.service-card{
    position:relative;
    background:rgba(255,255,255,.05);
    border:1px solid rgba(255,255,255,.08);
    backdrop-filter:blur(18px);
    border-radius:24px;
    padding:40px 30px;
    overflow:hidden;
    transition:.45s;
    height:100%;
    z-index:1;
}

.service-card::before{
    content:"";
    position:absolute;
    top:0;
    left:-100%;
    width:100%;
    height:100%;
    background:linear-gradient(
        120deg,
        transparent,
        rgba(255,255,255,.08),
        transparent
    );
    transition:.7s;
}

.service-card:hover::before{
    left:100%;
}

.service-card:hover{
    transform:translateY(-15px);
    border-color:var(--secondary);
    box-shadow:0 25px 50px rgba(0,0,0,.35);
}

.service-icon{
    width:80px;
    height:80px;
    border-radius:20px;
    display:flex;
    justify-content:center;
    align-items:center;
    background:linear-gradient(
        135deg,
        var(--primary),
        var(--secondary)
    );
    color:#fff;
    font-size:34px;
    margin-bottom:25px;
    transition:.4s;
}

.service-card:hover .service-icon{
    transform:rotate(10deg) scale(1.12);
}

.service-card h4{
    color:#fff;
    font-size:24px;
    font-weight:700;
    margin-bottom:18px;
}

.service-card p{
    color:var(--text);
    line-height:1.8;
    font-size:16px;
    margin:0;
}

/*==============================
PORTFOLIO
==============================*/

.portfolio{
    background:#111827;
    position:relative;
}

.project-card{
    position:relative;
    overflow:hidden;
    border-radius:25px;
    cursor:pointer;
    border:1px solid rgba(255,255,255,.08);
    box-shadow:0 20px 45px rgba(0,0,0,.30);
}

.project-card img{
    width:100%;
    height:340px;
    object-fit:cover;
    transition:.6s;
}

.project-card:hover img{
    transform:scale(1.12);
}

.project-overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(
        rgba(15,23,42,.2),
        rgba(15,23,42,.96)
    );

    display:flex;
    flex-direction:column;
    justify-content:flex-end;

    padding:35px;

    opacity:0;

    transition:.45s;
}

.project-card:hover .project-overlay{
    opacity:1;
}

.project-overlay h4{
    color:#fff;
    font-size:28px;
    margin-bottom:12px;
    transform:translateY(30px);
    transition:.4s;
}

.project-overlay p{
    color:#d1d5db;
    margin-bottom:22px;
    transform:translateY(30px);
    transition:.5s;
}

.project-overlay .btn-main{
    width:max-content;
    transform:translateY(30px);
    transition:.6s;
}

.project-card:hover h4,
.project-card:hover p,
.project-card:hover .btn-main{
    transform:translateY(0);
}

/*==============================
PORTFOLIO FILTER
==============================*/

.portfolio-filter{
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:15px;
    margin-bottom:50px;
}

.portfolio-filter button{
    border:none;
    outline:none;
    padding:12px 28px;
    border-radius:40px;
    background:rgba(255,255,255,.06);
    color:#fff;
    cursor:pointer;
    transition:.35s;
    font-weight:600;
}

.portfolio-filter button.active,
.portfolio-filter button:hover{
    background:linear-gradient(
        135deg,
        var(--primary),
        var(--secondary)
    );
}

/*==============================
PROJECT TAG
==============================*/

.project-tag{
    position:absolute;
    top:20px;
    left:20px;
    background:linear-gradient(
        135deg,
        var(--primary),
        var(--secondary)
    );
    color:#fff;
    padding:8px 18px;
    border-radius:30px;
    font-size:13px;
    font-weight:600;
    z-index:2;
}

/*==============================
VIEW BUTTON
==============================*/

.project-overlay .btn-main{
    padding:12px 28px;
    font-size:15px;
}

/*==============================
HOVER GLOW
==============================*/

.project-card::after{
    content:"";
    position:absolute;
    inset:0;
    border-radius:25px;
    border:2px solid transparent;
    transition:.35s;
}

.project-card:hover::after{
    border-color:rgba(6,182,212,.55);
}

/*==============================
SECTION SPACING
==============================*/

.services .section-title,
.portfolio .section-title{
    margin-bottom:18px;
}

.services .section-description{
    margin-bottom:20px;
}

/*==================================================
   STYLE.CSS
   PART 5
   PROCESS + WHY HIRE ME
==================================================*/

/*==============================
PROCESS SECTION
==============================*/

.process{
    position:relative;
    background:#0F172A;
    overflow:hidden;
}

.process::before{
    content:"";
    position:absolute;
    width:500px;
    height:500px;
    background:rgba(79,70,229,.08);
    border-radius:50%;
    filter:blur(150px);
    top:-220px;
    left:-220px;
}

.process::after{
    content:"";
    position:absolute;
    width:400px;
    height:400px;
    background:rgba(6,182,212,.08);
    border-radius:50%;
    filter:blur(140px);
    bottom:-180px;
    right:-180px;
}

.process .container{
    position:relative;
    z-index:2;
}

.process-card{

    position:relative;

    background:rgba(255,255,255,.05);

    border:1px solid rgba(255,255,255,.08);

    backdrop-filter:blur(20px);

    border-radius:25px;

    padding:40px 30px;

    text-align:center;

    transition:.4s;

    height:100%;

    overflow:hidden;

}

.process-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;

}

.process-card:hover::before{

    opacity:1;

}

.process-card:hover{

    transform:translateY(-15px);

    border-color:var(--secondary);

    box-shadow:0 25px 45px rgba(0,0,0,.35);

}

.process-number{

    width:90px;

    height:90px;

    margin:auto;

    margin-bottom:25px;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:32px;

    font-weight:700;

    color:#fff;

    background:linear-gradient(135deg,
    var(--primary),
    var(--secondary));

    box-shadow:0 15px 35px rgba(79,70,229,.35);

    position:relative;

    z-index:2;

}

.process-card h4{

    color:#fff;

    font-size:24px;

    font-weight:700;

    margin-bottom:15px;

    position:relative;

    z-index:2;

}

.process-card p{

    color:var(--text);

    line-height:1.8;

    position:relative;

    z-index:2;

}

/*==============================
WHY HIRE ME
==============================*/

.why-me{

    background:#111827;

    position:relative;

    overflow:hidden;

}

.why-me::before{

    content:"";

    position:absolute;

    width:450px;

    height:450px;

    border-radius:50%;

    background:rgba(139,92,246,.08);

    filter:blur(150px);

    top:-180px;

    right:-180px;

}

.why-me .container{

    position:relative;

    z-index:2;

}

.why-me p{

    color:var(--text);

    line-height:1.9;

    font-size:17px;

}

.why-me img{

    max-width:100%;

    border-radius:25px;

    border:1px solid rgba(255,255,255,.08);

    box-shadow:0 20px 50px rgba(0,0,0,.35);

    transition:.5s;

}

.why-me img:hover{

    transform:scale(1.04);

}

.why-me .btn-main{

    margin-top:30px;

}

/*==============================
FEATURE LIST
==============================*/

.why-me .row p{

    margin-bottom:18px;

    font-size:16px;

    transition:.3s;

}

.why-me .row p:hover{

    color:var(--secondary);

    transform:translateX(8px);

}

/*==============================
FEATURE CARD
==============================*/

.feature-card{

    background:rgba(255,255,255,.05);

    border:1px solid rgba(255,255,255,.08);

    border-radius:20px;

    padding:25px;

    text-align:center;

    transition:.4s;

    height:100%;

}

.feature-card:hover{

    transform:translateY(-12px);

    border-color:var(--secondary);

    box-shadow:0 20px 40px rgba(0,0,0,.30);

}

.feature-card i{

    width:70px;

    height:70px;

    margin:auto;

    margin-bottom:20px;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    background:linear-gradient(135deg,
    var(--primary),
    var(--secondary));

    color:#fff;

    font-size:28px;

}

.feature-card h5{

    color:#fff;

    margin-bottom:12px;

    font-size:22px;

}

.feature-card p{

    color:var(--text);

    margin:0;

    line-height:1.8;

}

.cursor-dot{

position:fixed;

width:14px;

height:14px;

background:#06B6D4;

border-radius:50%;

pointer-events:none;

transform:translate(-50%,-50%);

z-index:999999;

box-shadow:0 0 20px #06B6D4;

}

.ripple{

position:absolute;

border-radius:50%;

background:rgba(255,255,255,.35);

transform:scale(0);

animation:ripple .6s linear;

pointer-events:none;

}

@keyframes ripple{

to{

transform:scale(4);

opacity:0;

}

}

/*==============================
FLOATING EFFECT
==============================*/

.process-card,
.feature-card{

    animation:floatCard 6s ease-in-out infinite;

}

.process-card:nth-child(2){

    animation-delay:.5s;

}

.process-card:nth-child(3){

    animation-delay:1s;

}

.process-card:nth-child(4){

    animation-delay:1.5s;

}

@keyframes floatCard{

    0%{

        transform:translateY(0);

    }

    50%{

        transform:translateY(-8px);

    }

    100%{

        transform:translateY(0);

    }

}

/*==============================
SECTION TITLES
==============================*/

.process .section-title,
.why-me .section-title{

    margin-bottom:20px;

}

.process .section-subtitle,
.why-me .section-subtitle{

    margin-bottom:10px;

}

#typing{

background:linear-gradient(
90deg,
#06B6D4,
#4F46E5,
#8B5CF6
);

-webkit-background-clip:text;

-webkit-text-fill-color:transparent;

font-size:42px;

font-weight:800;

}

/*==============================
TESTIMONIAL SECTION
==============================*/

.testimonial{
    position:relative;
    background:#0F172A;
    overflow:hidden;
}

.testimonial::before{
    content:"";
    position:absolute;
    width:450px;
    height:450px;
    background:rgba(79,70,229,.08);
    border-radius:50%;
    filter:blur(150px);
    top:-180px;
    left:-180px;
}

.testimonial .container{
    position:relative;
    z-index:2;
}

.testimonial-card{

    background:rgba(255,255,255,.05);

    border:1px solid rgba(255,255,255,.08);

    backdrop-filter:blur(20px);

    border-radius:25px;

    padding:35px;

    text-align:center;

    transition:.4s;

    height:100%;

}

.testimonial-card:hover{

    transform:translateY(-12px);

    border-color:var(--secondary);

    box-shadow:0 25px 45px rgba(0,0,0,.35);

}

.testimonial-card img{

    width:90px;

    height:90px;

    object-fit:cover;

    border-radius:50%;

    margin:auto;

    border:4px solid var(--secondary);

    margin-bottom:20px;

}

.testimonial-card h4{

    color:#fff;

    margin-bottom:5px;

}

.testimonial-card span{

    color:var(--secondary);

    font-size:15px;

}

.testimonial-card p{

    color:var(--text);

    line-height:1.8;

    margin:20px 0;

}

.stars{

    color:#FFD700;

    font-size:18px;

}

.stars i{

    margin:0 2px;

}

/*==============================
CONTACT SECTION
==============================*/

.contact{

    background:#111827;

    position:relative;

    overflow:hidden;

}

.contact::before{

    content:"";

    position:absolute;

    width:500px;

    height:500px;

    background:rgba(6,182,212,.08);

    border-radius:50%;

    filter:blur(160px);

    right:-220px;

    bottom:-220px;

}

.contact .container{

    position:relative;

    z-index:2;

}

/*==============================
CONTACT INFO
==============================*/

.contact-info{

    display:flex;

    flex-direction:column;

    gap:25px;

}

.info-box{

    display:flex;

    align-items:center;

    gap:20px;

    padding:25px;

    border-radius:20px;

    background:rgba(255,255,255,.05);

    border:1px solid rgba(255,255,255,.08);

    transition:.4s;

}

.info-box:hover{

    transform:translateX(10px);

    border-color:var(--secondary);

    box-shadow:0 15px 35px rgba(0,0,0,.30);

}

.info-box i{

    width:65px;

    height:65px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    background:linear-gradient(135deg,
    var(--primary),
    var(--secondary));

    color:#fff;

    font-size:24px;

}

.info-box h5{

    color:#fff;

    margin-bottom:5px;

}

.info-box p{

    color:var(--text);

    margin:0;

}

/*==============================
SOCIAL CONTACT
==============================*/

.social-contact{

    display:flex;

    gap:15px;

    margin-top:15px;

}

.social-contact a{

    width:55px;

    height:55px;

    display:flex;

    justify-content:center;

    align-items:center;

    border-radius:50%;

    background:rgba(255,255,255,.05);

    border:1px solid rgba(255,255,255,.08);

    color:#fff;

    font-size:20px;

    transition:.4s;

}

.social-contact a:hover{

    background:linear-gradient(
    135deg,
    var(--primary),
    var(--secondary));

    transform:translateY(-8px);

}

/*==============================
CONTACT FORM
==============================*/

.contact-form{

    background:rgba(255,255,255,.05);

    border:1px solid rgba(255,255,255,.08);

    backdrop-filter:blur(20px);

    border-radius:25px;

    padding:40px;

}

.contact-form input,
.contact-form textarea{

    width:100%;

    background:#0F172A;

    border:1px solid rgba(255,255,255,.08);

    border-radius:15px;

    padding:16px 18px;

    color:#fff;

    margin-bottom:22px;

    outline:none;

    transition:.3s;

}

.contact-form textarea{

    resize:none;

}

.contact-form input:focus,
.contact-form textarea:focus{

    border-color:var(--secondary);

    box-shadow:0 0 20px rgba(6,182,212,.25);

}

.contact-form input::placeholder,
.contact-form textarea::placeholder{

    color:#94A3B8;

}

.contact-form button{

    border:none;

    cursor:pointer;

}

/*==============================
FORM SUCCESS
==============================*/

.form-message{

    margin-top:20px;

    padding:15px;

    border-radius:10px;

    background:#0d6efd;

    color:#fff;

    display:none;

}

/*==============================
MAP
==============================*/

.contact-map{

    margin-top:70px;

    border-radius:25px;

    overflow:hidden;

    border:1px solid rgba(255,255,255,.08);

}

.contact-map iframe{

    width:100%;

    height:450px;

    border:0;

}

/*==============================
HOVER EFFECTS
==============================*/

.testimonial-card,
.info-box,
.contact-form{

    transition:.4s;

}

.contact-form:hover{

    border-color:var(--secondary);

    box-shadow:0 25px 45px rgba(0,0,0,.30);

}

/*==================================================
   STYLE.CSS
   PART 7
   FOOTER + NEWSLETTER + WHATSAPP + SCROLL TOP
==================================================*/

/*==============================
FOOTER
==============================*/

footer{
    position:relative;
    background:#020617;
    padding:90px 0 30px;
    overflow:hidden;
    border-top:1px solid rgba(255,255,255,.08);
}

footer::before{
    content:"";
    position:absolute;
    width:450px;
    height:450px;
    background:rgba(79,70,229,.08);
    border-radius:50%;
    filter:blur(150px);
    top:-220px;
    right:-220px;
}

footer .container{
    position:relative;
    z-index:2;
}

/*==============================
FOOTER TITLE
==============================*/

footer h3{

    color:#fff;

    font-size:32px;

    font-weight:700;

    margin-bottom:20px;

}

footer h4{

    color:#fff;

    margin-bottom:25px;

    font-size:22px;

    font-weight:600;

}

footer p{

    color:var(--text);

    line-height:1.9;

}

/*==============================
FOOTER LINKS
==============================*/

footer ul{

    padding:0;

}

footer ul li{

    margin-bottom:14px;

}

footer ul li a{

    color:var(--text);

    transition:.35s;

    display:inline-block;

}

footer ul li a:hover{

    color:var(--secondary);

    transform:translateX(8px);

}

/*==============================
NEWSLETTER
==============================*/

footer form{

    display:flex;

    flex-direction:column;

    gap:15px;

}

footer input{

    width:100%;

    padding:15px 18px;

    border-radius:12px;

    border:1px solid rgba(255,255,255,.08);

    background:#111827;

    color:#fff;

    outline:none;

    transition:.35s;

}

footer input:focus{

    border-color:var(--secondary);

}

footer input::placeholder{

    color:#94A3B8;

}

footer button{

    border:none;

    padding:15px;

    border-radius:12px;

    font-weight:600;

    color:#fff;

    background:linear-gradient(
    135deg,
    var(--primary),
    var(--secondary));

    transition:.35s;

}

footer button:hover{

    transform:translateY(-4px);

    box-shadow:0 15px 30px rgba(79,70,229,.35);

}

/*==============================
COPYRIGHT
==============================*/

footer hr{

    margin:55px 0 25px;

    border-color:rgba(255,255,255,.08);

}

.copyright{

    text-align:center;

    color:#94A3B8;

    font-size:15px;

    letter-spacing:.5px;

}

/*==============================
WHATSAPP BUTTON
==============================*/

.whatsapp{

    position:fixed;

    right:30px;

    bottom:30px;

    width:65px;

    height:65px;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:30px;

    color:#fff;

    background:#25D366;

    z-index:999;

    box-shadow:0 15px 35px rgba(37,211,102,.35);

    transition:.35s;

    animation:whatsappPulse 2s infinite;

}

.whatsapp:hover{

    color:#fff;

    transform:scale(1.12);

}

@keyframes whatsappPulse{

    0%{

        box-shadow:0 0 0 0 rgba(37,211,102,.55);

    }

    70%{

        box-shadow:0 0 0 18px rgba(37,211,102,0);

    }

    100%{

        box-shadow:0 0 0 0 rgba(37,211,102,0);

    }

}

/*==============================
SCROLL TO TOP
==============================*/

#scrollTop{

    position:fixed;

    right:30px;

    bottom:110px;

    width:55px;

    height:55px;

    border:none;

    border-radius:50%;

    background:linear-gradient(
    135deg,
    var(--primary),
    var(--secondary));

    color:#fff;

    cursor:pointer;

    font-size:20px;

    opacity:0;

    visibility:hidden;

    transition:.35s;

    z-index:998;

    box-shadow:0 15px 30px rgba(79,70,229,.35);

}

#scrollTop.show{

    opacity:1;

    visibility:visible;

}

#scrollTop:hover{

    transform:translateY(-8px);

}

/*==============================
FOOTER SOCIAL ICONS
==============================*/

.footer-social{

    display:flex;

    gap:15px;

    margin-top:25px;

}

.footer-social a{

    width:48px;

    height:48px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    background:rgba(255,255,255,.06);

    border:1px solid rgba(255,255,255,.08);

    color:#fff;

    transition:.35s;

}

.footer-social a:hover{

    background:linear-gradient(
    135deg,
    var(--primary),
    var(--secondary));

    transform:translateY(-6px) rotate(360deg);

}

/*==============================
FOOTER BADGE
==============================*/

.footer-badge{

    display:inline-block;

    margin-top:20px;

    padding:8px 18px;

    border-radius:30px;

    background:rgba(255,255,255,.08);

    color:var(--secondary);

    font-size:14px;

    border:1px solid rgba(255,255,255,.08);

}

/*==============================
END OF PART 7
==============================*/

/*==================================================
   STYLE.CSS
   PART 8 (FINAL)
   RESPONSIVE + UTILITIES + ANIMATIONS
==================================================*/

/*==============================
TEXT SELECTION
==============================*/

::selection{
    background:var(--primary);
    color:#fff;
}

::-moz-selection{
    background:var(--primary);
    color:#fff;
}

/*==============================
UTILITY CLASSES
==============================*/

.text-primary{
    color:var(--primary)!important;
}

.text-secondary{
    color:var(--secondary)!important;
}

.bg-primary{
    background:var(--primary)!important;
}

.bg-dark{
    background:#0F172A!important;
}

.rounded-xl{
    border-radius:25px;
}

.shadow-xl{
    box-shadow:0 20px 45px rgba(0,0,0,.35);
}

.glass{
    background:rgba(255,255,255,.05);
    backdrop-filter:blur(20px);
    border:1px solid rgba(255,255,255,.08);
}

.border-gradient{
    border:1px solid rgba(79,70,229,.3);
}

/*==============================
IMAGE EFFECTS
==============================*/

img{
    transition:.4s;
}

img:hover{
    transform:scale(1.02);
}

/*==============================
SMOOTH FADE
==============================*/

.fade-up{
    animation:fadeUp .8s ease forwards;
}

@keyframes fadeUp{

    from{

        opacity:0;

        transform:translateY(40px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}

/*==============================
ZOOM IN
==============================*/

.zoom-in{
    animation:zoomIn .7s ease;
}

@keyframes zoomIn{

    from{

        transform:scale(.8);

        opacity:0;

    }

    to{

        transform:scale(1);

        opacity:1;

    }

}

/*==============================
ROTATE
==============================*/

.rotate{

    animation:rotate360 12s linear infinite;

}

@keyframes rotate360{

    from{

        transform:rotate(0deg);

    }

    to{

        transform:rotate(360deg);

    }

}

/*==============================
FLOAT
==============================*/

.float{

    animation:floating 5s ease-in-out infinite;

}

@keyframes floating{

    0%{

        transform:translateY(0);

    }

    50%{

        transform:translateY(-15px);

    }

    100%{

        transform:translateY(0);

    }

}

/*==============================
PULSE
==============================*/

.pulse{

    animation:pulse 2s infinite;

}

@keyframes pulse{

    0%{

        transform:scale(1);

    }

    50%{

        transform:scale(1.08);

    }

    100%{

        transform:scale(1);

    }

}

/*==============================
LOADING EFFECT
==============================*/

.loading{

    opacity:.7;

    pointer-events:none;

    cursor:wait;

}

/*==============================
RESPONSIVE
==============================*/

@media(max-width:1200px){

.hero h1{

font-size:58px;

}

.section-title{

font-size:42px;

}

}

@media(max-width:992px){

.hero{

text-align:center;

padding-top:150px;

}

.hero-buttons{

justify-content:center;

}

.social-icons{

justify-content:center;

margin-bottom:50px;

}

.hero-image{

margin-top:40px;

}

.navbar-nav{

padding-top:20px;

text-align:center;

}

.hire-btn{

display:block;

margin:20px auto 0;

width:220px;

text-align:center;

}

.section-title{

font-size:36px;

}

.about-image{

margin-bottom:40px;

}

}

@media(max-width:768px){

.section-padding{

padding:80px 0;

}

.hero h1{

font-size:42px;

}

.hero h2{

font-size:24px;

}

.hero p{

font-size:16px;

}

.btn-main,
.btn-outline{

width:100%;

margin:10px 0;

text-align:center;

}

.counter-box{

margin-bottom:20px;

}

.contact-form{

padding:25px;

}

footer{

text-align:center;

}

.footer-social{

justify-content:center;

}

.social-contact{

justify-content:center;

}

}

@media(max-width:576px){

.hero{

padding-top:130px;

}

.hero h1{

font-size:34px;

}

.section-title{

font-size:30px;

}

.hero-image img{

width:280px;

}

.circle-animation{

width:340px;

height:340px;

}

.experience-box{

position:relative;

right:0;

bottom:0;

margin:20px auto;

}

.process-number{

width:70px;

height:70px;

font-size:24px;

}

.whatsapp{

width:58px;

height:58px;

font-size:24px;

right:20px;

bottom:20px;

}

#scrollTop{

width:50px;

height:50px;

right:20px;

bottom:90px;

}

}

/*==============================
PRINT
==============================*/

@media print{

.navbar,
.whatsapp,
#scrollTop,
.hero-buttons,
.social-icons{

display:none!important;

}

body{

background:#fff;

color:#000;

}

}

/*==============================
END OF FILE
==============================*/