  /* =========== Footer =========== */
  footer {
    background: var(--navy-deep);
    color: var(--steel-soft);
    padding: 96px 44px 40px;
    margin-top: 0;
    position: relative;
    overflow: hidden;
  }
  footer::before {
    content: "EEP IMPACT";
    position: absolute; left: -30px; bottom: -70px;
    font-family: var(--display); font-weight: 700;
    font-size: 240px; line-height: 0.8;
    letter-spacing: -0.04em;
    color: rgba(169,183,206,0.04);
    pointer-events: none;
    user-select: none;
  }
  .foot-inner { max-width: 1440px; margin: 0 auto; position: relative; z-index: 1; }
  .foot-grid {
    display: grid;
    grid-template-columns: 1.7fr 1fr 1fr 1fr;
    gap: 56px;
    border-bottom: 1px solid rgba(169,183,206,0.14);
    padding-bottom: 60px;
  }
  footer .brand-mark { width: 64px; height: 64px; }
  footer .brand-mark img { width: 64px; height: 64px; }
  footer .brand .wordmark { font-size: 24px; }
  .foot-brand p {
    color: var(--steel); max-width: 44ch;
    font-size: 14px; line-height: 1.65; margin: 28px 0 0;
  }
  .foot-brand .ft {
    margin-top: 20px;
    display: flex; gap: 20px; flex-wrap: wrap;
    font-family: var(--mono); font-size: 10px;
    letter-spacing: 0.22em; text-transform: uppercase;
    color: var(--steel-deep);
  }
  .foot-col {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }
  .foot-col h5 {
    font-family: var(--cond); font-weight: 700;
    font-size: 11.5px; letter-spacing: 0.26em; text-transform: uppercase;
    color: var(--accent); margin: 6px 0 18px;
  }
  .foot-col a {
    display: block;
    width: 100%;
    color: var(--ivory); text-decoration: none;
    font-family: var(--sans); font-size: 14.5px;
    padding: 7px 0; opacity: 0.82;
    transition: opacity .2s, color .2s, transform .2s;
    position: relative;
  }
  .foot-col a + a { margin-top: 2px; }
  .foot-col a:hover { opacity: 1; color: var(--accent); transform: translateX(3px); }
  .foot-col a:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; border-radius: 2px; }

  .foot-bottom {
    padding-top: 32px;
    display: flex; justify-content: space-between; flex-wrap: wrap; gap: 14px;
    font-family: var(--mono); font-size: 10px;
    letter-spacing: 0.22em; text-transform: uppercase;
    color: var(--steel-deep);
  }
