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

.hero{
    position:relative;
    min-height:100vh;
    display:flex;
    align-items:center;
    overflow:hidden;
    padding:140px 0 100px;
    background:
        radial-gradient(circle at top right,#ffe8b3 0%,transparent 35%),
        radial-gradient(circle at bottom left,#fff6dc 0%,transparent 30%),
        #faf9f5;
}

.hero::before{
    content:"";
    position:absolute;
    width:500px;
    height:500px;
    border-radius:50%;
    background:rgba(255,193,7,.08);
    filter:blur(80px);
    top:-150px;
    right:-120px;
}

.hero::after{
    content:"";
    position:absolute;
    width:350px;
    height:350px;
    border-radius:50%;
    background:rgba(146,180,91,.08);
    filter:blur(70px);
    bottom:-120px;
    left:-120px;
}

.hero-container{
    display:grid;
    grid-template-columns:1fr 1fr;
    align-items:center;
    gap:80px;
    position:relative;
    z-index:2;
}

/* Left Side */

.hero-content{
    max-width:620px;
}

.hero-tag{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:10px 18px;
    border-radius:50px;
    background:#fff;
    color:var(--primary);
    font-weight:600;
    box-shadow:0 8px 25px rgba(0,0,0,.08);
    margin-bottom:25px;
}

.hero h1{
    font-size:68px;
    line-height:1.1;
    margin-bottom:25px;
    font-weight:800;
    color:#222;
}

.hero h1 span{
    color:var(--primary);
}

.hero p{
    font-size:18px;
    line-height:1.8;
    color:#666;
    margin-bottom:40px;
}

.hero-buttons{
    display:flex;
    gap:18px;
    margin-bottom:45px;
}

.btn-outline{
    background:transparent;
    border:2px solid var(--primary);
    color:var(--primary);
}

.btn-outline:hover{
    background:var(--primary);
    color:#fff;
}

.hero-features{
    display:flex;
    flex-wrap:wrap;
    gap:18px;
}

.feature-item{
    padding:12px 20px;
    background:#fff;
    border-radius:50px;
    box-shadow:0 10px 25px rgba(0,0,0,.06);
    font-weight:500;
}

/* Right Side */

.hero-image{
    position:relative;
    display:flex;
    justify-content:center;
    align-items:center;
}

.hero-image img{
    width:100%;
    max-width:520px;
    animation:floating 5s ease-in-out infinite;
    filter:drop-shadow(0 30px 60px rgba(0,0,0,.15));
}

/* Floating Cards */

.floating-card{
    position:absolute;
    display:flex;
    align-items:center;
    gap:15px;
    padding:18px 22px;
    background:rgba(255,255,255,.92);
    backdrop-filter:blur(15px);
    border-radius:18px;
    box-shadow:0 20px 40px rgba(0,0,0,.12);
    animation:floating 4s ease-in-out infinite;
}

.floating-card i{
    width:50px;
    height:50px;
    border-radius:50%;
    background:var(--primary);
    color:#fff;
    display:flex;
    justify-content:center;
    align-items:center;
    font-size:20px;
}

/* Icon wrapper used by the dynamic popup cards (js/hero-popups.js) so a
   Font Awesome glyph, an inline Lucide svg, or an uploaded image icon all
   sit inside the exact same circle the design already used for <i>. */
.floating-card-icon{
    width:50px;
    height:50px;
    border-radius:50%;
    background:var(--primary);
    color:#fff;
    display:flex;
    justify-content:center;
    align-items:center;
    font-size:20px;
    flex-shrink:0;
    overflow:hidden;
}

.floating-card-icon img{
    width:26px;
    height:26px;
    object-fit:contain;
}

.floating-card-icon svg{
    width:22px;
    height:22px;
}

.floating-card h4{
    font-size:16px;
    margin-bottom:4px;
}

.floating-card p{
    margin:0;
    font-size:14px;
    color:#777;
}

/* Card Positions */

.card-one{
    top:10%;
    left:-40px;
}

.card-two{
    right:-30px;
    top:35%;
}

.card-three{
    bottom:8%;
    left:0;
}

/* Responsive */

@media(max-width:992px){

    .hero-container{
        grid-template-columns:1fr;
        text-align:center;
    }

    .hero-content{
        max-width:100%;
    }

    .hero-buttons{
        justify-content:center;
        flex-wrap:wrap;
    }

    .hero-features{
        justify-content:center;
    }

    .hero h1{
        font-size:52px;
    }

    .floating-card{
        transform:scale(.9);
    }

}

@media(max-width:768px){

    .hero{
        padding-top:120px;
    }

    .hero h1{
        font-size:42px;
    }

    .hero p{
        font-size:16px;
    }

    .floating-card{
        display:none;
    }

}

@media(max-width:480px){

    .hero h1{
        font-size:34px;
    }

}