/* ---------- 11. FOOTER / SEMITONOS ---------- */
.tridente-footer {
    --footer-bg: var(--bg-main);
    --footer-ink: var(--text-main);
    --footer-warm: var(--accent);
    --footer-muted: var(--text-muted);
    --footer-rule: rgba(229, 231, 235, 0.16);
    --footer-mono: 'SFMono-Regular', Consolas, 'Liberation Mono', monospace;
    position: relative;
    isolation: isolate;
    overflow: hidden;
    border-top: 1px solid var(--footer-rule);
    padding-top: clamp(32px, 4vw, 60px);
    background: var(--footer-bg);
    color: var(--footer-ink);
}
.tridente-footer .footer-top {
    display: grid;
    grid-template-columns: minmax(0, 1.8fr) repeat(3, minmax(0, 1fr));
    gap: 32px;
    align-items: start;
}
.tridente-footer .footer-brand .logo { width: min(100%, 210px); min-height: 44px; gap: 0; margin-bottom: 16px; }
.tridente-footer .footer-brand .logo-image { display: block; width: 100%; height: auto; aspect-ratio: 1906 / 272; flex-shrink: 0; stroke: none; }
.tridente-footer .footer-brand p { color: var(--footer-muted); font-size: 0.8125rem; line-height: 1.8; }
.tridente-footer .footer-brand p + p { margin-top: 4px; }
.tridente-footer .footer-column h2 {
    margin-bottom: 12px;
    color: var(--footer-muted);
    font-family: var(--footer-mono);
    font-size: 0.6875rem;
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}
.tridente-footer .footer-column ul { list-style: none; }
.tridente-footer .footer-column a,
.tridente-footer .footer-up {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    min-height: 44px;
    font-size: 0.8125rem;
    line-height: 1.5;
    transition: color 180ms ease;
}
.tridente-footer a:hover,
.tridente-footer a:active { color: var(--footer-warm); }
.tridente-footer a:focus-visible { outline: 2px solid var(--footer-warm); outline-offset: 4px; }
.tridente-footer .social-icons { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
.tridente-footer .social-icons a { display: grid; place-items: center; width: 44px; height: 44px; color: var(--footer-muted); }
.tridente-footer .social-icons a:hover { color: var(--footer-warm); }
.tridente-footer .social-icons svg { width: 18px; height: 18px; }
.tridente-footer .footer-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px 32px;
    margin-top: clamp(32px, 4vw, 56px);
    padding-top: 16px;
    border-top: 1px solid var(--footer-rule);
    color: var(--footer-muted);
}
.tridente-footer .footer-bottom p { font-size: 0.75rem; line-height: 1.8; }
.tridente-footer .footer-up {
    flex-shrink: 0;
    color: var(--footer-ink);
    font-family: var(--footer-mono);
    font-size: 0.6875rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}
.tridente-footer .footer-up span { font-family: var(--font-main); font-size: 1rem; }
.tridente-footer .footer-wordmark {
    position: relative;
    height: clamp(100px, 22vw, 480px);
    margin-top: 8px;
    overflow: hidden;
    touch-action: pan-y pinch-zoom;
}
.tridente-footer .footer-canvas { position: absolute; inset: 0; display: block; width: 100%; height: 100%; pointer-events: none; }
.tridente-footer .footer-wordmark-fallback {
    position: absolute;
    bottom: -0.2em;
    left: 50%;
    transform: translateX(-50%);
    font-size: 23vw;
    font-weight: 800;
    line-height: 1;
    letter-spacing: -0.065em;
}
.tridente-footer.has-halftone .footer-wordmark-fallback { visibility: hidden; }

@media (max-width: 900px) {
    .tridente-footer .footer-top { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px 24px; }
    .tridente-footer .footer-brand { grid-column: 1 / -1; }
}
@media (max-width: 480px) {
    .tridente-footer .footer-top { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 20px; }
    .tridente-footer .footer-contact { grid-column: 1 / -1; }
    .tridente-footer .social-icons { margin-left: -12px; }
    .tridente-footer .footer-bottom { align-items: flex-start; flex-direction: column; gap: 8px; }
}
