.site-footer { border-top: 2px solid var(--colour-signal-orange); background: var(--colour-field-paper); }
.site-footer__archive { position: relative; overflow: hidden; background-color: var(--colour-field-paper); background-image: var(--texture-topographic); }
.site-footer__archive-inner { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: var(--space-7); padding-block: var(--space-8); }
.site-footer__intro { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.site-footer__intro > * { margin: 0; }
.site-footer__eyebrow { color: var(--colour-graphite-soft); font-family: var(--font-heading); font-size: var(--text-meta); font-weight: 700; letter-spacing: .12em; line-height: 1.2; text-transform: uppercase; }
.site-footer__eyebrow span { color: var(--colour-signal-orange); }
.site-footer__intro h2 { color: rgb(32 39 41 / 78%); font-size: clamp(2.8rem, 5vw, 4.5rem); letter-spacing: .015em; line-height: .88; text-transform: uppercase; }
.site-footer__intro p:not(.site-footer__eyebrow) { max-width: 48ch; color: var(--colour-graphite-soft); }
.site-footer__drawers { display: grid; align-content: start; border-top: 1px solid var(--colour-graphite); }
.site-footer__drawer { border-right: 1px solid var(--colour-graphite); border-bottom: 1px solid var(--colour-graphite); border-left: 1px solid var(--colour-graphite); background: var(--colour-paper-bright); }
.site-footer__drawer + .site-footer__drawer { border-top: 0; }
.site-footer__drawer summary { display: flex; min-height: 2.95rem; align-items: center; justify-content: space-between; padding: var(--space-3) var(--space-4); background: linear-gradient(90deg, rgb(184 184 170 / 34%), transparent 35%), var(--colour-paper-bright); color: var(--colour-graphite); cursor: pointer; font-family: var(--font-heading); font-size: var(--text-label); font-weight: 700; letter-spacing: .1em; line-height: 1; list-style: none; text-transform: uppercase; }
.site-footer__drawer summary::-webkit-details-marker { display: none; }
.site-footer__drawer summary span { color: var(--colour-signal-orange); font-size: var(--text-meta); }
.site-footer__drawer[open] summary { border-bottom: 2px solid var(--colour-signal-orange); background: var(--colour-tactical-sage); }
.site-footer__drawer > div { display: grid; gap: 1px; padding: var(--space-3); background: var(--colour-canvas-tan); }
.site-footer__drawer a { display: flex; min-height: 2.35rem; align-items: center; justify-content: space-between; padding: var(--space-2) var(--space-3); background: var(--colour-field-paper); color: var(--colour-graphite); font-family: var(--font-heading); font-size: var(--text-utility); font-weight: 700; letter-spacing: .05em; line-height: 1.2; text-decoration: none; text-transform: uppercase; }
.site-footer__drawer a span { color: var(--colour-signal-orange); transition: transform var(--transition-fast); }
.site-footer__drawer a:hover span { transform: translateX(3px); }
.site-footer__contact { grid-column: 1 / -1; margin: 0; padding-top: var(--space-5); border-top: var(--border); color: var(--colour-graphite-soft); font-size: var(--text-utility); line-height: 1.55; }
.site-footer__contact a { color: var(--colour-steel-blue); }
.site-footer__contact span { color: var(--colour-signal-orange); }
.site-footer__legal { background: var(--colour-graphite); color: var(--colour-paper-bright); }
.site-footer__legal-inner { display: flex; min-height: 4rem; align-items: center; justify-content: space-between; gap: var(--space-4); padding-block: var(--space-3); }
.site-footer__legal p { margin: 0; color: rgb(245 243 236 / 78%); font-size: var(--text-utility); }
.site-footer__legal nav { display: flex; flex-wrap: wrap; gap: var(--space-3); }
.site-footer__legal a { color: var(--colour-paper-bright); font-family: var(--font-heading); font-size: var(--text-meta); font-weight: 700; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.site-footer__legal a:hover { color: var(--colour-signal-orange); }
.site-consent { position: fixed; z-index: 90; right: var(--space-4); bottom: var(--space-4); left: var(--space-4); max-width: 52rem; margin-inline: auto; border: 1px solid var(--colour-graphite); border-left: 3px solid var(--colour-signal-orange); background: var(--colour-paper-bright); box-shadow: var(--shadow-floating); }
.site-consent[hidden] { display: none; }
.site-consent.is-hiding { opacity: 0; transform: translateY(1rem); transition: opacity var(--transition-standard), transform var(--transition-standard); }
.site-consent__inner { display: flex; align-items: center; justify-content: space-between; gap: var(--space-5); padding: var(--space-4); }
.site-consent__copy { min-width: 0; }
.site-consent__copy p { margin: 0; color: var(--colour-graphite-soft); font-size: var(--text-utility); }
.site-consent__copy .site-consent__label { margin-bottom: var(--space-1); color: var(--colour-graphite); font-family: var(--font-heading); font-size: var(--text-meta); font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.site-consent__actions { display: flex; flex: 0 0 auto; gap: var(--space-2); }
.site-consent__actions .button { min-height: 2.5rem; font-size: var(--text-utility); }
@media (max-width: 56.25rem) { .site-footer__archive-inner { grid-template-columns: 1fr; gap: var(--space-6); padding-block: var(--space-7); } .site-footer__contact { grid-column: auto; } .site-footer__legal-inner { align-items: flex-start; flex-direction: column; } }
@media (max-width: 40rem) { .site-footer__intro h2 { font-size: 2.8rem; } .site-footer__drawer summary { min-height: 3.15rem; } .site-footer__contact { overflow-wrap: anywhere; } .site-consent { right: var(--space-2); bottom: var(--space-2); left: var(--space-2); } .site-consent__inner { align-items: stretch; flex-direction: column; gap: var(--space-3); } .site-consent__actions { width: 100%; } .site-consent__actions .button { flex: 1 1 0; } }
@media (prefers-reduced-motion: reduce) { .site-consent.is-hiding, .site-footer__drawer a span { transition: none; } }