/* =============================================================================
   RESYD ENTERPRISE FOOTER SYSTEM
   CINEMATIC PREMIUM FOOTER
   ALIGNED WITH CORE + COMPONENTS + LINKS + FORM + LISTINGS
   ============================================================================= */

/* =============================================================================
   FOOTER
   ============================================================================= */

.site-footer {

    position:
        relative;

    padding:
        110px 0 42px;

    background:
        linear-gradient(
            180deg,
            #060708 0%,
            #090b0d 40%,
            #050607 100%
        );

    overflow:
        hidden;

    isolation:
        isolate;

    border-top:
        1px solid rgba(255,255,255,.05);

    z-index:
        2;
}

.site-footer::before {

    content:
        "";

    position:
        absolute;

    inset:
        0;

    background:
        radial-gradient(
            circle at top left,
            rgba(199,170,116,.10),
            transparent 34%
        );

    pointer-events:
        none;
}

.site-footer::after {

    content:
        "";

    position:
        absolute;

    inset:
        auto 0 0 0;

    height:
        1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(199,170,116,.34),
            transparent
        );
}

/* =============================================================================
   CONTAINER
   ============================================================================= */

.site-footer .container {

    width:
        min(100% - 2rem, 1480px);

    margin-inline:
        auto;

    position:
        relative;

    z-index:
        2;
}

/* =============================================================================
   TOP
   ============================================================================= */

.footer-top {

    display:
        grid;

    grid-template-columns:
        minmax(320px,420px)
        minmax(0,1fr);

    gap:
        72px;

    align-items:
        start;

    padding-bottom:
        68px;

    border-bottom:
        1px solid rgba(255,255,255,.06);
}

/* =============================================================================
   BRAND
   ============================================================================= */

.footer-brand {

    position:
        relative;
}

.footer-logo {

    display:
        inline-flex;

    align-items:
        center;

    margin-bottom:
        28px;
}

.footer-logo img {

    width:
        auto;

    height:
        42px;

    object-fit:
        contain;

    filter:
        drop-shadow(
            0 8px 22px rgba(199,170,116,.18)
        );
}

/* =============================================================================
   DESCRIPTION
   ============================================================================= */

.footer-description {

    color:
        rgba(255,255,255,.72);

    font-size:
        1rem;

    line-height:
        1.9;

    max-width:
        420px;

    margin-bottom:
        34px;
}

/* =============================================================================
   CTA
   ============================================================================= */

.footer-cta {

    min-width:
        240px;

    min-height:
        58px;

    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    padding:
        0 28px;

    border-radius:
        20px;

    background:
        linear-gradient(
            135deg,
            #d7bc8a,
            #b58545
        );

    color:
        #ffffff;

    font-size:
        .84rem;

    font-weight:
        900;

    letter-spacing:
        .03em;

    text-decoration:
        none;

    border:
        0;

    box-shadow:
        0 18px 40px rgba(181,133,69,.24);

    transition:
        transform .24s ease,
        box-shadow .24s ease;
}

.footer-cta:hover {

    transform:
        translateY(-3px);

    box-shadow:
        0 26px 54px rgba(181,133,69,.34);
}

/* =============================================================================
   NAV GRID
   ============================================================================= */

.footer-nav-grid {

    display:
        grid;

    grid-template-columns:
        repeat(
            4,
            minmax(0,1fr)
        );

    gap:
        28px;
}

/* =============================================================================
   COLUMN
   ============================================================================= */

.footer-column {

    position:
        relative;

    overflow:
        hidden;

    border-radius:
        28px;

    background:
        linear-gradient(
            180deg,
            rgba(18,20,22,.92),
            rgba(8,10,12,.94)
        );

    border:
        1px solid rgba(255,255,255,.05);

    padding:
        28px;

    transition:
        transform .34s ease,
        border-color .34s ease,
        box-shadow .34s ease;

    isolation:
        isolate;
}

.footer-column:hover {

    transform:
        translateY(-6px);

    border-color:
        rgba(199,170,116,.18);

    box-shadow:
        0 26px 70px rgba(0,0,0,.38);
}

.footer-column::before {

    content:
        "";

    position:
        absolute;

    inset:
        0;

    background:
        radial-gradient(
            circle at top right,
            rgba(199,170,116,.08),
            transparent 36%
        );

    opacity:
        0;

    transition:
        opacity .34s ease;

    pointer-events:
        none;
}

.footer-column:hover::before {

    opacity:
        1;
}

/* =============================================================================
   COLUMN TITLES
   ============================================================================= */

.footer-column h3 {

    display:
        flex;

    align-items:
        center;

    gap:
        12px;

    color:
        #ffffff;

    font-size:
        1rem;

    font-weight:
        800;

    line-height:
        1.3;

    margin-bottom:
        24px;

    padding-bottom:
        18px;

    border-bottom:
        1px solid rgba(255,255,255,.06);
}

.footer-column h3::before {

    content:
        "";

    width:
        10px;

    height:
        10px;

    border-radius:
        50%;

    background:
        #d7bc8a;

    box-shadow:
        0 0 18px rgba(215,188,138,.52);

    animation:
        footerPulse 2s infinite;
}

/* =============================================================================
   LISTS
   ============================================================================= */

.footer-column ul {

    display:
        flex;

    flex-direction:
        column;

    gap:
        12px;

    margin:
        0;

    padding:
        0;

    list-style:
        none;
}

.footer-column li {

    position:
        relative;
}

/* =============================================================================
   LINKS
   ============================================================================= */

.footer-column a {

    position:
        relative;

    min-height:
        52px;

    display:
        flex;

    align-items:
        center;

    gap:
        14px;

    padding:
        0 16px;

    border-radius:
        16px;

    background:
        rgba(255,255,255,.03);

    border:
        1px solid rgba(255,255,255,.05);

    color:
        rgba(255,255,255,.78);

    font-size:
        .82rem;

    font-weight:
        700;

    line-height:
        1.4;

    text-decoration:
        none;

    transition:
        transform .24s ease,
        background .24s ease,
        border-color .24s ease,
        color .24s ease,
        box-shadow .24s ease;
}

.footer-column a::before {

    content:
        "";

    width:
        7px;

    height:
        7px;

    border-radius:
        50%;

    background:
        #9fe18d;

    box-shadow:
        0 0 14px rgba(159,225,141,.72);

    flex-shrink:
        0;
}

.footer-column a::after {

    content:
        "→";

    margin-left:
        auto;

    color:
        rgba(255,255,255,.26);

    transition:
        transform .24s ease,
        color .24s ease;
}

.footer-column a:hover {

    transform:
        translateX(4px);

    background:
        rgba(199,170,116,.06);

    border-color:
        rgba(199,170,116,.14);

    color:
        #ffffff;

    box-shadow:
        0 12px 28px rgba(0,0,0,.22);
}

.footer-column a:hover::after {

    color:
        #d7bc8a;

    transform:
        translateX(3px);
}

/* =============================================================================
   MIDDLE
   ============================================================================= */

.footer-middle {

    padding:
        42px 0;

    border-bottom:
        1px solid rgba(255,255,255,.05);
}

/* =============================================================================
   TRUST
   ============================================================================= */

.footer-trust {

    display:
        flex;

    flex-wrap:
        wrap;

    justify-content:
        center;

    gap:
        14px;
}

.footer-trust span {

    min-height:
        40px;

    display:
        inline-flex;

    align-items:
        center;

    gap:
        10px;

    padding:
        0 18px;

    border-radius:
        999px;

    background:
        rgba(255,255,255,.04);

    border:
        1px solid rgba(255,255,255,.06);

    color:
        #ece2d2;

    font-size:
        .74rem;

    font-weight:
        800;

    letter-spacing:
        .03em;

    backdrop-filter:
        blur(12px);

    -webkit-backdrop-filter:
        blur(12px);
}

.footer-trust span::before {

    content:
        "";

    width:
        8px;

    height:
        8px;

    border-radius:
        50%;

    background:
        #9fe18d;

    box-shadow:
        0 0 14px rgba(159,225,141,.72);

    animation:
        footerPulse 2s infinite;
}

/* =============================================================================
   BOTTOM
   ============================================================================= */

.footer-bottom {

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        24px;

    padding-top:
        34px;
}

/* =============================================================================
   COPYRIGHT
   ============================================================================= */

.footer-copyright {

    color:
        rgba(255,255,255,.46);

    font-size:
        .78rem;

    line-height:
        1.7;
}

/* =============================================================================
   LEGAL
   ============================================================================= */

.footer-legal {

    display:
        flex;

    flex-wrap:
        wrap;

    align-items:
        center;

    gap:
        18px;
}

.footer-legal a {

    position:
        relative;

    color:
        rgba(255,255,255,.58);

    font-size:
        .76rem;

    font-weight:
        700;

    text-decoration:
        none;

    transition:
        color .24s ease;
}

.footer-legal a::after {

    content:
        "";

    position:
        absolute;

    left:
        0;

    bottom:
        -6px;

    width:
        0;

    height:
        1px;

    background:
        #d7bc8a;

    transition:
        width .24s ease;
}

.footer-legal a:hover {

    color:
        #ffffff;
}

.footer-legal a:hover::after {

    width:
        100%;
}

/* =============================================================================
   RUNTIME SCRIPTS SAFE
   ============================================================================= */

script[defer] {

    display:
        none !important;
}

/* =============================================================================
   MOBILE
   ============================================================================= */

@media (max-width: 1180px) {

    .footer-top {

        grid-template-columns:
            1fr;

        gap:
            54px;
    }

    .footer-nav-grid {

        grid-template-columns:
            repeat(
                2,
                minmax(0,1fr)
            );
    }
}

@media (max-width: 720px) {

    .site-footer {

        padding:
            74px 0 34px;
    }

    .footer-nav-grid {

        grid-template-columns:
            1fr;

        gap:
            22px;
    }

    .footer-column {

        padding:
            22px;
    }

    .footer-middle {

        padding:
            34px 0;
    }

    .footer-bottom {

        flex-direction:
            column;

        align-items:
            flex-start;
    }

    .footer-trust {

        justify-content:
            flex-start;
    }

    .footer-cta {

        width:
            100%;
    }

    .footer-description {

        max-width:
            100%;
    }
}

/* =============================================================================
   ANIMATION
   ============================================================================= */

@keyframes footerPulse {

    0%,100% {

        opacity:
            1;
    }

    50% {

        opacity:
            .42;
    }
}