/* ==========================================================================
   Footer — brand slogan row + locations bar + a slim link row. The old
   "hello." CTA band (headline + LinkedIn button + email) that used to open
   this footer has moved to the Contact page (see contact-page.css) — it
   duplicated the page-level Contact CTA section right above the footer on
   every page, so it's gone from here and the slogan row is now the first
   thing in the footer.
   ========================================================================== */

.site-footer {
  background: var(--color-navy-950);
  border-top: 1px solid var(--border-subtle);
}

/* ---- Slogan row — a real Red Hat Display headline (not a flattened
   image) so it reads as a proper closing brand statement. Now the first
   element in the footer, so it carries a bit more top padding than before
   to feel like an intentional opening rather than a leftover gap. ---- */
.site-footer__slogan {
  min-height: 9rem;
  padding-block: var(--space-xl);
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.site-footer__slogan-text {
  text-align: center;
  font-family: var(--font-display);
  font-size: clamp(0.82rem, 0.6rem + 1vw, 1.3rem);
  font-weight: 600;
  line-height: 1.35;
  color: var(--text-primary);
  letter-spacing: -0.01em;
}

.site-footer__slogan-text strong {
  font-weight: 800;
}

.site-footer__slogan-dots {
  display: inline-block;
  height: 0.6em;
  width: auto;
  vertical-align: middle;
  margin-right: 0.35em;
  transform: translateY(-0.05em);
}

/* ---- Locations bar ---- */
.site-footer__locations {
  background: var(--color-navy-950);
  border-top: 1px solid var(--border-subtle);
  padding: var(--space-sm) var(--container-pad);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
}

.site-footer__locations span {
  font-family: var(--font-mono);
  font-size: 0.62rem;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--text-muted);
  padding-inline: var(--space-md);
}

.site-footer__locations span:not(:last-child) {
  border-right: 1px solid var(--border-subtle);
}

/* ---- Bottom row: copyright + slim link list (replaces the old
   multi-column nav block, which duplicated the CTA band's contact info
   and made the footer feel like two stacked sections) ---- */
.site-footer__bottom {
  padding-block: var(--space-lg);
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: var(--space-sm) var(--space-lg);
  border-top: 1px solid var(--border-subtle);
  font-family: var(--font-mono);
  font-size: var(--text-caption);
  color: var(--text-muted);
}

.site-footer__bottom-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: var(--space-md);
}

.site-footer__bottom-links a {
  color: var(--text-muted);
  transition: color var(--dur-fast) var(--ease-out);
}

.site-footer__bottom-links a:hover {
  color: var(--accent);
}

/* ---- LinkedIn — centered between the copyright and footer nav ---- */
.site-footer__social {
  justify-self: center;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border: 1px solid var(--border-subtle);
  border-radius: 50%;
  color: var(--text-muted);
  transition: border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);
}

.site-footer__social:hover {
  border-color: var(--border-accent);
  color: var(--accent);
}

.site-footer__social svg {
  width: 16px;
  height: 16px;
}

@media (max-width: 700px) {
  .site-footer__locations {
    gap: var(--space-2xs) 0;
  }

  .site-footer__locations span {
    padding-inline: var(--space-sm);
  }

  .site-footer__bottom {
    grid-template-columns: 1fr;
    justify-items: center;
    text-align: center;
  }

  .site-footer__bottom-links {
    justify-content: center;
  }
}
