/* ==========================================================================
   FOOTER PREMIUM — PORTAL AARCA
   ========================================================================== */

.site-footer {
    position: relative;
    overflow: hidden;
    padding: 76px 0 0;
    background:
        radial-gradient(
            circle at 10% 5%,
            rgba(129, 199, 132, .08),
            transparent 30%
        ),
        linear-gradient(
            145deg,
            #102e1b,
            #163e24
        );
    color: #ffffff;
}

.site-footer::before {
    content: "";
    position: absolute;
    right: -110px;
    top: -110px;
    width: 270px;
    height: 270px;
    border: 38px solid rgba(255, 255, 255, .025);
    border-radius: 50%;
    pointer-events: none;
}

.footer-container {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns:
        minmax(270px, 1.35fr)
        minmax(150px, .68fr)
        minmax(220px, .92fr)
        minmax(220px, 1fr);
    gap: 42px;
    align-items: start;
}

.footer-about {
    max-width: 490px;
}

.footer-brand {
    display: inline-block;
}

.footer-logo {
    display: block;
    width: 185px;
    height: auto;
    margin-bottom: 22px;
    filter: drop-shadow(0 8px 18px rgba(0, 0, 0, .18));
}

.footer-title {
    margin: 0 0 13px;
    color: #ffffff;
    font-size: 17px;
    font-weight: 800;
    line-height: 1.45;
}

.footer-description {
    margin: 0;
    color: rgba(255, 255, 255, .76);
    font-size: 14px;
    line-height: 1.75;
}

.footer-seals {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 22px;
}

.footer-seals span {
    display: inline-flex;
    padding: 7px 10px;
    border: 1px solid rgba(255, 255, 255, .10);
    border-radius: 999px;
    background: rgba(255, 255, 255, .055);
    color: rgba(255, 255, 255, .84);
    font-size: 11px;
    font-weight: 700;
}

.footer-links h3,
.footer-access h3,
.footer-contact h3 {
    margin: 0 0 19px;
    color: #ffffff;
    font-size: 17px;
}

.footer-links ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.footer-links li {
    margin-bottom: 10px;
}

.footer-links a {
    display: inline-flex;
    color: rgba(255, 255, 255, .74);
    font-size: 14px;
    text-decoration: none;
    transition:
        color .3s ease,
        transform .3s ease;
}

.footer-links a:hover,
.footer-links a:focus-visible {
    transform: translateX(4px);
    color: #a5d6a7;
}

.footer-access {
    display: grid;
    gap: 11px;
}

.footer-access h3 {
    margin-bottom: 8px;
}

.footer-access-card {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    padding: 13px;
    border: 1px solid rgba(255, 255, 255, .09);
    border-radius: 13px;
    background: rgba(255, 255, 255, .045);
    color: #ffffff;
    text-decoration: none;
    transition:
        background .3s ease,
        transform .3s ease,
        border-color .3s ease;
}

.footer-access-card:hover,
.footer-access-card:focus-visible {
    transform: translateY(-3px);
    border-color: rgba(165, 214, 167, .24);
    background: rgba(255, 255, 255, .08);
}

.footer-access-card > span {
    flex: 0 0 auto;
    font-size: 20px;
}

.footer-access-card strong {
    display: block;
    margin-bottom: 3px;
    font-size: 13px;
}

.footer-access-card small {
    display: block;
    color: rgba(255, 255, 255, .62);
    font-size: 11px;
    line-height: 1.45;
}

.footer-contact {
    min-width: 0;
}

.footer-contact-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 13px;
}

.footer-contact-item > span {
    flex: 0 0 22px;
}

.footer-contact-item p {
    min-width: 0;
    margin: 0;
    color: rgba(255, 255, 255, .74);
    font-size: 13px;
    line-height: 1.55;
}

.footer-contact a {
    color: rgba(255, 255, 255, .78);
    text-decoration: none;
    word-break: break-word;
    transition: color .3s ease;
}

.footer-contact a:hover,
.footer-contact a:focus-visible {
    color: #a5d6a7;
}

.footer-contact-cta {
    display: inline-flex;
    padding: 10px 13px;
    border: 1px solid rgba(25