/*==================================================
CTA
==================================================*/



.homepage-cta{

    padding:120px 0;

    background:#fff;

}

.cta-wrapper{

    position:relative;

    overflow:hidden;

    border-radius:34px;

    padding:90px;

    background:linear-gradient(
135deg,
#4F2EE8 0%,
#6548F7 45%,
#7C67FF 100%);

    display:grid;

    grid-template-columns:1fr 420px;

    align-items:center;

    gap:50px;

}

/* Decorative circles */

.cta-wrapper::before{

    content:"";

    position:absolute;

    width:520px;

    height:520px;

    border-radius:50%;

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

    right:-180px;

    top:-150px;

}

.cta-wrapper::after{

    content:"";

    position:absolute;

    width:300px;

    height:300px;

    border-radius:50%;

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

    left:-120px;

    bottom:-120px;

}

/*==================================*/

.cta-content{

    position:relative;

    z-index:3;

}

.cta-content .section-tag{

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

    color:#fff;

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

}

.cta-content .section-tag i{

    color:#fff;

}

.cta-content h2{

    color:#fff;

    font-size:56px;

    line-height:1.1;

    margin:28px 0;

}

.cta-content p{

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

    font-size:18px;

    line-height:1.9;

    max-width:560px;

}



.cta-image::before{

    content:"";

    position:absolute;

    width:320px;

    height:320px;

    border-radius:50%;

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

    right:20px;

    top:50%;

    transform:translateY(-50%);

    z-index:-1;

}



/*==================================*/

.cta-buttons{

    display:flex;

    gap:18px;

    margin-top:45px;

}

.btn-white{

    background:#fff;

    color:#5B3DF5;

    font-weight:700;

}

.btn-white:hover{

    transform:translateY(-5px);

    box-shadow:0 18px 40px rgba(255,255,255,.25);

}

.btn-outline-white{

    border:2px solid rgba(255,255,255,.4);

    color:#fff;

    background:transparent;

}

.btn-outline-white:hover{

    background:#fff;

    color:#5B3DF5;

}

/*==================================*/

.cta-image{

    position:relative;

    z-index:3;

}

.cta-image img{
    width:115%;
    max-width:460px;
    margin-left:-20px;

    display:block;

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

}

/*==================================*/

@keyframes ctaFloat{

0%{

transform:translateY(0);

}

50%{

transform:translateY(-12px);

}

100%{

transform:translateY(0);

}

}

/*==================================*/

@media(max-width:991px){

.cta-wrapper{

grid-template-columns:1fr;

padding:70px 40px;

text-align:center;

}

.cta-content p{

margin:auto;

}

.cta-buttons{

justify-content:center;

flex-wrap:wrap;

}

.cta-content h2{

font-size:42px;

}

.cta-image{

max-width:320px;

margin:auto;

}

}

@media(max-width:768px){

.homepage-cta{

padding:90px 0;

}

.cta-wrapper{

padding:55px 30px;

}

.cta-content h2{

font-size:34px;

}

.cta-buttons{

flex-direction:column;

}

.cta-buttons .btn{

width:100%;

}

}