/* Approved homepage footer, shared with the historical comparison. */
.home-footer-module { --footer-body: #bac1d1; position: relative; isolation: isolate; padding-block: 34px 24px; border-top: 1px solid color-mix(in srgb, var(--cyan) 28%, var(--line)); background: color-mix(in srgb, var(--ink-soft) 42%, var(--ink)); scroll-margin-top: 112px; }
.home-footer-module:focus { outline: none; }
.home-footer-module::before { content: ""; position: absolute; top: -1px; left: var(--page-pad); width: 72px; height: 2px; background: var(--cyan); opacity: .55; clip-path: polygon(0 0, 100% 0, calc(100% - 4px) 100%, 0 100%); }
.home-footer-module::after { content: ""; position: absolute; top: 0; right: var(--page-pad); width: 20px; height: 10px; border-right: 1px solid color-mix(in srgb, var(--cyan) 38%, transparent); transform: skewX(42deg); pointer-events: none; }
.home-footer-top { display: flex; justify-content: space-between; align-items: center; gap: 32px; padding-bottom: 30px; }
.home-footer-brand { display: inline-flex; align-items: center; flex-shrink: 0; gap: 14px; min-height: 52px; }
.home-footer-brand img { width: 44px; height: 44px; object-fit: contain; }
.home-footer-brand > span { display: grid; gap: 5px; }
.home-footer-brand b { color: var(--paper); font: 600 26px/1.2 var(--display-font); letter-spacing: .12em; }
.home-footer-brand > span > span { color: var(--muted); font-size: 13px; letter-spacing: .14em; }
.home-footer-brand:hover b { color: var(--cyan); }
.home-footer-nav { display: flex; align-items: center; flex-wrap: wrap; justify-content: flex-end; gap: 8px 28px; }
.home-footer-nav a { position: relative; display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding-inline: 4px; color: var(--footer-body); font-size: 15px; font-weight: 500; white-space: nowrap; transition: color 160ms ease; }
.home-footer-nav a::after { content: ""; position: absolute; bottom: 3px; left: 4px; right: 4px; height: 1px; background: var(--cyan); transform: scaleX(0); transform-origin: left; transition: transform 160ms ease; }
.home-footer-nav a:is(:hover, :focus-visible) { color: var(--cyan); }
.home-footer-nav a:is(:hover, :focus-visible)::after { transform: scaleX(1); }
.home-footer-bottom { display: flex; justify-content: space-between; align-items: center; gap: 16px 32px; padding-top: 16px; border-top: 1px solid var(--line); }
.home-footer-copyright { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.7; }
.home-footer-replay { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 44px; padding: 10px 4px; background: none; color: var(--muted); font: 400 13px/1.5 var(--body-font); cursor: pointer; transition: color 160ms ease; }
.home-footer-replay .ui-icon { width: 18px; height: 18px; transition: transform 180ms ease; }
.home-footer-replay:is(:hover, :focus-visible) { color: var(--cyan); }
.home-footer-replay:is(:hover, :focus-visible) .ui-icon { transform: rotate(-24deg); }

.home-footer-module :is(a, button) { scroll-margin-block: 112px 32px; }
.home-footer-module :is(a, button):focus-visible { outline: 2px solid var(--cyan); outline-offset: 4px; }
@media (max-width: 900px) {
  .home-footer-top { align-items: flex-start; flex-direction: column; gap: 24px; }
  .home-footer-nav { justify-content: flex-start; gap: 8px 26px; }
}
@media (max-width: 540px) {
  .home-footer-module { padding-block: 28px 20px; }
  .home-footer-top { gap: 20px; padding-bottom: 24px; }
  .home-footer-nav { gap: 6px 22px; }
  .home-footer-nav a { font-size: 16px; }
  .home-footer-bottom { align-items: flex-start; flex-direction: column; gap: 8px; }
  .home-footer-bottom > .public-security-filing-link { margin-inline-start: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .home-footer-module *, .home-footer-module *::before, .home-footer-module *::after { animation: none !important; transition: none !important; }
  .home-footer-replay .ui-icon { transform: none !important; }
}
