.site-footer{
  background:#fff;
  border-top:1px solid var(--border);
  padding-top:64px;
}
.footer-top{
  display:flex;
  justify-content:space-between;
  gap:40px;
  flex-wrap:wrap;
  padding-bottom:48px;
}
.footer-brand .brand{margin-bottom:14px;}
.footer-brand p{
  max-width:260px;
  font-size:0.88rem;
  margin-bottom:6px;
}
.footer-tagline{
  font-size:0.86rem;
  color:var(--text-tertiary);
}

.footer-links{
  display:flex;
  gap:48px;
  flex-wrap:wrap;
}
.footer-col h4,
.footer-col-title{
  font-size:0.76rem;
  font-weight:700;
  color:var(--text-tertiary);
  text-transform:uppercase;
  letter-spacing:0.05em;
  margin-bottom:16px;
}
.footer-col a{
  display:block;
  font-size:0.89rem;
  color:var(--text-secondary);
  margin-bottom:11px;
}
.footer-col a:hover{color:var(--brand-primary);}

.footer-cta{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:10px;
}
.footer-cta .btn-link{font-size:0.85rem;}

.footer-bottom{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:22px 0;
  border-top:1px solid var(--border);
  font-size:0.82rem;
  color:var(--text-tertiary);
}

@media (max-width: 900px){
  .footer-top{flex-direction:column;}
  .footer-links{gap:36px;}
  .footer-bottom{flex-direction:column;gap:10px;text-align:center;}
}

/* Desktop: brand | four link columns | Book a demo, all on one row (matches the original footer). */
@media (min-width: 1000px){
  .footer-top{
    display:grid;
    grid-template-columns:minmax(200px, 240px) minmax(0, 1fr) auto;
    gap:48px;
    align-items:start;
  }
  .footer-links{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1.35fr) minmax(0,0.8fr);
    gap:32px;
  }
  .footer-cta{align-items:flex-end;text-align:right;}
}
