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

.footer{
    position:relative;
    padding:70px 0 35px;
    background:linear-gradient(180deg,#050505 0%,#020202 100%);
    border-top:1px solid rgba(255,255,255,.06);
    overflow:hidden;
}

.footer::before{
    content:"";
    position:absolute;
    top:-180px;
    left:50%;
    transform:translateX(-50%);
    width:650px;
    height:650px;
    border-radius:50%;
    background:rgba(212,175,55,.04);
    filter:blur(140px);
}

.footer .container{
    position:relative;
    z-index:2;
}

.footer-top{
    display:flex;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;
    gap:28px;
    margin-bottom:28px;
}

.footer-brand{
    display:flex;
    align-items:center;
    gap:16px;
}

.footer-brand img{
    width:58px;
    height:58px;
    border-radius:50%;
    border:2px solid rgba(212,175,55,.30);
    box-shadow:0 0 16px rgba(212,175,55,.20);
}

.footer-brand h2{
    font-family:var(--heading);
    color:#fff;
    font-size:1.6rem;
    margin-bottom:2px;
}

.footer-brand p{
    color:var(--gold);
    letter-spacing:1.5px;
    font-size:.9rem;
}

.footer-social{
    display:flex;
    gap:18px;
    flex-wrap:wrap;
}

.footer-social a{
    color:var(--muted);
    transition:.3s;
    font-size:.95rem;
    font-weight:600;
}

.footer-social a:hover{
    color:var(--gold);
}

.footer-divider{
    width:100%;
    height:1px;
    background:rgba(255,255,255,.08);
    margin:24px 0;
}

.footer-contract{
    text-align:center;
    margin-bottom:24px;
}

.footer-contract span{
    color:var(--gold);
    text-transform:uppercase;
    letter-spacing:2px;
    display:block;
    margin-bottom:8px;
    font-size:.8rem;
}

.footer-contract p{
    color:#fff;
    font-size:.9rem;
    word-break:break-all;
}

.footer-bottom{
    text-align:center;
}

.footer-bottom p{
    color:#fff;
    font-family:var(--heading);
    font-size:1.2rem;
    margin-bottom:12px;
}

.footer-bottom small{
    display:block;
    color:var(--muted);
    line-height:1.6;
    font-size:.82rem;
    margin-bottom:8px;
}

/* ==========================================
   FOOTER CINEMATIC EFFECTS
========================================== */

.footer-effects{
    position:absolute;
    inset:0;
    overflow:hidden;
    pointer-events:none;
}

.footer-smoke{
    position:absolute;
    left:-20%;
    bottom:0;
    width:140%;
    height:220px;
    background:radial-gradient(circle,
    rgba(255,255,255,.08),
    transparent 70%);
    filter:blur(70px);
    opacity:.15;
    animation:smokeMove 18s linear infinite;
}

.bull-eyes{
    position:absolute;
    top:90px;
    left:50%;
    transform:translateX(-50%);
    display:flex;
    gap:70px;
    opacity:.18;
}

.bull-eyes span{
    width:18px;
    height:18px;
    border-radius:50%;
    background:#ff8c00;
    box-shadow:
        0 0 18px #ff8c00,
        0 0 40px #ff6a00;
    animation:eyeGlow 2.5s ease-in-out infinite;
}

.footer-bull{
    position:absolute;
    bottom:20px;
    left:50%;
    transform:translateX(-50%);
    width:450px;
    height:240px;
    background:url("assets/bull-shadow.webp") center/contain no-repeat;
    opacity:.06;
}

.embers{
    position:absolute;
    inset:0;
    background-image:
    radial-gradient(circle,#ffae00 1px,transparent 1px);
    background-size:140px 140px;
    opacity:.18;
    animation:embersRise 16s linear infinite;
}

.footer-bottom p{
    position:relative;
    display:inline-block;
}

.footer-bottom p::after{
    content:"";
    position:absolute;
    left:0;
    bottom:-8px;
    width:100%;
    height:2px;
    background:linear-gradient(
        90deg,
        transparent,
        var(--gold),
        transparent
    );
}