.cs-footer {
  padding: 56px 0 32px;
  color: #fff;
}
@media (min-width: 768px) {
  .cs-footer {
    padding-top: 64px;
  }
}
.cs-footer a {
  color: #fff;
  text-decoration: none;
}
.cs-footer a:hover {
  text-decoration: underline;
  text-underline-offset: 4px;
}
.cs-footer__cols {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 36px 24px;
}
@media (min-width: 1025px) {
  .cs-footer__cols {
    grid-template-columns: 1.3fr 1fr 1fr 1fr;
    gap: 40px;
  }
}
.cs-footer__brand, .cs-footer__col--contact {
  grid-column: 1/-1;
}
@media (min-width: 1025px) {
  .cs-footer__brand, .cs-footer__col--contact {
    grid-column: auto;
  }
}
.cs-footer__brand p, .cs-footer__col--contact p {
  max-width: 34ch;
  margin: 16px 0 0;
  font-size: 15px;
  opacity: 0.92;
}
.cs-footer__logo img {
  display: block;
  width: auto;
  height: 96px;
}
@media (min-width: 768px) {
  .cs-footer__logo img {
    height: 110px;
  }
}
.cs-footer__col h2 {
  margin: 0 0 12px;
  color: var(--cs-leaf);
  font: 600 13px/1.3 var(--cs-sans);
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.cs-footer__col ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.cs-footer__col li {
  margin: 8px 0;
  font-size: 15px;
  opacity: 0.92;
  overflow-wrap: anywhere;
}
.cs-footer__small {
  margin-top: 40px;
  padding-top: 20px;
  border-top: 1px solid rgba(255, 255, 255, 0.18);
  font-size: 13px;
  opacity: 0.85;
}
.cs-footer__small p {
  margin: 4px 0;
}