.kb-home-footer {
  display: block;
  margin-top: 48px;
  border-top: 1px solid #17344b;
  background: linear-gradient(180deg, #030b13, #01060c);
  color: #71899e;
}

.kb-home-footer a { text-decoration: none; }
.kb-home-footer a:focus-visible { outline: 2px solid #28aef7; outline-offset: 3px; }

.kb-home-footer .site-shell {
  width: min(1180px, calc(100% - 40px));
  margin-inline: auto;
}

.kb-home-footer__grid {
  display: grid;
  grid-template-columns: minmax(250px, 1.7fr) repeat(3, minmax(130px, 1fr));
  gap: 42px;
  padding-block: 42px 30px;
}

.kb-home-footer__brand .site-brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #eef7ff;
}

.kb-home-footer__brand .site-brand img { width: 42px; height: 42px; object-fit: contain; }
.kb-home-footer__brand .brand-wordmark { display: flex; flex-direction: column; line-height: 1; }
.kb-home-footer__brand .brand-wordmark strong { font-size: 15px; font-weight: 900; letter-spacing: .1em; }
.kb-home-footer__brand .brand-wordmark small { margin-top: 4px; color: #7f98ae; font-size: 7px; font-weight: 800; letter-spacing: .18em; }
.kb-home-footer__brand p { max-width: 310px; margin: 14px 0 8px; color: #71899e; font-size: 11px; line-height: 1.6; }
.kb-home-footer__brand > span { color: #547086; font-size: 9px; }

.kb-home-footer__grid > div:not(.kb-home-footer__brand) {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.kb-home-footer__grid h3 {
  margin: 0 0 13px;
  color: #dce8f2;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.kb-home-footer__grid > div:not(.kb-home-footer__brand) a {
  margin: 5px 0;
  color: #7891a7;
  font-size: 10px;
}

.kb-home-footer__grid a:hover { color: #fff; }

.kb-home-footer__bottom {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding-block: 17px;
  border-top: 1px solid #132331;
  color: #506b82;
  font-size: 9px;
}

@media (max-width: 800px) {
  .kb-home-footer .site-shell { width: min(100% - 28px, 680px); }
  .kb-home-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px; }
  .kb-home-footer__brand { grid-column: 1 / -1; }
  .kb-home-footer__bottom { flex-direction: column; }
}

@media (max-width: 480px) {
  .kb-home-footer .site-shell { width: min(100% - 20px, 430px); }
  .kb-home-footer__grid { grid-template-columns: 1fr; }
  .kb-home-footer__brand { grid-column: auto; }
}

@media print {
  .kb-home-footer { display: none; }
}
