/* HM Builders — site footer. Loaded by includes/header.php. */

.hm-footer{
  /* Footer palette: change a color here and the whole footer follows */
  --hm-bg:#011635;                    /* background */
  --hm-strong:#e4eaf3;                /* brand name + column headings */
  --hm-text:#bccade;                  /* links and normal text */
  --hm-muted:#a3b3cb;                 /* description, tagline, copyright, credit */
  --hm-line:rgba(255,255,255,.14);    /* divider line */

  width:100%;
  background:var(--hm-bg);
  color:var(--hm-text);
  font-family:'TASA Orbiter Variable',Arial,sans-serif;
}
.hm-footer ul{list-style:none;margin:0;padding:0}

/* links: calm at rest, brighter with an underline on hover / keyboard focus */
.hm-footer a{
  color:var(--hm-text);
  text-decoration:underline;
  text-decoration-color:transparent;
  text-decoration-thickness:1px;
  text-underline-offset:4px;
  transition:color .15s ease,text-decoration-color .15s ease;
}
.hm-footer a:hover,
.hm-footer a:focus-visible{color:#fff;text-decoration-color:currentColor}
.hm-footer a:focus-visible{outline:2px solid rgba(255,255,255,.6);outline-offset:3px;border-radius:2px}

/* ---------- top part ---------- */
.hm-footer-top{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  align-items:flex-start;
  gap:40px 48px;
  min-height:174px;
  padding:40px 80px;
  box-sizing:border-box;
}

/* left: logo, text, social */
.hm-footer-brand{display:flex;flex-direction:column;align-items:flex-start}
.hm-footer-logo{display:flex;align-items:center;gap:6px}
.hm-footer-logo img{display:block;width:60px;height:45.29px;object-fit:contain}
.hm-footer-logotext{display:flex;flex-direction:column;align-items:flex-start;gap:0}
.hm-footer-name{font-size:20px;font-weight:600;line-height:1.3;letter-spacing:.3px;color:var(--hm-strong)}
.hm-footer-tag{font-size:10px;font-weight:500;line-height:1.3;letter-spacing:.4px;text-transform:uppercase;color:var(--hm-muted)}
.hm-footer-desc{
  width:235px;
  max-width:100%;
  margin:16px 0 0;
  font-size:14px;
  font-weight:400;
  line-height:1.5;
  letter-spacing:0;
  color:var(--hm-muted);
}
.hm-footer .hm-footer-social{display:flex;flex-wrap:wrap;gap:20px;margin-top:16px}
.hm-footer-social a{display:inline-flex;width:20px;height:20px}

/* icons: color comes from the text color */
.hm-icon{display:block;flex:none;width:20px;height:20px}
.hm-icon--fill{fill:currentColor}
.hm-icon--stroke{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}

/* right: three columns (heading, 14px, then the links) */
.hm-footer-cols{
  display:flex;
  flex-wrap:wrap;
  align-items:flex-start;
  gap:40px clamp(32px,7.8vw,100px);
}
.hm-footer-col{display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.hm-footer-heading{font-size:14px;font-weight:500;line-height:1.3;letter-spacing:0;color:var(--hm-strong)}
.hm-footer-list{display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.hm-footer-list a{font-size:14px;font-weight:400;line-height:1.3;letter-spacing:0}

.hm-footer-col--contact{max-width:290px}
.hm-footer-contact{display:flex;flex-direction:column;gap:8px}
.hm-footer-contact li{display:flex;align-items:flex-start;gap:10px}
.hm-footer-contact .hm-icon{width:15px;height:15px;margin-top:2px}
.hm-footer-contact a,
.hm-footer-contact span{font-size:14px;font-weight:400;line-height:1.3;letter-spacing:0;overflow-wrap:anywhere}
.hm-footer-address{text-transform:capitalize}

/* ---------- divider ---------- */
.hm-footer-divider{height:0;border-top:1px solid var(--hm-line)}

/* ---------- bottom part ---------- */
.hm-footer-bottom{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  align-items:center;
  gap:8px 24px;
  padding:10px 80px;
  box-sizing:border-box;
}
.hm-footer-copy{font-size:14px;font-weight:400;line-height:1.3;letter-spacing:0;text-transform:capitalize;color:var(--hm-muted)}
.hm-footer-credit{font-size:14px;font-weight:400;line-height:1.3;letter-spacing:0;color:var(--hm-muted)}
.hm-footer .hm-footer-credit a{font-weight:500;text-decoration-color:rgba(188,202,222,.45)}
.hm-footer .hm-footer-credit a:hover{text-decoration-color:currentColor}

/* ---------- responsive ---------- */
@media (max-width:991px){
  .hm-footer-top{padding:20px 40px}
  .hm-footer-bottom{padding:10px 40px}
}
@media (max-width:767px){
  .hm-footer-top{flex-direction:column;align-items:flex-start;gap:32px;padding:32px 20px}
  .hm-footer-cols{display:grid;grid-template-columns:1fr 1fr;gap:32px 24px;width:100%}
  .hm-footer-col--contact{grid-column:1 / -1;max-width:none}
  .hm-footer-bottom{flex-direction:column;align-items:flex-start;padding:12px 20px}
}

/* ---------- sticky footer: on short pages the footer sits at the bottom of the window ---------- */
body{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}
.hm-footer{margin-top:auto}
