/* Shared footer content flows as the site settings change. */
.page .footer { position: relative; bottom: auto; height: auto; min-height: 658px; padding-top: 56px; }
.footer__bg { height: calc(100% - 98px); object-fit: fill; pointer-events: none; }
.footer__social-area { position: relative; min-height: 60px; margin: 0 38px; display: flex; justify-content: flex-end; }
.footer__columns { position: relative; display: grid; grid-template-columns: 555px 491px 1fr; margin: 102px 52px 0; }   /* Figma column x: 52 / 607 / 1098 */
.footer__columns::before, .footer__columns::after { content: ""; position: absolute; top: 0; width: 1px; height: 176px; background: repeating-linear-gradient(to bottom, rgba(255,255,255,.16) 0 6px, transparent 6px 12px); }
.footer__columns::before { left: 374px; }   /* Figma dividers at x 426 and 1001 */
.footer__columns::after { left: 949px; }
.footer__column { min-width: 0; padding-right: 40px; }
.footer__column + .footer__column { padding-left: 0; border-left: 0; }
.footer__column:last-child { padding-right: 0; }
.footer__heading { position: static; white-space: normal; overflow-wrap: anywhere; }
.footer__col { position: static; display: grid; gap: 16px; margin-top: 20px; white-space: normal; }
.footer__link, .footer__text { position: static; overflow-wrap: anywhere; }
.footer__legal-row { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 32px; margin: 48px 44px 0; padding: 12px 8px 0; border-top: 1px solid rgba(255,255,255,.24); }
.footer__legal { position: static; white-space: pre-line; overflow-wrap: anywhere; line-height: 1.4; }
.footer__legal:last-child { text-align: right; }
.footer__wordmark { position: relative; left: auto; top: auto; margin: 9px auto -16px; height: auto; }   /* wordmark overhangs the page edge by 16px as in Figma (658px footer) */
.social { height: auto; min-height: 60px; flex-wrap: wrap; max-width: 100%; }
.social__label { width: auto; max-width: 160px; overflow-wrap: anywhere; }
.social a { flex: none; }
.social__badge { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--navy); color: var(--white); font-size: 16px; font-weight: 600; }

.page .footer-m { position: relative; left: auto; bottom: auto; margin: 0 auto; height: auto; min-height: 680px; padding-top: 80px; }
.footer-m__bg { height: 100%; object-fit: fill; pointer-events: none; }
.footer-m__columns { position: relative; display: grid; gap: 36px; padding: 0 20px; }   /* Figma: 36px between groups */
.footer-m__heading { position: static; white-space: normal; overflow-wrap: anywhere; }
.footer-m__links { display: grid; gap: 12px; margin-top: 16px; }
.footer-m__item { position: static; white-space: normal; overflow-wrap: anywhere; }
.footer-m__legal-row { position: relative; display: grid; gap: 12px; margin: 36px 8px 0; padding-top: 16px; border-top: 1px dashed rgba(255,255,255,.16); }
.footer-m__legal { position: static; white-space: pre-line; overflow-wrap: anywhere; }
.footer-m__social-area { position: relative; margin: 24px 16px 0; }
.footer-m__social-area:empty { display: none; }
.footer-m__social-area .social { justify-content: center; padding: 8px; }
.footer-m__wordmark { position: relative; left: auto; top: auto; margin: 36px auto 0; }

/* Keep edited taglines centred, with the trademark following the text. */
.nav .nav__tagline, .nav-m .nav-m__tagline { left: 50%; width: 420px; height: auto; transform: translateX(-50%); display: flex; justify-content: center; gap: 3px; white-space: normal; text-align: center; }
.nav__tagline .nav__tagline-text, .nav__tagline .nav__tagline-tm,
.nav-m__tagline .nav__tagline-text, .nav-m__tagline .nav__tagline-tm { position: static; }
@media (max-width: 899px) {
  .nav-m .nav-m__tagline { width: 270px; }
}
