@font-face { font-family: "Instrument Sans"; src: url("/assets/fonts/instrument-sans.woff2") format("woff2"); font-style: normal; font-weight: 400 700; font-display: swap; }
@font-face { font-family: "Manrope"; src: url("/assets/fonts/manrope.woff2") format("woff2"); font-style: normal; font-weight: 400 800; font-display: swap; }
@font-face { font-family: "IBM Plex Mono"; src: url("/assets/fonts/ibm-plex-mono-400.woff2") format("woff2"); font-style: normal; font-weight: 400; font-display: swap; }
@font-face { font-family: "IBM Plex Mono"; src: url("/assets/fonts/ibm-plex-mono-500.woff2") format("woff2"); font-style: normal; font-weight: 500; font-display: swap; }

html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; font-synthesis: none; }
body { margin: 0; }
img { max-width: 100%; }
button, a { -webkit-tap-highlight-color: transparent; }

.site-footer {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 40px clamp(36px, 5vw, 64px);
  padding: clamp(34px, 5vw, 58px) clamp(16px, 4vw, 44px);
  color: oklch(0.45 0.02 245);
  font-size: 14.5px;
}
.footer-brand { max-width: 240px; }
.footer-brand address { margin-top: 20px; font-style: normal; line-height: 1.6; }
.footer-nav { display: grid; grid-template-columns: repeat(4, minmax(125px, 1fr)); gap: 28px clamp(24px, 3vw, 44px); flex: 1 1 700px; }
.footer-nav > div { display: grid; align-content: start; gap: 9px; }
.footer-nav span { margin-bottom: 3px; color: oklch(0.18 0.025 245); font-weight: 750; }
.footer-copyright { flex: 1 0 100%; padding-top: 24px; border-top: 1px solid oklch(0.9 0.01 245); color: oklch(0.5 0.02 245); font-size: 13.5px; }

@media (max-width: 700px) {
  .site-footer { padding-inline: 16px; }
  .footer-nav { grid-template-columns: repeat(2, minmax(130px, 1fr)); }
}
@media (max-width: 420px) { .footer-nav { grid-template-columns: 1fr; } }
