:root {
  --sep-footer-fg: var(--green-base, #2aff8a);
  --sep-footer-glow-1: var(--green-1, rgba(42,255,138,0.22));
  --sep-footer-glow-2: var(--green-2, rgba(42,255,138,0.12));
  --sep-footer-glow-3: var(--green-3, rgba(42,255,138,0.06));
  --sep-footer-relief: var(--relief-base, #d96aff);
}

.sep-footer {
  position: relative;
  z-index: 1;
  padding: 4vh 6vw 6vh;
  text-align: center;
  color: var(--sep-footer-fg);
}

.sep-footer__coords {
  margin: 0;
  font-size: 1.1rem;
  letter-spacing: 0.15em;
  text-shadow:
    -1px -1px 0 var(--sep-footer-relief),
    0 0 8px var(--sep-footer-glow-1),
    0 0 18px var(--sep-footer-glow-2),
    0 0 28px var(--sep-footer-glow-3);
}

.sep-footer__lede {
  margin: 0.35rem auto 0;
  font-size: 1.45rem;
  max-width: 540px;
  opacity: 0.92;
  text-shadow: 0 0 9px var(--sep-footer-glow-1);
}

.sep-footer__divider {
  margin-top: 0.45rem;
  font-family: "Cinzel", serif;
  opacity: 0.7;
  text-shadow: 0 0 9px var(--sep-footer-glow-2);
}

.sep-footer__links {
  margin-top: 0.6rem;
  font-size: 1rem;
  opacity: 0.92;
  letter-spacing: 0.12em;
}

.sep-footer__links a {
  color: var(--sep-footer-fg);
  margin: 0 0.55rem;
  text-decoration: none;
  text-shadow: 0 0 8px var(--sep-footer-glow-1);
}

.sep-footer__links a:hover {
  filter: brightness(1.25) contrast(1.2);
}

@media (max-width: 900px) {
  .sep-footer { padding: 3.5vh 6vw 5vh; }
  .sep-footer__coords { font-size: 0.95rem; }
  .sep-footer__lede { font-size: 1.05rem; margin-top: 0.25rem; }
  .sep-footer__divider { margin-top: 0.3rem; font-size: 0.95rem; }
  .sep-footer__links { font-size: 0.9rem; }
}

