/* NEXROC institutional footer — screenshot-inspired multi-column navigation.
   Deliberately scoped so this change does not affect the navbar or homepage. */
.site-footer.ir-footer.nx-footer {
  background: #000;
  color: #f8f8f8;
  text-align: left;
  border: 0;
  width: 100%;
  padding: clamp(76px, 7.6vw, 132px) clamp(24px, 6.8vw, 130px) 45px;
  font-family: Arial, Helvetica, sans-serif;
}
.nx-footer, .nx-footer * { box-sizing: border-box; }
.nx-footer__container { width: 100%; max-width: 1530px; margin: 0 auto; }
.nx-footer__site-map {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  column-gap: clamp(32px, 4.6vw, 85px);
  row-gap: 76px;
}
.nx-footer__column { min-width: 0; }
.nx-footer__column::before {
  content: '';
  display: block;
  height: 1px;
  background-color: rgba(255,255,255,.84);
  width: 100%;
  margin-bottom: 63px;
}
.nx-footer__column-heading {
  font: 400 clamp(21px,1.55vw,29px)/1.35 Arial,Helvetica,sans-serif;
  letter-spacing: 0;
  color: #fff;
  margin: 0 0 38px;
  text-transform: none;
}
.nx-footer__column-links { list-style: none; margin: 0; padding: 0 0 0 4px; }
.nx-footer__column-links li { margin: 0 0 24px; padding: 0; }
.nx-footer__column-links a {
  display: inline-block;
  position: relative;
  padding-left: 19px;
  color: #f5f5f5;
  font: 400 clamp(16px,1.1vw,20px)/1.55 Arial,Helvetica,sans-serif;
  text-decoration: none;
  transition: opacity .2s ease;
}
.nx-footer__column-links a::before { content: '•'; position: absolute; left: 0; top: 0; font-weight: 400; }
.nx-footer__column-links a:hover, .nx-footer__column-links a:focus-visible { opacity: .7; text-decoration: underline; text-underline-offset: 5px; }
.nx-footer__follow {
  margin-top: clamp(100px, 9vw, 170px);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(30px, 3.2vw, 60px);
}
.nx-footer__follow-label {
  color: #f9f9f9;
  font-size: clamp(18px,1.15vw,22px);
  line-height: 1.4;
  white-space: nowrap;
  font-weight: 600;
}
.nx-footer__social-links { display: flex; align-items: center; gap: clamp(28px,2.5vw,50px); }
.nx-footer__social { display: inline-flex; align-items: center; justify-content: center; color: #fff; width: 47px; height: 47px; flex: 0 0 auto; }
.nx-footer__social svg { display: block; width: 100%; height: 100%; }
.nx-footer__social:not(.nx-footer__social--unlinked):hover { opacity: .7; transform: translateY(-2px); }
.nx-footer__social--unlinked { opacity: .7; cursor: default; }
.nx-footer__legal {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  row-gap: 14px;
  margin: clamp(90px, 7vw, 135px) auto 0;
  color: #f5f5f5;
}
.nx-footer__legal a {
  display: inline-block;
  color: inherit;
  font-size: clamp(14px, 1vw, 18px);
  line-height: 1.5;
  padding: 0 24px;
  border-right: 1px solid rgba(255,255,255,.84);
  text-decoration: none;
}
.nx-footer__legal a:last-child { border-right: 0; }
.nx-footer__legal a:hover, .nx-footer__legal a:focus-visible { text-decoration: underline; text-underline-offset: 4px; }
.nx-footer__copyright {
  color: #f6f6f6;
  font-size: clamp(12px,.85vw,16px);
  text-align: center;
  line-height: 1.6;
  letter-spacing: .015em;
  margin: 55px 0 0;
}
@media (max-width: 1050px) {
  .nx-footer__site-map { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 74px 48px; }
  .nx-footer__column::before { margin-bottom: 42px; }
  .nx-footer__column-heading { margin-bottom: 30px; }
}
@media (max-width: 560px) {
  .site-footer.ir-footer.nx-footer { padding: 65px 24px 35px; }
  .nx-footer__site-map { grid-template-columns: 1fr; row-gap: 52px; }
  .nx-footer__column::before { margin-bottom: 27px; }
  .nx-footer__column-heading { font-size: 23px; margin-bottom: 22px; }
  .nx-footer__column-links li { margin-bottom: 14px; }
  .nx-footer__column-links a { font-size: 16px; }
  .nx-footer__follow { flex-direction: column; gap: 22px; margin-top: 80px; }
  .nx-footer__social-links { gap: 30px; }
  .nx-footer__social { width: 39px; height: 39px; }
  .nx-footer__legal { margin-top: 65px; }
  .nx-footer__legal a { font-size: 13px; padding: 0 12px; }
  .nx-footer__copyright { margin-top: 45px; font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) { .nx-footer__column-links a, .nx-footer__social { transition: none; } }
