/* ============================================================
   Footer — fecha toda página com a frase da marca, o botão do
   consultor e o mapa do site.
   ============================================================ */

.site-footer {
    position: relative;
    isolation: isolate;
    overflow: clip;
    padding-block: clamp(4rem, 8vw, 7rem) calc(var(--space-6) + env(safe-area-inset-bottom));
    color: var(--ink);
}

.site-footer .cam-mark { right: -8%; bottom: -12%; width: clamp(280px, 38vw, 560px); }

.site-footer__heading {
    margin-bottom: var(--space-4);
    font-size: var(--fs-2xs);
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--ink-muted);
}

/* ── Topo: frase + botão ─────────────────────────────────── */

.site-footer__top {
    padding-bottom: clamp(3rem, 6vw, 5rem);
    border-bottom: 1px solid var(--line);
}

.site-footer__pitch { display: grid; justify-items: start; gap: var(--space-6); }

.site-footer__lead {
    max-width: 40ch;
    font-size: var(--fs-lg);
    font-weight: 500;
    line-height: 1.5;
    color: var(--ink-soft);
}

/* ── Colunas ─────────────────────────────────────────────── */

.site-footer__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-10) var(--space-6);
    padding-block: clamp(2.5rem, 5vw, 4rem);
}

.site-footer__col ul { display: grid; gap: var(--space-1); }

.site-footer__col a,
.site-footer__address {
    font-size: var(--fs-sm);
    color: var(--ink-soft);
}

.site-footer__col a {
    display: inline-block;
    padding-block: var(--space-1);
    transition: color var(--dur-fast) var(--ease-apple);
}
.site-footer__col a:hover { color: var(--brand); }

.site-footer__address { font-style: normal; line-height: 1.7; }
.site-footer__address span { display: inline-block; margin-top: var(--space-2); font-size: var(--fs-xs); color: var(--ink-muted); }

/* ── Base ────────────────────────────────────────────────── */

.site-footer__bottom {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-4) var(--space-8);
    padding-top: var(--space-6);
    border-top: 1px solid var(--line);
}

.site-footer__logo { width: 104px; }

.site-footer__legal {
    flex: 1 1 260px;
    font-size: var(--fs-xs);
    color: var(--ink-muted);
}

.site-footer__top-link {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    min-height: 44px;
    font-size: var(--fs-xs);
    font-weight: 600;
    color: var(--ink-soft);
}
.site-footer__top-link svg { width: 14px; height: 14px; }
.site-footer__top-link:hover { color: var(--brand); }

/* ── Telas maiores ───────────────────────────────────────── */

@media (min-width: 720px) {
    .site-footer__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
