.footer{

    background:#FCFAFF;

    margin-top:100px;

    padding-bottom:30px;

    position:relative;

    overflow:hidden;
}
.footer-cta{
   
    width:90%;

    max-width:1400px;

    margin:0 auto 70px;

    padding:32px 55px;

    border-radius:30px;

    display:flex;

    justify-content:space-between;

    align-items:center;

    gap:30px;

    padding:35px 55px;

    min-height:170px;

    background:linear-gradient(
        120deg,
        #F5F0FF,
        #FFF5FB,
        #FFF8F3
    );

    background:#FFFDFE;

    border:1px solid #F2E8FF;

    box-shadow:
        0 15px 40px rgba(124,58,237,.08);

    position:relative;

    overflow:hidden;
}
.btn-outline,
.btn-fill{

    height:52px;

    padding:0 28px;

    border-radius:16px;

    font-size:15px;
}
.cta-left{
    flex:1;
    max-width:620px;
}

.cta-tag{

    display:inline-block;

    padding:10px 20px;

    border-radius:30px;

    background:white;

    color:#7C3AED;

    font-size:.85rem;

    font-weight:700;

    margin-bottom:18px;

    box-shadow:0 10px 25px rgba(124,58,237,.08);
}

.cta-left h2{

    color:#2D1B69;

    font-size:40px;

    line-height:1.2;

    margin-bottom:12px;

    font-weight:700;

}

.cta-left p{

    color:#666;

    font-size:16px;

    line-height:1.7;

    max-width:500px;
    margin-bottom:0;
}
.cta-buttons{

    display:flex;

    align-items:center;

    justify-content:flex-end;

    gap:15px;

    flex-shrink:0;
}

.btn-outline{

    width:190px;

    height:60px;

    border-radius:18px;

    border:2px solid #7C3AED;

    display:flex;

    align-items:center;

    justify-content:center;

    color:#7C3AED;

    font-weight:600;

    text-decoration:none;

    transition:.3s;
}

.btn-outline:hover{

    background:#7C3AED;

    color:white;
}

.btn-fill{

    width:230px;

    height:60px;

    border-radius:18px;

    display:flex;

    align-items:center;

    justify-content:center;

    gap:10px;

    text-decoration:none;

    color:white;

    font-weight:600;

    background:linear-gradient(
        90deg,
        #8B5CF6,
        #EC4899,
        #FF7A1A
    );

    transition:.3s;
}

.btn-fill:hover{

    transform:translateY(-4px);

    box-shadow:0 15px 30px rgba(236,72,153,.25);
}
.footer-wrapper{

    width:90%;

    max-width:1400px;

    margin:auto;

    display:grid;

    grid-template-columns:

    1.5fr
    1fr
    1fr
    1fr
    1.2fr;

    gap:45px;

    padding:10px 0 50px;
}
.footer-brand img{

    width:140px;

    margin-bottom:18px;
}

.footer-brand p{

    color:#666;

    line-height:1.9;

    max-width:240px;

    margin-bottom:25px;
}
.social-links{

    display:flex;

    gap:12px;
}

.social-links a{

    width:42px;

    height:42px;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    background:#F4ECFF;

    color:#7C3AED;

    text-decoration:none;

    transition:.3s;
}

.social-links a:hover{

    background:#EC4899;

    color:white;

    transform:translateY(-3px);
}
.footer-wrapper h4{

    color:#2D1B69;

    font-size:24px;

    margin-bottom:22px;

    position:relative;
}

.footer-wrapper h4::after{

    content:"";

    width:45px;

    height:3px;

    border-radius:10px;

    background:#EC4899;

    display:block;

    margin-top:8px;
}
.footer-wrapper ul{

    padding:0;

    margin:0;

    list-style:none;
}

.footer-wrapper li{

    margin-bottom:16px;
}

.footer-wrapper a{

    color:#666;

    text-decoration:none;

    transition:.3s;
}

.footer-wrapper a:hover{

    color:#7C3AED;

    padding-left:6px;
}
.contact-item{

    display:flex;

    align-items:center;

    gap:14px;

    margin-bottom:20px;

    color:#666;

    line-height:1.7;
}

.contact-item i{

    color:#8B5CF6;

    font-size:18px;

    width:20px;
}
.newsletter{

    position:relative;

    margin-top:20px;
}

.newsletter input{

    width:100%;

    height:58px;

    border-radius:30px;

    border:1px solid #E8DFFF;

    background:white;

    padding:0 65px 0 22px;

    outline:none;
}

.footer-bottom{

    width:90%;

    max-width:1400px;

    margin:auto;

    padding-top:25px;

    border-top:1px solid #EEE;

    display:flex;

    justify-content:space-between;

    align-items:center;

    color:#888;
}

.footer-bottom div{

    display:flex;

    gap:35px;
}

.footer-bottom a{

    color:#666;

    text-decoration:none;
}

.footer-bottom a:hover{

    color:#7C3AED;
}
.newsletter{

    position:relative;

    margin-top:20px;
}

.newsletter input{

    width:100%;

    height:58px;

    border-radius:30px;

    border:1px solid #E8DFFF;

    background:white;

    padding:0 65px 0 22px;

    outline:none;
}

.newsletter button{

    position:absolute;

    right:7px;

    top:7px;

    width:44px;

    height:44px;

    border:none;

    border-radius:50%;

    color:white;

    background:linear-gradient(
        90deg,
        #EC4899,
        #FF7A1A
    );
}

.footer{
    position:relative;
    overflow:hidden;
}

.footer-shape{
    position:absolute;
    pointer-events:none;
    opacity:.08;
}

.shape-1{
    top:420px;
    left:50px;

    font-size:110px;

    color:#EC4899;

    transform:rotate(-15deg);
}

.shape-2{
    top:130px;
    right:90px;

    font-size:70px;

    color:#7C3AED;
}

.shape-3{
    bottom:90px;
    right:120px;

    font-size:80px;

    color:#FF7A1A;
}

.shape-4{
    bottom:40px;
    left:100px;

    font-size:90px;

    color:#A855F7;
}
.footer-wrapper>div{

    transition:.35s;
}

.footer-wrapper>div:hover{

    transform:translateY(-8px);
}
.social-links a{

    transition:.35s;
}

.social-links a:hover{

    transform:translateY(-5px) scale(1.08);

    box-shadow:0 12px 25px rgba(124,58,237,.18);
}
.newsletter input{

    transition:.35s;
}

.newsletter input:focus{

    border-color:#EC4899;

    box-shadow:0 0 0 5px rgba(236,72,153,.12);
}

.newsletter button{

    transition:.35s;
}

.newsletter button:hover{

    transform:rotate(-15deg) scale(1.1);
}
.footer-wrapper li{

    transition:.3s;
}

.footer-wrapper li:hover{

    transform:translateX(6px);
}
.footer-cta{

    position:relative;
}
.footer-cta::before{

    content:"";

    position:absolute;

    width:260px;

    height:260px;

    border-radius:50%;

    background:rgba(124,58,237,.08);

    top:-120px;

    left:-80px;

    filter:blur(15px);
}

.footer-cta::after{

    content:"";

    position:absolute;

    width:240px;

    height:240px;

    border-radius:50%;

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

    right:-100px;

    bottom:-120px;

    filter:blur(20px);
}
.footer-bottom{

    position:relative;
}

.footer-bottom::before{

    content:"";

    position:absolute;

    top:-2px;
    left:0;

    width:100%;
    height:2px;

    background:linear-gradient(
        90deg,
        #7C3AED,
        #EC4899,
        #FF7A1A
    );
}

.footer-card{

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

    backdrop-filter:blur(18px);

    border:1px solid #EFE7FF;

    border-radius:26px;

    padding:28px;

    transition:.35s;

    box-shadow:
    0 12px 35px rgba(124,58,237,.06);
}

.footer-card:hover{

    transform:translateY(-8px);

    box-shadow:
    0 25px 55px rgba(124,58,237,.12);
}

.footer-card h4{

    display:flex;

    align-items:center;

    gap:10px;
}

.footer-card h4::before{

    content:"";

    width:8px;

    height:26px;

    border-radius:10px;

    background:linear-gradient(

        #7C3AED,

        #EC4899,

        #FF7A1A

    );
}
.footer-wrapper li a{

    display:flex;

    align-items:center;

    gap:10px;
}

.footer-wrapper li a::before{

    content:"→";

    color:#EC4899;

    transition:.3s;
}

.footer-wrapper li:hover a::before{

    transform:translateX(4px);
}
.contact-item i{

    width:40px;

    height:40px;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    background:#F6EDFF;

    color:#7C3AED;

    font-size:15px;
}
.newsletter{

    margin-top:20px;
}

.newsletter input{

    height:56px;

    border-radius:50px;

    background:white;

    border:1px solid #E8DDFF;

    padding-left:22px;

    padding-right:60px;
}

.newsletter button{

    width:46px;

    height:46px;

    border-radius:50%;

    top:5px;

    right:5px;

    cursor:pointer;
}
