/* The shared main-site footer owns its colors across light and dark chapters.
   This class is absent from standalone applications and chapter-local footers. */
body > footer.clearly-site-footer {
  background: #102928;
  color: #f6f1e5;
  color-scheme: dark;
  border-top-color: #44615a;
}
body > footer.clearly-site-footer p { color: #c3d0c8; }
body > footer.clearly-site-footer strong { color: #f6f1e5; }
body > footer.clearly-site-footer a { color: #b9e3cb; }
body > footer.clearly-site-footer button {
  background: #173433;
  color: #f6f1e5;
  border-color: #b9e3cb;
}
body > footer.clearly-site-footer :is(a, button):focus-visible {
  outline: 3px solid #f2c879;
  outline-offset: 3px;
}
body > footer.clearly-site-footer { padding: 44px max(24px, calc((100vw - 1220px) / 2)); }
body > footer.clearly-site-footer .site-footer-intro { max-width: 700px; margin-bottom: 30px; }
body > footer.clearly-site-footer .site-footer-intro p { margin: 0 0 10px; }
body > footer.clearly-site-footer .site-footer-orientation { font-size: 14px; line-height: 1.65; }
body > footer.clearly-site-footer .site-footer-groups { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 30px; align-items: start; }
body > footer.clearly-site-footer .site-footer-groups section { display: grid; gap: 0; min-width: 0; }
body > footer.clearly-site-footer .site-footer-groups h2 { margin: 0 0 12px; color: #f6f1e5; font: 600 12px/1.5 system-ui, sans-serif; text-transform: uppercase; letter-spacing: .1em; }
body > footer.clearly-site-footer .site-footer-groups a { padding: 7px 0; line-height: 1.5; text-decoration: none; overflow-wrap: anywhere; }
body > footer.clearly-site-footer .site-footer-groups a:hover { color: #fff; text-decoration: underline; text-underline-offset: 4px; }
body > footer.clearly-site-footer .site-footer-groups button { justify-self: start; margin-top: 9px; padding: 9px 12px; font: inherit; }
@media (max-width: 900px) {
  body > footer.clearly-site-footer .site-footer-groups { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 24px; }
}
@media (max-width: 460px) {
  body > footer.clearly-site-footer { padding: 34px 20px; }
  body > footer.clearly-site-footer .site-footer-groups { gap: 28px 18px; }
  body > footer.clearly-site-footer .site-footer-groups a { font-size: 13px; padding: 8px 0; }
}
