/*==================================================
FOOTER
==================================================*/

.footer{

    background:#0F172A;

    color:#94A3B8;

    position:relative;

    overflow:hidden;

    padding:90px 0 35px;

}

.footer::before{

    content:"";

    position:absolute;

    width:450px;

    height:450px;

    left:-220px;

    top:-220px;

    border-radius:50%;

    background:radial-gradient(
        circle,
        rgba(37,99,235,.10),
        transparent 70%
    );

}

.footer::after{

    content:"";

    position:absolute;

    width:500px;

    height:500px;

    right:-250px;

    bottom:-250px;

    border-radius:50%;

    background:radial-gradient(
        circle,
        rgba(124,58,237,.08),
        transparent 70%
    );

}

.footer-container{

    width:min(92%,1320px);

    margin:auto;

    position:relative;

    z-index:2;

}

/*==================================================
TOP
==================================================*/

.footer-top{

    display:grid;

    grid-template-columns:360px 1fr;

    gap:70px;

    padding-bottom:55px;

    border-bottom:1px solid rgba(255,255,255,.08);

}

/*==================================================
COMPANY
==================================================*/

.footer-company{

    display:flex;

    flex-direction:column;

}

.footer-logo{

    display:flex;

    align-items:center;

    gap:15px;

    text-decoration:none;

    margin-bottom:24px;

}

.footer-logo-icon{

    width:54px;

    height:54px;

    border-radius:18px;

    display:flex;

    align-items:center;

    justify-content:center;

    background:linear-gradient(
        135deg,
        #2563EB,
        #7C3AED
    );

    color:#fff;

    font-size:24px;

    box-shadow:0 15px 30px rgba(37,99,235,.35);

}

.footer-logo h3{

    color:#fff;

    font-size:28px;

    font-weight:800;

    margin-bottom:4px;

}

.footer-logo span{

    display:block;

    color:#60A5FA;

    font-size:11px;

    font-weight:700;

    letter-spacing:2px;

    text-transform:uppercase;

}

.footer-description{

    color:#94A3B8;

    line-height:1.9;

    font-size:15px;

    margin-bottom:30px;

}
/*==================================================
CONTACT
==================================================*/

.footer-contact{

    display:flex;

    flex-direction:column;

    gap:14px;

    margin-bottom:28px;

}

.footer-contact a,
.footer-contact div{

    display:flex;

    align-items:center;

    gap:12px;

    color:#94A3B8;

    text-decoration:none;

    font-size:14px;

    transition:.35s;

}

.footer-contact a:hover{

    color:#60A5FA;

    transform:translateX(4px);

}

.footer-contact i{

    width:18px;

    color:#60A5FA;

    font-size:15px;

}

/*==================================================
SOCIAL
==================================================*/

.footer-social{

    display:flex;

    align-items:center;

    gap:12px;

}

.footer-social a{

    width:46px;

    height:46px;

    border-radius:14px;

    display:flex;

    justify-content:center;

    align-items:center;

    text-decoration:none;

    color:#CBD5E1;

    background:rgba(255,255,255,.05);

    border:1px solid rgba(255,255,255,.08);

    transition:.35s;

}

.footer-social a:hover{

    transform:translateY(-5px);

    color:#fff;

    background:linear-gradient(
        135deg,
        #2563EB,
        #7C3AED
    );

    box-shadow:0 15px 30px rgba(37,99,235,.30);

}

/*==================================================
RIGHT SIDE
==================================================*/

.footer-links{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:35px;

}

/*==================================================
COLUMN
==================================================*/

.footer-column h4{

    color:#fff;

    font-size:18px;

    font-weight:700;

    margin-bottom:22px;

    position:relative;

    display:inline-block;

}

.footer-column h4::after{

    content:"";

    position:absolute;

    left:0;

    bottom:-8px;

    width:40px;

    height:3px;

    border-radius:20px;

    background:linear-gradient(
        90deg,
        #2563EB,
        #7C3AED
    );

}

/*==================================================
LIST
==================================================*/

.footer-column ul{

    list-style:none;

    margin:0;

    padding:0;

}

.footer-column li{

    margin-bottom:14px;

}

.footer-column a{

    position:relative;

    color:#94A3B8;

    text-decoration:none;

    font-size:15px;

    transition:.35s;

    display:inline-block;

}

/* underline animation */

.footer-column a::after{

    content:"";

    position:absolute;

    left:0;

    bottom:-3px;

    width:0;

    height:2px;

    border-radius:20px;

    background:#60A5FA;

    transition:.35s;

}

.footer-column a:hover{

    color:#fff;

    transform:translateX(6px);

}

.footer-column a:hover::after{

    width:100%;

}
/*==================================================
CERTIFICATIONS
==================================================*/

.footer-certifications{

    display:flex;

    justify-content:space-between;

    align-items:center;

    gap:30px;

    padding:40px 0;

    border-bottom:1px solid rgba(255,255,255,.08);

}

.footer-certifications>span{

    color:#ffffff;

    font-size:16px;

    font-weight:700;

    white-space:nowrap;

}

.footer-badges{

    display:flex;

    flex-wrap:wrap;

    gap:12px;

}

.footer-badge{

    display:flex;

    align-items:center;

    justify-content:center;

    padding:10px 18px;

    border-radius:30px;

    background:rgba(255,255,255,.05);

    border:1px solid rgba(255,255,255,.08);

    color:#CBD5E1;

    font-size:13px;

    font-weight:600;

    transition:.35s;

}

.footer-badge:hover{

    background:linear-gradient(
        135deg,
        #2563EB,
        #7C3AED
    );

    color:#ffffff;

    transform:translateY(-4px);

    border-color:transparent;

    box-shadow:0 15px 30px rgba(37,99,235,.25);

}

/*==================================================
BOTTOM
==================================================*/

.footer-bottom{

    display:flex;

    justify-content:space-between;

    align-items:center;

    gap:25px;

    padding-top:30px;

}

.footer-bottom p{

    color:#94A3B8;

    font-size:14px;

    line-height:1.7;

}

.footer-bottom-right{

    display:flex;

    align-items:center;

    gap:30px;

}

/*==================================================
BOTTOM LINKS
==================================================*/

.footer-bottom-links{

    display:flex;

    align-items:center;

    gap:20px;

}

.footer-bottom-links a{

    color:#94A3B8;

    text-decoration:none;

    font-size:14px;

    transition:.35s;

}

.footer-bottom-links a:hover{

    color:#ffffff;

}

/*==================================================
STATUS
==================================================*/

.footer-status{

    display:flex;

    align-items:center;

    gap:10px;

    padding:10px 16px;

    border-radius:30px;

    background:rgba(34,197,94,.10);

    border:1px solid rgba(34,197,94,.25);

    color:#22C55E;

    font-size:13px;

    font-weight:600;

}

.status-dot{

    width:10px;

    height:10px;

    border-radius:50%;

    background:#22C55E;

    position:relative;

}

.status-dot::after{

    content:"";

    position:absolute;

    inset:-5px;

    border-radius:50%;

    border:2px solid #22C55E;

    animation:statusPulse 2s infinite;

}

/*==================================================
PULSE
==================================================*/

@keyframes statusPulse{

0%{

transform:scale(.7);

opacity:1;

}

70%{

transform:scale(2);

opacity:0;

}

100%{

opacity:0;

}

}

/*==================================================
FOOTER HOVER GLOW
==================================================*/

.footer-column,
.footer-company{

position:relative;

z-index:2;

}

.footer::before{

animation:footerGlow1 10s ease-in-out infinite;

}

.footer::after{

animation:footerGlow2 12s ease-in-out infinite;

}

@keyframes footerGlow1{

0%{

transform:translateY(0);

}

50%{

transform:translateY(25px);

}

100%{

transform:translateY(0);

}

}

@keyframes footerGlow2{

0%{

transform:translateY(0);

}

50%{

transform:translateY(-20px);

}

100%{

transform:translateY(0);

}

}
/*==========================================
SCROLL REVEAL
==========================================*/

.footer-company,
.footer-column,
.footer-certifications,
.footer-bottom{

opacity:0;

transform:translateY(40px);

}

.footer-company.show,
.footer-column.show,
.footer-certifications.show,
.footer-bottom.show{

opacity:1;

transform:translateY(0);

transition:

opacity .8s ease,

transform .8s ease;

}

/*==========================================
MOBILE ACCORDION
==========================================*/

.footer-column h4{

display:flex;

align-items:center;

justify-content:space-between;

}

.footer-toggle{

display:none;

font-size:18px;

color:#60A5FA;

margin-left:10px;

transition:.3s;

}

@media(max-width:576px){

.footer-toggle{

display:block;

}

}

/*==========================================
SMOOTH
==========================================*/

.footer-column ul{

transition:max-height .35s ease;

}