footer {
  border-top: 1.5px solid var(--ink);
  margin-top: 120px;
  padding: 70px 5vw 40px;
  background: var(--paper);
  position: relative;
  overflow: hidden;
}
footer::after {
  content: "";
  position: absolute; inset: 0;
  pointer-events: none;
  background-image: url("/img/grain.svg");
  background-repeat: repeat;
  mix-blend-mode: multiply;
  opacity: 0.32;
}
footer > * { position: relative; z-index: 1; }
.foot-grid {
  display: grid;
  grid-template-columns: 1.6fr 1fr 1fr;
  gap: 60px;
  max-width: 1320px; margin: 0 auto;
}
.foot-grid h4 {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ink-dim);
  margin-bottom: 18px;
}
.foot-grid p { color: var(--ink-dim); line-height: 1.6; max-width: 42ch; }
.foot-grid .big {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 32px;
  line-height: 1.2;
  color: var(--ink);
  margin-bottom: 14px;
  max-width: 22ch;
}
.foot-grid .big em { color: var(--riso-pink); }
.foot-grid ul { list-style: none; display: flex; flex-direction: column; gap: 10px; }
.foot-grid ul a { color: var(--ink-dim); transition: color 0.18s; }
.foot-grid ul a:hover { color: var(--riso-pink); }

.foot-bottom {
  max-width: 1320px;
  margin: 50px auto 0;
  padding-top: 24px;
  border-top: 1.5px solid var(--line);
  display: flex; justify-content: space-between;
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--ink-faint);
  letter-spacing: 0.04em;
}

.foot-legal {
  max-width: 1320px;
  margin: 14px auto 0;
  font-family: var(--font-mono);
  font-size: 10.5px;
  line-height: 1.6;
  color: var(--ink-faint);
  letter-spacing: 0.03em;
}
.foot-legal a {
  color: var(--ink-dim);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.foot-legal a:hover { color: var(--riso-pink); }

@media (max-width: 760px) {
  footer { margin-top: 60px; padding: 50px 5vw 30px; }
  .foot-grid { grid-template-columns: 1fr; gap: 36px; }
  .foot-grid .big { font-size: 26px; }
  .foot-bottom { flex-direction: column; gap: 8px; margin-top: 36px; }
}
