/* ==========================================================================
   ARMAND DIGITAL — SHARED FOOTER
   All footer styles are scoped to .site-footer.
   ========================================================================== */

.site-footer {
    --footer-line: rgba(243, 241, 236, 0.16);
    --footer-muted: rgba(243, 241, 236, 0.58);

    overflow: hidden;
    padding: 0 var(--page-gutter) 25px;
    border-top: 1px solid var(--footer-line);
    background: var(--ink);
    color: var(--paper);
}

.site-footer__inner {
    width: min(100%, 1600px);
    margin-inline: auto;
}

.site-footer__bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.site-footer__label,
.site-footer__brand p,
.site-footer__bottom {
    font-family: var(--font-mono);
    font-size: 0.72rem;
    letter-spacing: 0.08em;
}

.site-footer__main {
    display: grid;
    grid-template-columns: minmax(220px, 1.25fr) minmax(165px, 0.9fr) minmax(125px, 0.65fr) minmax(210px, 0.9fr);
    gap: clamp(28px, 4vw, 72px);
    padding: 42px 0 75px;
    border-top: 1px solid var(--signal);
}

.site-footer__brand a {
    display: inline-block;
    width: min(180px, 100%);
}

.site-footer__brand img {
    display: block;
    width: 100%;
    height: auto;
}

.site-footer__brand p {
    margin: 18px 0 0;
    color: var(--footer-muted);
    line-height: 1.6;
}

.site-footer__nav,
.site-footer__contact {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 13px;
}

.site-footer__label {
    margin-bottom: 10px;
    color: var(--footer-muted);
}

.site-footer__nav a,
.site-footer__contact a {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    font-size: 0.98rem;
    transition: color 200ms ease;
}

.site-footer__nav a span,
.site-footer__contact a span {
    color: var(--signal);
    transition: transform 200ms ease;
}

.site-footer__nav a:hover,
.site-footer__contact a:hover { color: var(--signal); }

.site-footer__nav a:hover span,
.site-footer__contact a:hover span { transform: translate(3px, -3px); }

.site-footer__contact .site-footer__contact-primary {
    font-weight: 700;
}

.site-footer__contact .site-footer__contact-secondary {
    color: var(--footer-muted);
}

.site-footer__bottom {
    flex-wrap: wrap;
    padding-top: 24px;
    border-top: 1px solid var(--footer-line);
    color: var(--footer-muted);
    line-height: 1.6;
}

.site-footer__bottom p { margin: 0; }
.site-footer__legal { display: flex; flex-wrap: wrap; gap: 10px 24px; }
.site-footer__bottom a:hover { color: var(--paper); }
.site-footer__language { color: var(--paper); }

@media (max-width: 900px) {
    .site-footer__main {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: 48px 30px;
    }

    .site-footer__brand { grid-column: 1 / -1; }
    .site-footer__bottom { justify-content: flex-start; gap: 12px 30px; }
}

@media (max-width: 650px) {
    .site-footer { padding: 0 18px 25px; }
    .site-footer__main {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: 45px 20px;
        padding: 32px 0 55px;
    }
    .site-footer__brand a { width: 155px; }
    .site-footer__brand p { font-size: 0.65rem; }
    .site-footer__nav a,
    .site-footer__contact a { font-size: 0.83rem; }
    .site-footer__label { font-size: 0.59rem; }
    .site-footer__bottom { font-size: 0.62rem; }
}

@media (max-width: 360px) {
    .site-footer__main { grid-template-columns: minmax(0, 1fr); }
    .site-footer__brand { grid-column: auto; }
}

@media (prefers-reduced-motion: reduce) {
    .site-footer a,
    .site-footer a span { transition: none; }
}
