/* =========================================================
   FULFILIX PREMIUM CURVED FOOTER
   FINAL WHITE GLASS + SOFT PURPLE GLOW VERSION
========================================================= */

.ful-footer{
    position:relative;
    width:100%;
    margin-top:90px;
    padding:0;
    overflow:hidden;
    isolation:isolate;

    background:
        radial-gradient(
            circle at 14% 18%,
            rgba(112,86,205,.09),
            transparent 32%
        ),
        radial-gradient(
            circle at 90% 72%,
            rgba(143,108,212,.055),
            transparent 30%
        ),
        linear-gradient(
            135deg,
            #090812 0%,
            #0e0b19 42%,
            #100c1b 72%,
            #080710 100%
        );

    border-radius:76px 76px 0 0;

    border:
        1px solid rgba(163,136,224,.22);

    border-bottom:0;

    box-shadow:
        0 -12px 34px rgba(104,73,182,.10),
        0 -2px 16px rgba(148,110,232,.08),
        0 0 30px rgba(118,88,210,.08),
        inset 0 1px 0 rgba(255,255,255,.045),
        inset 0 0 0 1px rgba(255,255,255,.012);

    color:#fff;
}


/* =========================================================
   TOP PREMIUM BORDER LIGHT
========================================================= */

.ful-footer::before{
    content:"";

    position:absolute;

    top:0;
    left:42px;
    right:42px;

    height:1px;

    background:
        linear-gradient(
            90deg,
            transparent 0%,
            rgba(146,119,210,.06) 8%,
            rgba(164,136,222,.22) 28%,
            rgba(202,182,244,.48) 50%,
            rgba(164,136,222,.22) 72%,
            rgba(146,119,210,.06) 92%,
            transparent 100%
        );

    box-shadow:
        0 0 8px rgba(166,137,227,.14),
        0 0 18px rgba(135,104,203,.08);

    pointer-events:none;
    z-index:5;
}


/* =========================================================
   LOWER AMBIENT LIGHT
========================================================= */

.ful-footer::after{
    content:"";

    position:absolute;

    width:430px;
    height:430px;

    left:-170px;
    bottom:-280px;

    background:
        rgba(112,83,196,.12);

    filter:blur(130px);

    border-radius:50%;

    pointer-events:none;

    opacity:.58;
}


/* =========================================================
   CONTAINER
========================================================= */

.ful-footer-container{
    position:relative;
    z-index:3;

    width:min(1420px, calc(100% - 90px));

    margin:0 auto;

    padding:
        88px 0
        34px;
}


/* =========================================================
   MAIN GRID
========================================================= */

.ful-footer-main{
    display:grid;

    grid-template-columns:
        1.45fr
        .85fr
        .75fr
        .8fr
        1.3fr;

    gap:58px;

    align-items:start;
}


/* =========================================================
   BRAND
========================================================= */

.ful-footer-brand{
    max-width:400px;
}


/* =========================================================
   WHITE GLASS LOGO CARD
========================================================= */

.ful-footer-logo{
    position:relative;

    display:inline-flex;

    align-items:center;
    justify-content:center;

    width:100%;
    max-width:320px;

    min-height:90px;

    margin-bottom:27px;

    padding:
        15px
        24px;

    overflow:hidden;

    border-radius:22px;

    background:
        linear-gradient(
            135deg,
            rgba(255,255,255,.97) 0%,
            rgba(248,246,255,.94) 55%,
            rgba(241,236,255,.91) 100%
        );

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

    box-shadow:
        0 15px 38px rgba(0,0,0,.23),
        0 0 0 1px rgba(118,85,190,.07),
        inset 0 1px 0 rgba(255,255,255,1),
        inset 0 -1px 0 rgba(118,85,190,.04);

    backdrop-filter:
        blur(18px)
        saturate(125%);

    -webkit-backdrop-filter:
        blur(18px)
        saturate(125%);

    transition:
        transform .32s ease,
        box-shadow .32s ease,
        border-color .32s ease;
}


/* subtle glass reflection */

.ful-footer-logo::before{
    content:"";

    position:absolute;

    top:-45%;
    left:-30%;

    width:70%;
    height:170%;

    pointer-events:none;

    transform:
        rotate(18deg);

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255,255,255,.50),
            transparent
        );

    opacity:.34;

    transition:
        transform .7s ease;
}

.ful-footer-logo:hover::before{
    transform:
        translateX(190%)
        rotate(18deg);
}


.ful-footer-logo:hover{
    transform:
        translateY(-4px);

    border-color:
        rgba(255,255,255,1);

    box-shadow:
        0 19px 42px rgba(0,0,0,.26),
        0 0 28px rgba(129,96,197,.13),
        0 0 0 1px rgba(118,85,190,.08),
        inset 0 1px 0 rgba(255,255,255,1);
}


/* =========================================================
   LOGO IMAGE
========================================================= */

.ful-footer-logo img{
    position:relative;
    z-index:2;

    display:block;

    width:265px;
    max-width:100%;

    height:auto;

    object-fit:contain;

    opacity:1;

    filter:
        brightness(1.02)
        contrast(1.16)
        saturate(1.18)
        drop-shadow(
            0 3px 6px
            rgba(81,44,149,.12)
        );

    transition:
        transform .32s ease,
        filter .32s ease;
}

.ful-footer-logo:hover img{
    transform:
        scale(1.025);

    filter:
        brightness(1.04)
        contrast(1.20)
        saturate(1.22)
        drop-shadow(
            0 4px 8px
            rgba(81,44,149,.16)
        );
}


/* =========================================================
   BRAND DESCRIPTION
========================================================= */

.ful-footer-brand p{
    margin:0;

    max-width:380px;

    color:
        rgba(237,233,245,.86);

    font-family:
        'Poppins',
        sans-serif;

    font-size:17px;

    line-height:1.84;

    font-weight:400;
}


/* =========================================================
   SOCIAL ICONS
========================================================= */

.ful-footer-socials{
    display:flex;

    gap:12px;

    margin-top:29px;
}

.ful-footer-socials a{
    width:45px;
    height:45px;

    display:flex;

    align-items:center;
    justify-content:center;

    border-radius:50%;

    color:
        rgba(246,243,250,.90);

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

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

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.045);

    transition:
        transform .28s ease,
        background .28s ease,
        color .28s ease,
        border-color .28s ease,
        box-shadow .28s ease;
}

.ful-footer-socials a svg{
    width:17px;
    height:17px;
}

.ful-footer-socials a:hover{
    transform:
        translateY(-4px)
        scale(1.04);

    color:#fff;

    background:
        linear-gradient(
            135deg,
            rgba(99,75,168,.92),
            rgba(134,104,196,.92)
        );

    border-color:
        rgba(185,160,232,.34);

    box-shadow:
        0 10px 26px rgba(86,64,148,.20);
}


/* =========================================================
   COLUMN TITLES
========================================================= */

.ful-footer-col h4,
.ful-footer-newsletter h4{
    position:relative;

    display:inline-block;

    margin:
        5px 0
        28px;

    color:#fff;

    font-family:
        'Poppins',
        sans-serif;

    font-size:18px;

    line-height:1.3;

    font-weight:700;

    letter-spacing:.15px;
}


/* title underline */

.ful-footer-col h4::after,
.ful-footer-newsletter h4::after{
    content:"";

    position:absolute;

    left:0;
    bottom:-10px;

    width:36px;
    height:2px;

    border-radius:50px;

    background:
        linear-gradient(
            90deg,
            #806bc1,
            #c1afe6
        );

    box-shadow:
        0 0 8px
        rgba(141,112,207,.16);
}


/* =========================================================
   FOOTER LINKS
========================================================= */

.ful-footer-links{
    display:flex;

    flex-direction:column;

    align-items:flex-start;

    gap:14px;
}

.ful-footer-links a{
    position:relative;

    display:inline-flex;

    align-items:center;

    color:
        rgba(234,230,241,.82);

    font-family:
        'Poppins',
        sans-serif;

    font-size:16px;

    line-height:1.5;

    font-weight:500;

    text-decoration:none;

    transition:
        color .26s ease,
        transform .26s ease;
}

.ful-footer-links a::before{
    content:"";

    width:0;
    height:1px;

    margin-right:0;

    border-radius:50px;

    background:
        linear-gradient(
            90deg,
            #8068bd,
            #c0ace5
        );

    transition:
        width .26s ease,
        margin-right .26s ease;

    box-shadow:
        0 0 7px
        rgba(132,103,193,.14);
}

.ful-footer-links a:hover{
    color:#fff;

    transform:
        translateX(5px);
}

.ful-footer-links a:hover::before{
    width:15px;

    margin-right:8px;
}


/* =========================================================
   NEWSLETTER
========================================================= */

.ful-footer-newsletter{
    min-width:0;
}

.ful-footer-newsletter > p{
    max-width:335px;

    margin:
        0 0
        24px;

    color:
        rgba(233,229,240,.75);

    font-family:
        'Poppins',
        sans-serif;

    font-size:15.5px;

    line-height:1.78;
}


/* =========================================================
   NEWSLETTER FORM
========================================================= */

.ful-footer-form{
    position:relative;

    display:flex;

    align-items:center;

    width:100%;

    padding-bottom:10px;

    border-bottom:
        1px solid rgba(255,255,255,.22);
}


/* focus line */

.ful-footer-form::after{
    content:"";

    position:absolute;

    left:0;
    bottom:-1px;

    width:0;
    height:1px;

    background:
        linear-gradient(
            90deg,
            #8069bd,
            #bcaae1
        );

    box-shadow:
        0 0 8px
        rgba(130,99,195,.13);

    transition:
        width .38s ease;
}

.ful-footer-form:focus-within::after{
    width:100%;
}


/* input */

.ful-footer-form input{
    flex:1;

    min-width:0;

    height:48px;

    padding:
        0 15px
        0 0;

    border:0;

    outline:0;

    background:transparent;

    color:#fff;

    font-family:
        'Poppins',
        sans-serif;

    font-size:15px;
}

.ful-footer-form input::placeholder{
    color:
        rgba(226,220,237,.52);
}


/* subscribe button */

.ful-footer-form button{
    flex:0 0 auto;

    width:46px;
    height:46px;

    display:flex;

    align-items:center;
    justify-content:center;

    border:
        1px solid rgba(181,155,232,.22);

    border-radius:50%;

    cursor:pointer;

    color:#fff;

    background:
        linear-gradient(
            135deg,
            #6550a9,
            #8668c4
        );

    box-shadow:
        0 8px 22px
        rgba(91,67,156,.16);

    transition:
        transform .28s ease,
        box-shadow .28s ease,
        background .28s ease;
}

.ful-footer-form button svg{
    width:19px;
    height:19px;
}

.ful-footer-form button:hover{
    transform:
        rotate(-7deg)
        scale(1.07);

    background:
        linear-gradient(
            135deg,
            #715ab5,
            #9578cf
        );

    box-shadow:
        0 10px 28px
        rgba(91,67,156,.22);
}


/* =========================================================
   MINI LINKS
========================================================= */

.ful-footer-mini-links{
    display:flex;

    gap:18px;

    flex-wrap:wrap;

    margin-top:23px;
}

.ful-footer-mini-links a{
    color:
        rgba(227,221,236,.53);

    text-decoration:none;

    font-family:
        'Poppins',
        sans-serif;

    font-size:13px;

    transition:
        color .24s ease;
}

.ful-footer-mini-links a:hover{
    color:
        rgba(218,205,242,.94);
}


/* =========================================================
   FOOTER BOTTOM
========================================================= */

.ful-footer-bottom{
    display:flex;

    align-items:center;
    justify-content:space-between;

    gap:30px;

    margin-top:64px;

    padding-top:29px;

    border-top:
        1px solid rgba(255,255,255,.09);
}


/* left bottom */

.ful-footer-bottom-left{
    display:flex;

    flex-direction:column;

    align-items:flex-start;

    gap:7px;
}


.ful-footer-bottom p{
    margin:0;

    color:
        rgba(229,224,236,.60);

    font-family:
        'Poppins',
        sans-serif;

    font-size:14px;
}

.ful-footer-bottom p strong{
    color:
        rgba(255,255,255,.88);

    font-weight:600;
}


/* =========================================================
   POWERED BY GAPSOE DIGITAL
========================================================= */

.ful-footer-powered{
    display:flex;

    align-items:center;

    gap:6px;

    margin:0;

    color:
        rgba(225,219,234,.52) !important;

    font-family:
        'Poppins',
        sans-serif;

    font-size:13.5px !important;

    line-height:1.5;
}

.ful-footer-powered a{
    position:relative;

    display:inline-flex;

    align-items:center;

    color:
        #d4c7ee;

    text-decoration:none;

    font-weight:600;

    transition:
        color .25s ease,
        transform .25s ease;
}

.ful-footer-powered a::after{
    content:"";

    position:absolute;

    left:0;
    right:0;
    bottom:-2px;

    height:1px;

    transform:
        scaleX(0);

    transform-origin:left;

    background:
        linear-gradient(
            90deg,
            #8c72c5,
            #c4afe6
        );

    transition:
        transform .25s ease;
}

.ful-footer-powered a:hover{
    color:#fff;

    transform:
        translateY(-1px);
}

.ful-footer-powered a:hover::after{
    transform:
        scaleX(1);
}


/* =========================================================
   BOTTOM LINKS
========================================================= */

.ful-footer-bottom-links{
    display:flex;

    align-items:center;

    gap:30px;
}

.ful-footer-bottom-links a{
    color:
        rgba(229,224,236,.58);

    font-family:
        'Poppins',
        sans-serif;

    font-size:14px;

    text-decoration:none;

    transition:
        color .24s ease,
        transform .24s ease;
}

.ful-footer-bottom-links a:hover{
    color:
        rgba(217,204,241,.96);

    transform:
        translateY(-2px);
}


/* =========================================================
   SOFT BACKGROUND GLOW
========================================================= */

.ful-footer-glow{
    position:absolute;

    pointer-events:none;

    border-radius:50%;

    filter:
        blur(120px);

    opacity:.46;
}


/* left glow */

.ful-footer-glow-1{
    width:320px;
    height:320px;

    left:8%;
    top:-135px;

    background:
        rgba(105,81,187,.14);

    animation:
        fulFooterGlowOne
        11s ease-in-out
        infinite alternate;
}


/* right glow */

.ful-footer-glow-2{
    width:300px;
    height:300px;

    right:-50px;
    bottom:-115px;

    background:
        rgba(133,103,202,.11);

    animation:
        fulFooterGlowTwo
        13s ease-in-out
        infinite alternate;
}


/* =========================================================
   GLOW ANIMATIONS
========================================================= */

@keyframes fulFooterGlowOne{

    from{
        transform:
            translate3d(-12px,0,0)
            scale(.97);
    }

    to{
        transform:
            translate3d(45px,24px,0)
            scale(1.07);
    }
}


@keyframes fulFooterGlowTwo{

    from{
        transform:
            translate3d(0,0,0)
            scale(.96);
    }

    to{
        transform:
            translate3d(-48px,-20px,0)
            scale(1.07);
    }
}


/* =========================================================
   SUBTLE GRID
========================================================= */

.ful-footer-grid-bg{
    position:absolute;

    inset:0;

    pointer-events:none;

    opacity:.018;

    background-image:

        linear-gradient(
            rgba(255,255,255,.11) 1px,
            transparent 1px
        ),

        linear-gradient(
            90deg,
            rgba(255,255,255,.11) 1px,
            transparent 1px
        );

    background-size:
        60px 60px;

    -webkit-mask-image:
        linear-gradient(
            to bottom,
            transparent,
            black 35%,
            black
        );

    mask-image:
        linear-gradient(
            to bottom,
            transparent,
            black 35%,
            black
        );
}


/* =========================================================
   RESPONSIVE — LARGE TABLET
========================================================= */

@media(max-width:1200px){

    .ful-footer-main{
        grid-template-columns:
            1.4fr
            1fr
            1fr
            1fr;

        gap:48px;
    }

    .ful-footer-newsletter{
        grid-column:
            1 / -1;

        max-width:620px;
    }
}


/* =========================================================
   RESPONSIVE — TABLET
========================================================= */

@media(max-width:900px){

    .ful-footer{
        border-radius:
            58px 58px 0 0;
    }

    .ful-footer-container{
        width:
            min(
                calc(100% - 48px),
                1420px
            );

        padding-top:68px;
    }

    .ful-footer-main{
        grid-template-columns:
            1fr 1fr;

        gap:
            46px 34px;
    }

    .ful-footer-brand{
        grid-column:
            1 / -1;

        max-width:570px;
    }

    .ful-footer-newsletter{
        grid-column:
            1 / -1;
    }

    .ful-footer-bottom{
        flex-direction:column;

        align-items:flex-start;
    }

    .ful-footer-bottom-links{
        justify-content:flex-start;
    }
}


/* =========================================================
   RESPONSIVE — MOBILE
========================================================= */

@media(max-width:560px){

    .ful-footer{
        margin-top:55px;

        border-radius:
            38px 38px 0 0;
    }

    .ful-footer::before{
        left:18px;
        right:18px;
    }

    .ful-footer-container{
        width:
            calc(100% - 34px);

        padding:
            56px 0
            25px;
    }

    .ful-footer-main{
        grid-template-columns:
            1fr;

        gap:40px;
    }

    .ful-footer-brand{
        grid-column:auto;
    }

    .ful-footer-newsletter{
        grid-column:auto;
    }


    /* mobile logo glass */

    .ful-footer-logo{
        width:100%;

        max-width:290px;

        min-height:78px;

        padding:
            12px 17px;

        border-radius:18px;
    }

    .ful-footer-logo img{
        width:230px;
    }


    /* brand description */

    .ful-footer-brand p{
        font-size:15.5px;

        line-height:1.75;
    }


    /* column title */

    .ful-footer-col h4,
    .ful-footer-newsletter h4{
        font-size:17px;
    }


    /* links */

    .ful-footer-links a{
        font-size:15px;
    }


    /* footer bottom */

    .ful-footer-bottom{
        margin-top:44px;
    }

    .ful-footer-bottom-left{
        gap:6px;
    }

    .ful-footer-bottom-links{
        gap:
            14px 20px;

        flex-wrap:wrap;
    }

    .ful-footer-powered{
        font-size:13px !important;
    }
}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media(prefers-reduced-motion:reduce){

    .ful-footer-glow{
        animation:none;
    }

    .ful-footer-logo::before{
        display:none;
    }

    .ful-footer *,
    .ful-footer *::before,
    .ful-footer *::after{
        transition-duration:.01ms !important;
    }
}