/* ChartVoyant site footer — the same block as the homepage.
   New filename because /static/ is cached for a week (pages.css). Load AFTER
   pages.css so these rules beat a stale cached copy of the old thin footer.
   Keep in sync with the homepage footer CSS in landing/index.html. */

.site-footer{
  background:#003353;
  color:rgba(240,247,250,.68);
  padding:3.2rem 0 2rem;
  font-size:.88rem;
  border-top:1px solid rgba(240,247,250,.16);
  font-family:'Inter',-apple-system,'SF Pro Display','Segoe UI',Helvetica,Arial,sans-serif;
}
.site-footer a{
  color:#F0F7FA;
  text-decoration:none;
}
.site-footer a:hover{
  color:#fff;
  text-decoration:underline;
}
.site-footer .wrap{
  display:block;
  max-width:1180px;
  margin:0 auto;
  padding-left:clamp(1.25rem, 4vw, 2.5rem);
  padding-right:clamp(1.25rem, 4vw, 2.5rem);
}
.site-footer .footer-grid{
  display:grid;
  grid-template-columns:minmax(0,1.7fr) repeat(3, minmax(0,1fr));
  gap:2.2rem 2.5rem;
}
.site-footer .footer-logo{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  text-decoration:none;
}
/* Since 2026-09-28 the footer logo is the approved on-dark lockup
   (brand/logo-dark.svg) as an <img>; the svg/.wm rules below still style a page a
   browser cached before that. */
.site-footer .footer-logo img{
  display:block;
  height:40px;
  width:auto;
  max-width:none;
}
.site-footer .footer-logo svg{
  width:28px;
  height:28px;
  display:block;
  max-width:none;
}
.site-footer .footer-logo .wm{
  font-size:1.15rem;
  font-weight:500;
  line-height:1;
  letter-spacing:-.012em;
  color:#F0F7FA;
}
.site-footer .footer-logo .wm b{
  font-weight:800;
  color:#fff;
}
.site-footer .footer-brand p{
  margin:1rem 0 0;
  max-width:36ch;
  line-height:1.6;
}
.site-footer .footer-brand .footer-contact{
  margin-top:.9rem;
  line-height:1.8;
}
.site-footer .footer-brand .footer-contact a{
  color:#F0F7FA;
  text-decoration:none;
}
.site-footer .footer-brand .footer-contact a:hover{
  text-decoration:underline;
}
.site-footer nav.footer-col{
  display:block;
}
.site-footer .footer-col h4{
  font-size:.66rem;
  font-weight:600;
  line-height:1;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:rgba(240,247,250,.42);
  margin:0 0 .85rem;
}
.site-footer .footer-col ul{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:.5rem;
}
.site-footer .footer-col a{
  color:#F0F7FA;
  text-decoration:none;
}
.site-footer .footer-col a:hover{
  color:#fff;
  text-decoration:underline;
}
.site-footer .footer-bottom{
  margin-top:2.4rem;
  padding-top:1.2rem;
  border-top:1px solid rgba(240,247,250,.16);
  display:flex;
  flex-wrap:wrap;
  gap:.4rem 1.5rem;
  justify-content:space-between;
  font-size:.78rem;
  font-weight:400;
  line-height:1.5;
  color:rgba(240,247,250,.42);
}
.site-footer .footer-bottom p{ margin:0; }
@media (max-width: 860px){
  .site-footer .footer-grid{ grid-template-columns:1fr 1fr; gap:2rem; }
  .site-footer .footer-brand{ grid-column:1 / -1; }
}
@media (max-width: 420px){
  .site-footer .footer-grid{ grid-template-columns:1fr; }
}
