/* The site footer both zones carry (pipeline/templates/partials/footer.html), on the shared tokens only,
   so a report-zone page and a checker-zone page close the same way. Zone headers live in zone-report.css
   and zone-checker.css. The values come from data/design-tokens.yml; edit the data, not the stamp. */
/* design-tokens:start zone=shared: generated from data/design-tokens.yml by verify-design-tokens.js --write; edit the data, not this block */
:root {
  --colour-night: #0F1A16;
  --colour-night-2: #16241F;
  --colour-bone: #EDE7DC;
  --colour-mist: #A9B3AC;
  --colour-forest: #2A4A3E;
  --colour-forest-lit: #6F8C80;
  --colour-ink: #1C1C1C;
  --colour-white: #FFFFFF;
  --font-text: 'Inter', 'Inter Fallback', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-wordmark: 'Cormorant Garamond', 'Cormorant Garamond Fallback', Georgia, serif;
  --fs-caption: 0.8125rem;
  --fs-small: 0.9375rem;
  --fs-text: 1.0625rem;
  --fs-wordmark: 1.375rem;
  --weight-text: 400;
  --weight-label: 500;
  --weight-strong: 600;
  --radius-chip: 999px;
  --space-4: 0.25rem;
  --space-8: 0.5rem;
  --space-12: 0.75rem;
  --space-16: 1rem;
  --space-24: 1.5rem;
  --space-32: 2rem;
  --space-48: 3rem;
  --space-64: 4rem;
  --space-96: 6rem;
  --space-128: 8rem;
  --space-160: 10rem;
  --space-gutter-phone: 1.25rem;
  --space-gutter-desktop: 3rem;
  --leading-heading: 1.15;
  --leading-text: 1.62;
  --leading-data: 1.4;
  --measure-text: 64ch;
  --measure-lead: 38ch;
}
/* design-tokens:end */

.site-footer { background: var(--colour-night); color: var(--colour-mist); font-family: var(--font-text); font-size: var(--fs-small); font-weight: var(--weight-text); line-height: var(--leading-text); text-align: left; }
.site-footer *, .site-footer *::before, .site-footer *::after { box-sizing: border-box; }
.site-footer-inner { max-width: 77.5rem; margin: 0 auto; padding: var(--space-48) var(--space-gutter-phone) var(--space-32); }
.site-footer-top { display: grid; gap: var(--space-32); }
/* The wordmark is the logo in tracked capitals (docs/brand-guide.md §5.1), the one place capitals are set. */
.wordmark { text-transform: uppercase; }
.site-footer .wordmark { font-family: var(--font-wordmark); font-weight: 500; font-size: var(--fs-wordmark); letter-spacing: 0.18em; line-height: 1; color: var(--colour-bone); text-decoration: none; }
.site-footer-tagline { margin: var(--space-12) 0 0; color: var(--colour-mist); }
.site-footer-contact { margin: var(--space-8) 0 0; }
.site-footer-cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-24) var(--space-32); }
.site-footer-label { margin: 0 0 var(--space-8); font-size: var(--fs-small); font-weight: var(--weight-label); color: var(--colour-bone); }
.site-footer ul { list-style: none; margin: 0; padding: 0; }
.site-footer li { margin: 0; padding: 0; }
.site-footer a { color: var(--colour-mist); text-decoration: none; }
.site-footer a:hover, .site-footer a:focus-visible { color: var(--colour-bone); text-decoration: underline; text-underline-offset: 0.2em; }
.site-footer-cols a, .site-footer-contact a, .site-footer-legal-links a { display: inline-block; padding: var(--space-12) 0; }
.site-footer a:focus-visible { outline: 2px solid var(--colour-bone); outline-offset: 2px; }
.site-footer-legal { margin-top: var(--space-32); padding-top: var(--space-24); border-top: 1px solid var(--colour-night-2); font-size: var(--fs-caption); line-height: var(--leading-data); }
.site-footer-legal p { margin: 0 0 var(--space-8); color: var(--colour-mist); }
.site-footer-legal-links { display: flex; flex-wrap: wrap; gap: 0 var(--space-24); }

@media (min-width: 900px) {
  .site-footer-inner { padding: var(--space-64) var(--space-gutter-desktop) var(--space-32); }
  .site-footer-top { grid-template-columns: minmax(0, 1fr) minmax(0, 2.4fr); gap: var(--space-64); }
  .site-footer-cols { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .site-footer-cols a, .site-footer-contact a, .site-footer-legal-links a { padding: var(--space-4) 0; }
}

@media print { .site-footer { display: none; } }
