.site-footer {
  background: #050c12;
  color: #d7e0e5;
}
.site-footer.footer-style-charcoal { background:var(--vmk-navy); }
.site-footer.footer-style-light { border-top:4px solid var(--vmk-green); background:var(--vmk-paper); color:var(--vmk-ink); }
.site-footer.footer-style-light .footer-column h2 { color:var(--vmk-ink); }
.site-footer.footer-style-light .footer-column h2 { border-bottom-color:var(--vmk-line); }
.site-footer.footer-style-light .footer-brand>p,.site-footer.footer-style-light .footer-column p,.site-footer.footer-style-light .footer-links a { color:var(--vmk-muted); }
.site-footer.footer-style-light .site-footer__bottom { border-top-color:var(--vmk-line); }
.site-footer.footer-style-light .footer-legal a,.site-footer.footer-style-light .footer-bottom-inner { color:var(--vmk-muted); }
.footer-logo img { width:auto; max-width:180px; max-height:54px; margin-bottom:24px; }

.footer-main {
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr 1.1fr;
  gap: clamp(30px, 5vw, 68px);
  padding-block: 62px 54px;
}
.footer-main.footer-columns-3 { grid-template-columns:1.5fr 1fr 1fr; }
.footer-main.footer-columns-2 { grid-template-columns:1.5fr 1fr; }
.footer-main.footer-columns-1 { grid-template-columns:minmax(0,720px); }

.footer-brand .site-brand__fallback {
  margin-bottom: 24px;
}

.footer-brand > p,
.footer-column p {
  color: #91a1ab;
  font-size: 0.88rem;
}

.footer-column h2 {
  margin-bottom: 18px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(255,255,255,.1);
  color: var(--vmk-white);
  font-size: 0.9rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.footer-links {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.footer-links a {
  color: #aebbc2;
  font-size: 0.86rem;
  transition: color 160ms ease;
}

.footer-links a:hover {
  color: var(--vmk-green);
}

.site-footer__bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.footer-bottom-inner {
  display: flex;
  min-height: 66px;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.footer-bottom-inner p,
.footer-legal {
  margin: 0;
  color: #7f909b;
  font-size: 0.76rem;
}

.footer-legal {
  display: flex;
  gap: 20px;
}

.footer-cta { border-bottom: 1px solid rgba(255,255,255,.11); background: linear-gradient(110deg,#0b1722,#0e2634); }
.footer-cta__inner { display: flex; min-height: 196px; align-items: center; justify-content:space-between; gap:42px; }
.footer-cta h2 { max-width:760px; margin:0; color:#fff; font-size:clamp(2rem,3.4vw,3.5rem); }
.footer-cta .eyebrow { margin-bottom:14px; }
.footer-logo { margin-bottom:24px; }
.footer-logo .custom-logo-link { display:inline-flex; }
.footer-logo img { width:auto; max-width:180px; max-height:54px; }
.footer-contact-item { display:flex; align-items:flex-start; gap:10px; }
.footer-contact-item .vmk-icon { margin-top:2px; color:var(--vmk-green); }
.footer-contact-item a { color:inherit; }
.footer-legal a { transition:color 180ms ease; }
.footer-legal a:hover,.footer-legal a:focus-visible { color:var(--vmk-green); }
.footer-utilities { display:flex; flex-wrap:wrap; gap:8px 26px; padding-block:22px; border-top:1px solid rgba(255,255,255,.16); }
.footer-utilities a,.footer-utilities button { color:inherit; font-size:.875rem; padding:8px 0; line-height:1.5; }
.vmk-cookie-settings { background:none; border:0; color:inherit; font:inherit; text-decoration:underline; text-underline-offset:4px; cursor:pointer; padding:10px 0; }
.vmk-cookie-settings[hidden] { display:none!important; }
.footer-utilities :is(a,button):focus-visible { outline:2px solid currentColor; outline-offset:4px; }
@media(max-width:480px) { .footer-utilities { flex-direction:column; align-items:flex-start; gap:2px; } }
