/* =========================================================
   FOOTER
   - clean white with green/gold accents
   ========================================================= */

.hm-footer{
  padding: 48px 0 0;
  background:
    radial-gradient(920px 520px at 20% 20%, rgba(31,138,91,.10), transparent 60%),
    radial-gradient(920px 520px at 80% 0%, rgba(201,162,39,.10), transparent 60%),
    #fff;
  border-top: 1px solid rgba(15,23,42,.08);
}

.hm-footer__grid{
  display:grid;
  grid-template-columns: 0.85fr 1.25fr .8fr;
  gap: 16px;
  align-items:start;
}

@media (max-width: 980px){
  .hm-footer__grid{ grid-template-columns: 1fr; }
}

.hm-footer__logoRow{ display:flex; gap: 12px; align-items:center; }

.hm-footer__logo{
  width: 54px;
  height: 54px;
  object-fit: contain;
  border-radius: 14px;
  box-shadow: 0 18px 44px rgba(15,23,42,.10);
}

.hm-footer__name{ font-weight: 1000; letter-spacing: .2px; }
.hm-footer__tag{ color: rgba(15,23,42,.62); font-weight: 850; font-size: 13px; }

.hm-footer__text{
  margin: 14px 0 0;
  color: rgba(15,23,42,.70);
  line-height: 1.7;
  font-weight: 750;
}

.hm-footer__nav{
  display:grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 16px;
}

.hm-footer__col{ display:grid; gap: 10px; }

.hm-footer__title{ font-weight: 950; color: rgba(15,23,42,.84); }

.hm-footer__nav a,
.hm-footer__legal{
  text-decoration:none;
  font-weight: 850;
  color: rgba(15,23,42,.72);
  width:max-content;
}

.hm-footer__nav a:hover,
.hm-footer__legal:hover{ color: rgba(31,138,91,.92); }

.hm-footer__muted{ color: rgba(15,23,42,.62); font-weight: 850; }

.hm-footer__cta{
  border-radius: 24px;
  padding: 16px;
  background: rgba(31,138,91,.06);
  border: 1px solid rgba(31,138,91,.14);
}

.hm-footer__textSmall{ margin: 10px 0 12px; color: rgba(15,23,42,.70); font-weight: 750; line-height: 1.6; }

.hm-footerBtn{
  position: relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height: 48px;
  padding: 0 16px;
  border-radius: 999px;
  text-decoration:none;
  font-weight: 950;

  color: #fff;
  background: linear-gradient(135deg, var(--hm-green), var(--hm-green2));
  box-shadow: 0 18px 50px rgba(31,138,91,.22);
  overflow:hidden;
  transition: transform 160ms ease, box-shadow 160ms ease;
}

.hm-footerBtn:hover{ transform: translateY(-2px); box-shadow: 0 24px 64px rgba(31,138,91,.28); }

.hm-footerBtn__sheen{
  position:absolute;
  inset:-2px;
  border-radius: 999px;
  opacity: 0;
  transform: translateX(-22%);
  background: linear-gradient(120deg, rgba(255,255,255,0), rgba(255,255,255,.44), rgba(255,255,255,0));
  transition: opacity 220ms ease, transform 460ms cubic-bezier(.2,.8,.2,1);
  pointer-events:none;
}

.hm-footerBtn:hover .hm-footerBtn__sheen{ opacity: 1; transform: translateX(22%); }

.hm-footer__bottom{
  margin-top: 28px;
  padding: 18px 0;
  border-top: 1px solid rgba(15,23,42,.08);
  background: rgba(255,255,255,.78);
}

.hm-footer__bottomInner{
  display:flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items:center;
  color: rgba(15,23,42,.62);
  font-weight: 800;
}

.hm-footer__sep{ opacity: .6; }
