/* Universal footer: graphite band */
.site-footer { background: var(--graphite); color: var(--on-dark-2); padding-top: clamp(56px, 7vw, 88px); }

.footer-grid {
  display: grid; grid-template-columns: minmax(0, 1.5fr) repeat(3, minmax(0, 1fr)); gap: 40px;
  padding-bottom: clamp(48px, 6vw, 72px);
}
.brand-on-dark { color: var(--on-dark); }
.brand-on-dark .wm { font-size: 24px; }
.footer-tag {
  margin-top: 22px; font-stretch: var(--wide); font-weight: 800; letter-spacing: -0.03em; line-height: 1.05;
  font-size: clamp(24px, 2.6vw, 32px); color: var(--on-dark);
}
.footer-blurb { margin-top: 12px; max-width: 40ch; font-size: 15px; line-height: 1.6; }

.footer-h {
  font-family: var(--font-mono); font-weight: 500; font-size: 12px; letter-spacing: .08em; text-transform: uppercase;
  font-stretch: 100%; color: var(--on-dark-3); margin-bottom: 16px; line-height: 1.4;
}
.footer-links { display: grid; gap: 10px; }
.footer-links a { color: var(--on-dark); text-decoration: none; font-size: 15.5px; transition: color .15s var(--ease); }
.footer-links a:hover { color: var(--lime); }

.footer-bottom {
  position: relative; display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap;
  padding-block: 22px 28px; font-size: 13.5px; color: var(--on-dark-3);
}
.footer-bottom::before { content: ""; position: absolute; top: 0; left: var(--gutter); right: var(--gutter); height: 1px; background: var(--line-dark); }
.footer-mono { font-family: var(--font-mono); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; }

@media (max-width: 760px) {
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 36px 24px; }
  .footer-brand { grid-column: 1 / -1; }
}
.brand-on-dark .brand-cube { width: 54px; height: 54px; }
