.site-footer { border-top: var(--border-strong); background: var(--color-paper); color: var(--color-graphite); }
.site-footer__press { position: relative; overflow: hidden; padding: var(--space-6) 0; border-bottom: var(--border-thin); background: linear-gradient(135deg, rgba(231,233,234,.72), rgba(247,246,241,.9)), repeating-linear-gradient(90deg, transparent 0, transparent 8px, rgba(32,36,42,.035) 8px, rgba(32,36,42,.035) 9px); }
.site-footer__press .container { position: relative; }
.site-footer__press-rail { height: .5rem; margin-bottom: var(--space-5); border-top: 1px solid #a9afb2; border-bottom: 1px solid #a9afb2; background: linear-gradient(90deg, #cfd3d5, #f5f6f6 30%, #bcc2c5 65%, #f6f6f5); }
.site-footer__sheets { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: var(--space-2); }
.site-footer__sheet { position: relative; display: flex; flex-direction: column; min-height: 6.75rem; justify-content: space-between; padding: var(--space-3); border: 1px solid var(--color-line); background: var(--color-paper-bright); box-shadow: 3px 3px 0 rgba(32,36,42,.08); color: var(--color-graphite); text-decoration: none; transition: transform var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out); }
.site-footer__sheet::before, .site-footer__sheet::after { position: absolute; right: var(--space-3); left: var(--space-3); height: 1px; background: var(--color-line); content: ""; }
.site-footer__sheet::before { top: 2.75rem; } .site-footer__sheet::after { top: 3.15rem; width: 45%; }
.site-footer__sheet span { font-family: var(--font-heading); font-size: clamp(.9rem, 1.3vw, 1.25rem); font-weight: 600; letter-spacing: -.03em; line-height: 1; }
.site-footer__sheet small { color: var(--color-graphite-muted); font-size: var(--text-11); font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.site-footer__sheet:hover { border-color: var(--color-ultramarine); color: var(--color-ultramarine); transform: translate(-2px, -2px); }
.site-footer__main { padding: var(--space-8) 0; }
.site-footer__main-grid { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(13rem, .8fr) minmax(11rem, .7fr); gap: var(--space-7); }
.site-footer__intro, .site-footer__contact, .site-footer__links { min-width: 0; }
.site-footer__kicker { margin: 0 0 var(--space-3); color: var(--color-ultramarine); font-size: var(--text-11); font-weight: 700; letter-spacing: .06em; line-height: 1.3; }
.site-footer__intro h2 { margin: 0 0 var(--space-5); font-size: clamp(2rem, 3.4vw, var(--text-38)); line-height: 1.04; }
.site-footer__contact h3, .site-footer__links h3 { margin: 0 0 var(--space-3); font-family: var(--font-body); font-size: var(--text-12); font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.site-footer__contact p { margin: 0; color: var(--color-graphite-muted); font-size: var(--text-14); line-height: 1.7; }
.site-footer__links ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-2) var(--space-4); margin: 0; padding: 0; list-style: none; }
.site-footer__links li, .site-footer__links li + li { margin: 0; padding: 0; }
.site-footer__links a { color: var(--color-graphite); font-size: var(--text-14); text-decoration: none; }
.site-footer__links a:hover { color: var(--color-ultramarine); text-decoration: underline; }
.site-footer__legal { background: var(--color-graphite); color: var(--color-paper); }
.site-footer__legal-inner { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); min-height: 4rem; padding: var(--space-3) 0; }
.site-footer__legal nav { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-4); }
.site-footer__legal a { color: var(--color-paper); font-size: var(--text-11); text-decoration: none; }
.site-footer__legal a:hover { color: var(--color-mint); text-decoration: underline; }
.site-footer__legal small { color: #c9cdcf; font-size: var(--text-11); white-space: nowrap; }
.site-consent { position: fixed; z-index: 90; right: var(--space-4); bottom: var(--space-4); left: var(--space-4); max-width: 48rem; margin-inline: auto; border: var(--border-thin); border-radius: var(--radius-panel); background: rgba(255,255,255,.95); box-shadow: var(--shadow-floating); backdrop-filter: blur(12px); opacity: 0; transform: translateY(1rem); transition: opacity var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out); }
.site-consent:not([hidden]) { display: block; }
.site-consent.is-visible { opacity: 1; transform: translateY(0); }
.site-consent.is-hiding { opacity: 0; transform: translateY(1rem); }
.site-consent__inner { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); padding: var(--space-4); }
.site-consent__copy { min-width: 0; }
.site-consent__copy strong { display: block; margin-bottom: var(--space-1); font-size: var(--text-14); }
.site-consent__copy p { margin: 0; color: var(--color-graphite-muted); font-size: var(--text-14); line-height: 1.4; }
.site-consent__actions { display: flex; flex: 0 0 auto; gap: var(--space-2); }
.site-consent__actions .button-secondary { background: var(--color-paper-bright); }
@media (max-width: 64rem) { .site-footer__sheets { grid-template-columns: repeat(4, minmax(0, 1fr)); } .site-footer__main-grid { grid-template-columns: 1.4fr .8fr; } .site-footer__links { grid-column: 1 / -1; padding-top: var(--space-5); border-top: var(--border-thin); } }
@media (max-width: 37.5rem) { .site-footer__press { padding: var(--space-5) 0; } .site-footer__sheets { grid-template-columns: 1fr; } .site-footer__sheet { min-height: 4.5rem; } .site-footer__main { padding: var(--space-7) 0; } .site-footer__main-grid { grid-template-columns: 1fr; gap: var(--space-6); } .site-footer__links { grid-column: auto; } .site-footer__legal-inner { align-items: flex-start; flex-direction: column; } .site-footer__legal small { white-space: normal; } .site-consent { right: var(--space-3); bottom: var(--space-3); left: var(--space-3); } .site-consent__inner { align-items: stretch; flex-direction: column; } .site-consent__actions { justify-content: flex-end; } }
@media (prefers-reduced-motion: reduce) { .site-footer__sheet { transition: none; } }