/* Text roles are defined in typography.css. */
/* Shared footer layout and dark-background wordmark treatment. */
.site-footer.footer-arranged {
  padding-top: 40px;
}
.site-footer.footer-arranged .footer-main {
  display: grid;
  grid-template-columns: minmax(280px, 1fr) auto;
  align-items: start;
  gap: 38px clamp(42px, 5vw, 80px);
}
.site-footer.footer-arranged .footer-identity {
  display: grid;
  justify-items: start;
  align-content: start;
  grid-template-columns: max-content;
  gap: 22px;
  min-width: 0;
}
.site-footer.footer-arranged .footer-brand {
  width: max-content;
  max-width: 100%;
}
.site-footer.footer-arranged .footer-brand .brand-lockup {
  grid-template-columns: 64px max-content;
  gap: 15px;
}
.site-footer.footer-arranged .footer-brand .brand-lockup-name {
  font-size: 1.18rem;
}
.site-footer.footer-arranged .footer-brand .brand-lockup-accounting {
  font-size: .52rem;
  letter-spacing: 0;
}
.site-footer.footer-arranged .footer-primary-nav a {
  position: relative;
  display: inline-block;
  color: var(--text-on-dark);
  text-decoration: none;
}
.site-footer.footer-arranged .footer-primary-nav a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 100%;
  bottom: -2px;
  height: 2px;
  background: var(--blue);
  transition: right .18s;
}
.site-footer.footer-arranged .footer-primary-nav {
  justify-self: end;
  padding-top: 8px;
}
.site-footer.footer-arranged .footer-primary-nav ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 14px 28px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.site-footer.footer-arranged .footer-contact-links {
  display: flex;
  gap: 28px;
}
.site-footer.footer-arranged .footer-details {
  display: block;
  margin-top: 38px;
}
.site-footer.footer-arranged .footer-notices {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  align-items: start;
  gap: 30px;
  min-width: 0;
}
.site-footer.footer-arranged .footer-fine {
  color: #b7c7d5;
  
}
.site-footer.footer-arranged .footer-fine {
  grid-column: auto;
  grid-row: auto;
  align-self: auto;
  margin: 0;
  text-align: left;
}
.site-footer.footer-arranged .footer-registration {
  white-space: normal;
  text-align: right;
}
.site-footer.footer-arranged .footer-primary-nav a:hover,
.site-footer.footer-arranged .footer-primary-nav a:focus-visible {
  color: var(--white);
}
.site-footer.footer-arranged .footer-primary-nav a:hover::after,
.site-footer.footer-arranged .footer-primary-nav a:focus-visible::after {
  right: 0;
}
@media (width <= 900px) {
  .site-footer.footer-arranged .footer-main {
    grid-template-columns: 1fr;
  }
  .site-footer.footer-arranged .footer-primary-nav {
    justify-self: start;
    padding-top: 0;
  }
  .site-footer.footer-arranged .footer-primary-nav ul {
    justify-content: flex-start;
  }
  .site-footer.footer-arranged .footer-notices {
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
  }
  .site-footer.footer-arranged .footer-registration {
    text-align: left;
  }
}
@media (width <= 620px) {
  .site-footer.footer-arranged .footer-main {
    gap: 30px;
  }
  .site-footer.footer-arranged .footer-details {
    margin-top: 30px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .site-footer.footer-arranged .footer-primary-nav a::after {
    transition: none;
  }
}

.site-footer.footer-arranged .brand-lockup-name b {
  color: var(--cyan);
}
.site-footer.footer-arranged .footer-contact-details {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 8px;
  width: 100%;
  white-space: nowrap;
}
.site-footer.footer-arranged .footer-contact-details a {
  color: inherit;
  white-space: nowrap;
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color .18s;
}
.site-footer.footer-arranged .footer-contact-details a:hover,
.site-footer.footer-arranged .footer-contact-details a:focus-visible {
  color: var(--white);
}
