/* The site's one footer: a four-column directory over a legal bar. Shared by
   the static pages and the exported ones, which never load style.css, so every
   token it uses carries the style.css value as a fallback. The one-screen home
   keeps its own compact footer: it has no room for this and never scrolls. */
.platform-footer { background: #0a0a0e; border-top: 1px solid #33313a; color: #f4f1ea; }
.footer-directory {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px;
  max-width: 1260px; margin: 0 auto; padding: 38px 40px;
}
.footer-directory-title {
  margin: 0 0 12px; color: #c2bbff;
  font-family: var(--font-mono, 'Archivo', 'Helvetica Neue', Arial, sans-serif);
  font-size: 12px; font-weight: 500; line-height: 1.6; letter-spacing: .08em; text-transform: uppercase;
}
.footer-directory ul { list-style: none; margin: 0; padding: 0; }
.footer-directory a {
  display: block; padding: 7px 0; color: #c7c4d0; font-size: 14px; line-height: 1.5;
  text-decoration: none; overflow-wrap: break-word;
}
.footer-directory a:hover, .footer-directory a:focus-visible {
  color: #fff; text-decoration: underline; text-underline-offset: 4px;
}

/* The legal bar under the directory. The rule spans the footer edge to edge,
   so it reads as a division of the whole block rather than of its contents.
   A three-track grid with matching side columns puts the copyright in the
   middle of the page; space-between would centre it between its neighbours,
   which are different widths. */
.platform-footer .footer-legal-rule { border-top: 1px solid #33313a; }
.platform-footer .footer-legal {
  display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 14px 22px;
  max-width: 1260px; margin: 0 auto; padding: 24px 40px;
  font-family: var(--font-mono, 'Archivo', 'Helvetica Neue', Arial, sans-serif);
  font-size: 12px; line-height: 1.6; color: #9b98a6;
}
.platform-footer .footer-legal > :nth-child(2) { text-align: center; }
.platform-footer .footer-legal > :last-child { justify-self: end; }
.platform-footer .footer-legal a { color: inherit; text-decoration: none; }
.platform-footer .footer-legal a:hover, .platform-footer .footer-legal a:focus-visible {
  color: #fff; text-decoration: underline; text-underline-offset: 4px;
}
.platform-footer .footer-brand {
  display: inline-flex; align-items: center; gap: 9px;
  font-family: var(--font-text, 'Archivo', 'Helvetica Neue', sans-serif);
  font-size: 17px; font-weight: 400; letter-spacing: -.01em; color: #f4f1ea; text-decoration: none;
}
.platform-footer .footer-brand b { font-weight: 700; }
.platform-footer .footer-brand img { width: auto; height: 22px; filter: brightness(0) invert(1); }
.platform-footer .footer-legal-links { display: flex; flex-wrap: wrap; gap: 8px 18px; letter-spacing: .1em; text-transform: uppercase; }

@media (max-width: 760px) {
  .footer-directory { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; padding: 32px 22px; }
  .platform-footer .footer-legal { grid-template-columns: 1fr; justify-items: center;
    text-align: center; padding: 22px; gap: 12px; }
  .platform-footer .footer-legal > :last-child { justify-self: center; }
}
@media (max-width: 420px) {
  .footer-directory { grid-template-columns: 1fr; gap: 24px; }
}
