/* ============================================================
   FOOTER — Luxury Minimal Dark
   ============================================================ */
.sff-footer {
    background: var(--sff-charcoal);
    color: rgba(255,255,255,.65);
    padding-top: clamp(var(--sp-16), 8vw, var(--sp-32));
}
.sff-footer__top {
    display: grid;
    grid-template-columns: 1.5fr 1fr 1fr 1fr;
    gap: var(--sp-16);
    padding-bottom: var(--sp-16);
    border-bottom: 1px solid rgba(255,255,255,.07);
}
.sff-footer__brand { padding-right: var(--sp-6); }
.sff-footer__wordmark {
    font-family: var(--font-display);
    font-size: 1.5rem;
    font-weight: 500;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    color: var(--sff-white);
    display: block;
    margin-bottom: var(--sp-5);
}
.sff-footer__tagline {
    font-size: var(--text-sm);
    line-height: 1.7;
    color: rgba(255,255,255,.4);
    margin-bottom: var(--sp-8);
    max-width: 30ch;
    p { max-width: 100%; }
}
.sff-footer__social { display: flex; gap: var(--sp-3); }
.sff-footer__social-link {
    display: flex; align-items: center; justify-content: center;
    width: 38px; height: 38px;
    border: 1px solid rgba(255,255,255,.12);
    color: rgba(255,255,255,.4);
    transition: all var(--t-fast);
}
.sff-footer__social-link:hover {
    border-color: var(--sff-terracotta);
    color: var(--sff-white);
    background: var(--sff-terracotta);
}
.sff-footer__social-link svg { width: 15px; height: 15px; fill: currentColor; }
.sff-footer__col-title {
    font-size: var(--text-xs);
    font-weight: 600;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--sff-white);
    margin-bottom: var(--sp-6);
}
.sff-footer__links { list-style: none; display: flex; flex-direction: column; gap: var(--sp-3); }
.sff-footer__links a {
    font-size: var(--text-sm);
    color: rgba(255,255,255,.45);
    transition: color var(--t-fast);
}
.sff-footer__links a:hover { color: var(--sff-white); }
.sff-footer__contact-items { display: flex; flex-direction: column; gap: var(--sp-4); }
.sff-footer__contact-item {
    display: flex; align-items: flex-start; gap: var(--sp-3);
    font-size: var(--text-sm);
    color: rgba(255,255,255,.45);
}
.sff-footer__contact-item a { color: rgba(255,255,255,.45); transition: color var(--t-fast); }
.sff-footer__contact-item a:hover { color: var(--sff-white); }
.sff-footer__contact-icon { width: 14px; height: 14px; flex-shrink: 0; margin-top: 3px; opacity: .4; fill: currentColor; }
.sff-footer__bottom {
    padding-block: var(--sp-6);
    display: flex; align-items: center; justify-content: space-between;
    flex-wrap: wrap; gap: var(--sp-4);
}
.sff-footer__copy { font-size: var(--text-xs); letter-spacing: 0.06em; color: rgba(255,255,255,.25); }
.sff-footer__legal { display: flex; gap: var(--sp-6); }
.sff-footer__legal a {
    font-size: var(--text-xs); letter-spacing: 0.06em;
    color: rgba(255,255,255,.25); transition: color var(--t-fast);
}
.sff-footer__legal a:hover { color: rgba(255,255,255,.55); }
@media (max-width: 1024px) {
    .sff-footer__top { grid-template-columns: 1fr 1fr; gap: var(--sp-10); }
    .sff-footer__brand { grid-column: span 2; }
}
@media (max-width: 600px) {
    .sff-footer__top { grid-template-columns: 1fr; }
    .sff-footer__brand { grid-column: auto; }
    .sff-footer__bottom { flex-direction: column; text-align: center; }
    .sff-footer__legal { justify-content: center; }
}
