.site-footer {
  position: relative;
  overflow: hidden;
  background: #edf0f1;
  color: #20343e;
  border-top: 1px solid #d8e0e3;
  padding: 64px 0 40px;
}

.site-footer::before {
  content: "";
  position: absolute;
  z-index: 2;
  right: 20px;
  top: 20px;
  bottom: 18px;
  width: 150px;
  background: url('/assets/brand-card-swash.png') right center / contain no-repeat;
  pointer-events: none;
}

.site-footer .container {
  position: relative;
  z-index: 1;
  width: min(1180px, calc(100% - 40px));
  margin-inline: auto;
  padding-right: 132px;
}

.footer-grid {
  display: grid;
  grid-template-columns: 1.35fr repeat(4, 1fr);
  gap: 34px;
}

.footer-brand img {
  width: 252px;
  height: 96px;
  object-fit: contain;
  object-position: left center;
}

.footer-brand p {
  max-width: 310px;
  margin: 14px 0 0;
  color: #60727d;
  font-size: .9rem;
}

.footer-col h3 {
  margin: 0 0 15px;
  color: #007eae;
  font-size: .75rem;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.footer-col a {
  display: block;
  padding: 5px 0;
  color: #344952;
  font-size: .88rem;
  text-decoration: none;
}

.footer-col a:hover { color: #007eae; }

.footer-bottom {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 10px 30px;
  margin-top: 48px;
  padding-top: 22px;
  border-top: 1px solid #ccd6da;
  color: #60727d;
  font-size: .8rem;
}

@media (max-width: 1080px) {
  .site-footer .container { padding-right: 100px; }
  .site-footer::before { right: 8px; width: 120px; }
  .footer-grid { grid-template-columns: 1.4fr repeat(2, 1fr); }
  .footer-bottom { display: block; }
  .footer-bottom span { display: block; margin-top: 5px; }
}

@media (max-width: 760px) {
  .site-footer { padding: 52px 0 38px; }
  .site-footer .container { padding-right: 68px; }
  .site-footer::before {
    right: -4px;
    top: 24px;
    bottom: 20px;
    width: 78px;
    opacity: .96;
  }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 34px 22px; }
  .footer-brand { grid-column: 1 / -1; }
  .footer-brand img { width: 230px; height: 88px; }
}
