/* ==========================================================
                    PREMIUM HERO
========================================================== */

.hero{

    position:relative;

    min-height:92vh;

    display:flex;

    align-items:center;

    overflow:hidden;

    padding:120px 0 80px;

    background:
    radial-gradient(circle at top left,
    rgba(37,99,235,.15),
    transparent 40%),
    radial-gradient(circle at bottom right,
    rgba(59,130,246,.08),
    transparent 40%),
    #07111f;

}

/* ==========================================================
                    HERO CONTAINER
========================================================== */

.hero-container{

    width:min(1400px,92%);

    margin:auto;

    display:grid;

    grid-template-columns:1.1fr .9fr;

    gap:80px;

    align-items:center;

}

/* ==========================================================
                    LEFT SIDE
========================================================== */

.hero-content{

    z-index:2;

}

.hero-badge{

    display:inline-flex;

    align-items:center;

    gap:10px;

    padding:10px 20px;

    border-radius:999px;

    background:rgba(37,99,235,.12);

    border:1px solid rgba(37,99,235,.25);

    color:#60a5fa;

    font-size:15px;

    font-weight:700;

    margin-bottom:30px;

}

.hero-content h1{

    font-size:68px;

    line-height:1.1;

    color:#ffffff;

    margin-bottom:25px;

    font-weight:800;

}

.hero-content h1 span{

    color:#3b82f6;

}

.hero-content p{

    max-width:650px;

    font-size:20px;

    line-height:1.9;

    color:#cbd5e1;

    margin-bottom:45px;

}

/* ==========================================================
                    HERO BUTTONS
========================================================== */

.hero-buttons{

    display:flex;

    gap:20px;

    flex-wrap:wrap;

}

.hero-btn{

    display:inline-flex;

    align-items:center;

    gap:10px;

    padding:18px 34px;

    border-radius:16px;

    font-size:17px;

    font-weight:700;

    transition:.35s;

    text-decoration:none;

}

.hero-btn.primary{

    background:linear-gradient(
        135deg,
        #2563eb,
        #3b82f6
    );

    color:white;

    box-shadow:0 15px 35px rgba(37,99,235,.35);

}

.hero-btn.primary:hover{

    transform:translateY(-4px);

}

.hero-btn.secondary{

    background:rgba(255,255,255,.05);

    border:1px solid rgba(255,255,255,.08);

    color:white;

}

.hero-btn.secondary:hover{

    background:rgba(255,255,255,.10);

}

/* ==========================================================
                    HERO STATS
========================================================== */

.hero-stats{

    display:flex;

    gap:35px;

    margin-top:60px;

    flex-wrap:wrap;

}

.hero-stat{

    background:rgba(255,255,255,.04);

    border:1px solid rgba(255,255,255,.08);

    padding:22px 28px;

    border-radius:18px;

    text-align:center;

    min-width:150px;

}

.hero-stat h2{

    font-size:34px;

    color:white;

    margin-bottom:8px;

}

.hero-stat p{

    margin:0;

    color:#94a3b8;

    font-size:15px;

}


/* ==========================================================
                    HERO RIGHT
========================================================== */

.hero-right{

    position:relative;

    display:flex;

    justify-content:center;

    align-items:center;

    min-height:650px;

}

/* ==========================================================
                MAIN HERO IMAGE
========================================================== */

.hero-image{

    position:relative;

    width:100%;

    max-width:520px;

    z-index:5;

    animation:floatHero 5s ease-in-out infinite;

}

.hero-image img{

    width:100%;
    height: 400px;

    display:block;

    filter:drop-shadow(0 30px 60px rgba(37,99,235,.35));

}

/* ==========================================================
                FLOATING CARDS
========================================================== */

.floating-card{

    position:absolute;

    display:flex;

    align-items:center;

    gap:15px;

    background:rgba(255,255,255,.06);

    backdrop-filter:blur(18px);

    border:1px solid rgba(255,255,255,.08);

    border-radius:18px;

    padding:18px 22px;

    color:white;

    box-shadow:0 20px 45px rgba(0,0,0,.25);

    animation:floatCard 4s ease-in-out infinite;

    z-index:10;

}

.floating-card i{

    width:52px;

    height:52px;

    border-radius:14px;

    display:flex;

    justify-content:center;

    align-items:center;

    background:linear-gradient(
        135deg,
        #2563eb,
        #3b82f6
    );

    color:white;

    font-size:22px;

}

.floating-card h4{

    font-size:18px;

    margin-bottom:4px;

}

.floating-card span{

    color:#cbd5e1;

    font-size:14px;

}

/* ==========================================================
                CARD POSITIONS
========================================================== */

.card-top{

    top:20px;

    left:-40px;

    animation-delay:0s;

}

.card-middle{

    right:-60px;

    top:45%;

    animation-delay:1s;

}

.card-bottom{

    bottom:25px;

    left:10px;

    animation-delay:2s;

}

/* ==========================================================
                BACKGROUND GLOW
========================================================== */

.hero-right::before{

    content:"";

    position:absolute;

    width:520px;

    height:520px;

    border-radius:50%;

    background:rgba(37,99,235,.18);

    filter:blur(120px);

    z-index:0;

}

.hero-right::after{

    content:"";

    position:absolute;

    width:300px;

    height:300px;

    border-radius:50%;

    background:rgba(59,130,246,.12);

    filter:blur(100px);

    bottom:-80px;

    right:-60px;

    z-index:0;

}

/* ==========================================================
                DECORATIVE CIRCLES
========================================================== */

.circle{

    position:absolute;

    border-radius:50%;

    border:2px solid rgba(255,255,255,.08);

    animation:rotateCircle 20s linear infinite;

}

.circle.one{

    width:420px;

    height:420px;

}

.circle.two{

    width:520px;

    height:520px;

    animation-duration:30s;

}

.circle.three{

    width:620px;

    height:620px;

    animation-duration:40s;

}

/* ==========================================================
                HERO SHAPES
========================================================== */

.hero-shape{

    position:absolute;

    border-radius:20px;

    background:rgba(255,255,255,.05);

    backdrop-filter:blur(10px);

    border:1px solid rgba(255,255,255,.08);

}

.shape-one{

    width:80px;

    height:80px;

    top:80px;

    right:50px;

    transform:rotate(25deg);

}

.shape-two{

    width:60px;

    height:60px;

    bottom:90px;

    right:120px;

    transform:rotate(-15deg);

}

.shape-three{

    width:40px;

    height:40px;

    left:30px;

    bottom:140px;

    transform:rotate(45deg);

}

/* ==========================================================
                ANIMATIONS
========================================================== */

@keyframes floatHero{

    0%{

        transform:translateY(0);

    }

    50%{

        transform:translateY(-18px);

    }

    100%{

        transform:translateY(0);

    }

}

@keyframes floatCard{

    0%{

        transform:translateY(0);

    }

    50%{

        transform:translateY(-12px);

    }

    100%{

        transform:translateY(0);

    }

}

@keyframes rotateCircle{

    from{

        transform:rotate(0deg);

    }

    to{

        transform:rotate(360deg);

    }

}

/* ==========================================================
                    RESPONSIVE HERO
========================================================== */

@media (max-width:1200px){

    .hero-container{

        gap:50px;

    }

    .hero-content h1{

        font-size:56px;

    }

    .hero-right{

        min-height:550px;

    }

}

@media (max-width:992px){

    .hero{

        padding:120px 0 80px;

    }

    .hero-container{

        grid-template-columns:1fr;

        text-align:center;

    }

    .hero-content{

        order:2;

    }

    .hero-right{

        order:1;

        min-height:500px;

    }

    .hero-buttons{

        justify-content:center;

    }

    .hero-stats{

        justify-content:center;

    }

    .hero-content p{

        margin-left:auto;

        margin-right:auto;

    }

    .card-top{

        left:20px;

    }

    .card-middle{

        right:20px;

    }

}

@media (max-width:768px){

    .hero{

        padding:110px 0 70px;

    }

    .hero-content h1{

        font-size:42px;

        line-height:1.25;

    }

    .hero-content p{

        font-size:17px;

    }

    .hero-buttons{

        flex-direction:column;

        align-items:center;

    }

    .hero-btn{

        width:260px;

        justify-content:center;

    }

    .hero-stats{

        gap:15px;

    }

    .hero-stat{

        min-width:120px;

        padding:18px;

    }

    .hero-image{

        max-width:360px;

    }

    .floating-card{

        transform:scale(.85);

    }

}

@media (max-width:576px){

    .hero{

        min-height:auto;

    }

    .hero-content h1{

        font-size:34px;

    }

    .hero-badge{

        font-size:13px;

        padding:8px 16px;

    }

    .hero-content p{

        font-size:16px;

    }

    .hero-image{

        max-width:280px;

    }

    .floating-card{

        display:none;

    }

    .circle{

        display:none;

    }

}

/* ==========================================================
                    HERO HOVER EFFECTS
========================================================== */

.hero-btn{

    position:relative;

    overflow:hidden;

}

.hero-btn::before{

    content:"";

    position:absolute;

    top:0;

    left:-120%;

    width:100%;

    height:100%;

    background:

        linear-gradient(

            90deg,

            transparent,

            rgba(255,255,255,.25),

            transparent

        );

    transition:.6s;

}

.hero-btn:hover::before{

    left:120%;

}

.hero-image img{

    transition:.4s ease;

}

.hero-image:hover img{

    transform:scale(1.03);

}

/* ==========================================================
                    HERO ENTRANCE
========================================================== */

.hero-content{

    animation:heroLeft .9s ease;

}

.hero-right{

    animation:heroRight .9s ease;

}

@keyframes heroLeft{

    from{

        opacity:0;

        transform:translateX(-60px);

    }

    to{

        opacity:1;

        transform:translateX(0);

    }

}

@keyframes heroRight{

    from{

        opacity:0;

        transform:translateX(60px);

    }

    to{

        opacity:1;

        transform:translateX(0);

    }

}

/* ==========================================================
                    SCROLL INDICATOR
========================================================== */

.hero-scroll{

    position:absolute;

    bottom:30px;

    left:50%;

    transform:translateX(-50%);

    color:#60a5fa;

    font-size:28px;

    animation:bounce 2s infinite;

}

@keyframes bounce{

    0%,
    100%{

        transform:translate(-50%,0);

    }

    50%{

        transform:translate(-50%,10px);

    }

}

/* ==========================================================
                    HERO BACKGROUND DECORATION
========================================================== */

.hero::before{

    content:"";

    position:absolute;

    width:700px;

    height:700px;

    background:rgba(37,99,235,.08);

    border-radius:50%;

    top:-300px;

    left:-250px;

    filter:blur(140px);

    z-index:0;

}

.hero::after{

    content:"";

    position:absolute;

    width:600px;

    height:600px;

    background:rgba(59,130,246,.05);

    border-radius:50%;

    bottom:-300px;

    right:-250px;

    filter:blur(140px);

    z-index:0;

}

/* ==========================================================
                    END OF HERO
========================================================== */