.hero-illustration{

    position:relative;

    width:620px;

    height:420px;

    margin:auto;

}

.connections{

    position:absolute;

    inset:0;

    width:100%;

    height:100%;

    z-index:1;

}

.connections line{

    stroke:#c7bfff;

    stroke-width:2;

    stroke-linecap:round;

}

.node{

    position:absolute;

    width:170px;

    padding:18px;

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

    backdrop-filter:blur(12px);

    border-radius:22px;

    box-shadow:

        0 20px 45px rgba(0,0,0,.08);

    border:1px solid rgba(255,255,255,.7);

    transition:.35s;

    z-index:2;

}

.node:hover{

    transform:translateY(-8px);

    box-shadow:

        0 30px 55px rgba(99,102,241,.22);

}

.node i{

    font-size:30px;

    color:#6366f1;

    margin-bottom:12px;

}

.node strong{

    display:block;

    color:#111827;

    font-size:18px;

    margin-bottom:4px;

}

.node small{

    color:#64748b;

}

.top-left{

    left:0;

    top:40px;

}

.bottom-left{

    left:20px;

    bottom:20px;

}

.top-right{

    right:0;

    top:40px;

}

.bottom-right{

    right:20px;

    bottom:20px;

}

.ai-core{

    position:absolute;

    left:50%;

    top:50%;

    transform:translate(-50%,-50%);

    width:140px;

    height:140px;

    border-radius:50%;

    background:linear-gradient(135deg,#6366f1,#8b5cf6);

    color:white;

    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:center;

    box-shadow:

        0 20px 60px rgba(99,102,241,.35);

    z-index:5;

}

.ai-core i{

    font-size:42px;

}

.ai-core span{

    margin-top:10px;

    font-weight:600;

}

.pulse{

    position:absolute;

    width:170px;

    height:170px;

    border-radius:50%;

    border:2px solid rgba(139,92,246,.25);

    animation:pulse 3s infinite;

}

@keyframes pulse{

    0%{

        transform:scale(.8);

        opacity:1;

    }

    100%{

        transform:scale(1.35);

        opacity:0;

    }

}

.hero-illustration::before{

    content:"";

    position:absolute;

    inset:-40px;

    background:

        radial-gradient(circle,#8b5cf620 0%,transparent 70%);

    z-index:0;

}

.hero-text h1 {
    font-size: 42px;
    line-height: 1.15;
    font-weight: 600;
    letter-spacing: -0.5px;
}

.hero-text p {
    font-size: 18px;
    line-height: 1.7;
    color: #667085;
    max-width: 520px;
}