/* =========================================================
   FOOTER
   ========================================================= */
.site-footer{
  background: var(--forest-2);
  color: #C7D0C4;
  padding: 80px 0 0;
}
.footer-top{
  display:grid;
  grid-template-columns: 1.4fr 0.8fr 0.9fr 1.1fr;
  gap: 48px;
  padding-bottom: 56px;
  border-bottom: 1px solid var(--line-dark);
}
.footer-brand{ display:flex; flex-direction:column; gap:18px; }
.footer-brand .brand svg, .footer-brand .brand .brand-mark{ width:40px; height:40px; object-fit:contain; }
.footer-brand .brand-text .b1, .footer-brand .brand-text .b2{ color:#F4F1E6; }
.footer-brand .brand-text .b2{ color: var(--secondary); }
.footer-brand p{ font-size: 14.5px; color:#9DAE99; max-width: 320px; }
.footer-socials{ display:flex; gap:10px; margin-top:6px; }
.footer-socials a{
  width:38px; height:38px; border-radius:50%;
  border: 1px solid var(--line-dark);
  display:flex; align-items:center; justify-content:center;
  transition: background .2s var(--ease), border-color .2s var(--ease);
}
.footer-socials a:hover{ background: var(--primary); border-color: var(--primary); }
.footer-socials svg{ width:16px; height:16px; color:#F4F1E6; }

.footer-col h5{
  font-family: var(--font-display);
  font-size: 15.5px;
  color: #F4F1E6;
  margin-bottom: 20px;
  font-weight:600;
}
.footer-col ul li{ margin-bottom: 13px; }
.footer-col a{
  font-size: 14.5px;
  color: #9DAE99;
  transition: color .2s var(--ease), padding-left .2s var(--ease);
}
.footer-col a:hover{ color:#F4F1E6; padding-left:3px; }

.footer-contact li{
  display:flex;
  gap: 12px;
  align-items:flex-start;
  font-size: 14.5px;
  color: #C7D0C4;
  margin-bottom: 18px;
}
.footer-contact svg{ width:17px; height:17px; color: var(--secondary); flex-shrink:0; margin-top:2px; }
.footer-contact a:hover{ color:#F4F1E6; }

.footer-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 20px;
  flex-wrap: wrap;
  padding: 26px 0;
  font-size: 13px;
  color: #7E9079;
}
.footer-legal-ids{ display:flex; gap:18px; flex-wrap:wrap; }
.footer-badge{
  display:inline-flex; align-items:center; gap:6px;
  color: #B7C7B0;
}
.footer-badge svg{ width:13px; height:13px; color: var(--secondary); }

@media (max-width: 980px){
  .footer-top{ grid-template-columns: 1fr 1fr; }
}
@media (max-width: 620px){
  .footer-top{ grid-template-columns: 1fr; }
  .footer-bottom{ flex-direction:column; align-items:flex-start; }
}