/* Shared by the homepage and every interior page. */
body footer.site-footer {
  background:#06162c;
  color:#b9c5d1;
  padding-block:clamp(48px,5vw,72px) 34px;
}
/* Footer inner container mirrors the Header `.header-inner` shell so the
   Logo left edge, divider, columns, licence and copyright share the same
   horizontal grid. Specificity intentionally matches `.shell` (0,2,1) but
   loads after the page-level shell rules so it wins the cascade. The dark
   navy background on `body footer.site-footer` still spans 100% viewport. */
body .site-footer .gs-footer {
  display:grid;
  width:100%;
  max-width:none;
  margin:0;
  padding-inline:clamp(24px,5vw,80px);
  box-sizing:border-box;
  gap:clamp(40px,5vw,64px);
}
.site-footer .gs-footer-main {
  display:grid;
  /* Identity column is sized only to fit the logo; the navigation area
     occupies the rest so its sub-columns can right-align. */
  grid-template-columns:minmax(184px,auto) minmax(0,1fr);
  align-items:start;
  gap:clamp(56px,8vw,140px);
}
.site-footer .gs-footer-identity { min-width:0; }
.site-footer .gs-footer-brand { display:inline-flex; }
.site-footer .gs-footer-brand img {
  display:block;
  /* Same dimensions as the Header `.brand img` so the two trademarks
     read as one continuous identity across the page. */
  width:184px;
  height:42px;
  object-fit:contain;
  object-position:left center;
  /* No filter: renders identically to the Header logo (original PNG colors). */
}
.site-footer .gs-footer-navigation {
  display:grid;
  /* Content-width columns packed to the right edge of the navigation
     area, mirroring how the Header nav sits against the right gutter. */
  grid-template-columns:auto auto;
  gap:clamp(36px,5vw,80px) clamp(56px,8vw,140px);
  justify-content:end;
}
.site-footer .gs-footer-group h2 {
  margin:0 0 13px;
  color:#e4c178;
  font:700 12px/1.4 Manrope,'PingFang SC','Microsoft YaHei',sans-serif;
  letter-spacing:.02em;
}
.site-footer .gs-footer-nav { display:grid; align-content:start; }
.site-footer .gs-footer-nav a {
  display:flex;
  align-items:center;
  width:max-content;
  max-width:100%;
  min-height:36px;
  color:inherit;
  font-size:13px;
  line-height:1.45;
  text-decoration:none;
  text-underline-offset:4px;
}
.site-footer .gs-footer-nav a:hover,
.site-footer .gs-footer-nav a[aria-current="page"] { color:#fff; text-decoration:underline; }
.site-footer .gs-footer-legal {
  display:grid;
  grid-template-columns:minmax(0,8fr) minmax(220px,3fr);
  align-items:end;
  gap:32px 80px;
  padding-top:24px;
  border-top:1px solid #304054;
}
.site-footer .gs-footer-disclosure {
  margin:0;
  max-width:82ch;
  color:#91a1b1;
  font-size:11px;
  line-height:1.75;
}
.site-footer .gs-footer-copyright {
  justify-self:end;
  color:#91a1b1;
  font-size:11px;
  line-height:1.6;
  white-space:nowrap;
}
.site-footer a:focus-visible { outline:2px solid #e4c178; outline-offset:4px; }
@media(max-width:900px) {
  .site-footer .gs-footer-main { grid-template-columns:minmax(184px,auto) minmax(0,1fr); gap:48px; }
  .site-footer .gs-footer-navigation { gap:24px 48px; }
  .site-footer .gs-footer-legal { grid-template-columns:1fr; gap:18px; }
  .site-footer .gs-footer-copyright { justify-self:start; }
}
@media(max-width:640px) {
  body footer.site-footer { padding-block:44px 28px; }
  .site-footer .gs-footer { gap:36px; }
  .site-footer .gs-footer-main { grid-template-columns:1fr; gap:34px; }
  .site-footer .gs-footer-navigation { gap:24px; }
  /* Match the Header's <=520px logo size when the viewport is narrow. */
  .site-footer .gs-footer-brand img { width:162px; height:auto; }
  .site-footer .gs-footer-group h2 { margin-bottom:10px; }
  .site-footer .gs-footer-nav a { min-height:40px; font-size:12px; }
  .site-footer .gs-footer-legal { padding-top:22px; }
  .site-footer .gs-footer-disclosure { font-size:10px; }
  .site-footer .gs-footer-copyright { white-space:normal; overflow-wrap:anywhere; }
}
/* Narrow viewport: collapse gutter to the same 24px the Header uses. */
@media(max-width:520px) {
  body .site-footer .gs-footer { padding-inline:24px; }
}
