.varns-site-footer {
  position: relative;
  color: rgba(255, 255, 255, 0.82);
  background:
    repeating-radial-gradient(ellipse at 18% 120%, transparent 0 22px, rgba(255, 255, 255, 0.022) 23px 24px, transparent 25px 40px),
    var(--varns-charcoal-900);
}

.varns-site-footer__accent {
  block-size: 4px;
  background: linear-gradient(90deg, var(--varns-orange-500) 0 58%, var(--varns-green-600) 58% 100%);
}

.varns-site-footer__main {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 2.75rem;
  align-items: start;
  padding-block: clamp(3.25rem, 6vw, 5rem);
}

.varns-site-footer__brand,
.varns-site-footer__details,
.varns-site-footer__nav-column,
.varns-footer-quote {
  min-inline-size: 0;
}

.varns-site-footer__brand {
  max-inline-size: 22rem;
}

.varns-site-footer__logo {
  display: block;
  inline-size: clamp(9.5rem, 17vw, 12.5rem);
}

.varns-site-footer__brand p {
  max-inline-size: 31ch;
  margin-block-start: 1.25rem;
  font-size: var(--varns-text-sm);
  line-height: 1.65;
}

.varns-site-footer__details {
  display: grid;
  gap: 2rem;
}

.varns-site-footer h2 {
  margin-block-end: 1rem;
  color: var(--varns-green-500);
  font-size: 1.32rem;
  letter-spacing: 0.035em;
  line-height: 1.05;
  text-transform: uppercase;
}

.varns-contact-list,
.varns-check-list,
.varns-footer-nav {
  display: grid;
  gap: 0.72rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.varns-contact-list li,
.varns-check-list li {
  display: grid;
  grid-template-columns: 1.2rem minmax(0, 1fr);
  align-items: start;
  gap: 0.65rem;
  line-height: 1.5;
}

.varns-contact-list li > :first-child,
.varns-check-list li > :first-child {
  display: grid;
  min-block-size: 1.5rem;
  place-items: center;
  color: var(--varns-green-500);
  font-weight: 800;
}

.varns-contact-list svg,
.varns-check-list svg {
  inline-size: 1.05rem;
  block-size: 1.05rem;
}

.varns-contact-list a,
.varns-footer-nav a {
  color: inherit;
  text-decoration: none;
  overflow-wrap: anywhere;
  transition: color var(--varns-transition-fast);
}

.varns-contact-list a:hover,
.varns-footer-nav a:hover {
  color: var(--varns-orange-500);
}

.varns-footer-nav,
.varns-footer-nav.varns-nav__list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.68rem 1.5rem;
  align-items: start;
}

.varns-footer-nav li,
.varns-footer-nav.varns-nav__list li {
  min-inline-size: 0;
}

.varns-footer-nav a,
.varns-footer-nav.varns-nav__list a {
  display: inline-flex;
  min-block-size: 2rem;
  align-items: center;
  padding: 0;
  color: rgba(255, 255, 255, 0.82);
  font-family: var(--varns-font-body);
  font-size: var(--varns-text-sm);
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.35;
  text-transform: none;
}

.varns-footer-nav.varns-nav__list a::after {
  display: none;
}

.varns-footer-quote {
  display: grid;
  gap: 1.25rem;
  padding: clamp(1.35rem, 2.5vw, 1.75rem);
  border: 1px solid rgba(244, 122, 10, 0.62);
  background: rgba(15, 16, 14, 0.5);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.varns-footer-quote__heading {
  display: grid;
  grid-template-columns: 2.9rem minmax(0, 1fr);
  align-items: start;
  gap: 0.9rem;
}

.varns-footer-quote__icon {
  display: grid;
  inline-size: 2.9rem;
  block-size: 2.9rem;
  place-items: center;
  border: 1px solid rgba(244, 122, 10, 0.5);
  color: var(--varns-orange-500);
}

.varns-footer-quote__icon svg {
  inline-size: 1.75rem;
  block-size: 1.75rem;
}

.varns-footer-quote h2 {
  margin: 0;
  color: var(--varns-orange-500);
  font-size: 1.45rem;
}

.varns-footer-quote p {
  margin-block-start: 0.5rem;
  font-size: var(--varns-text-sm);
  line-height: 1.5;
}

.varns-footer-quote .varns-button {
  inline-size: 100%;
  min-inline-size: 0;
  padding-inline: 1rem;
  text-align: center;
}

.varns-site-footer__bottom {
  padding-block: 0.9rem;
  color: var(--varns-white);
  background: var(--varns-green-700);
  font-size: var(--varns-text-xs);
}

.varns-site-footer__bottom-inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 0.65rem 1.5rem;
}

.varns-site-footer__bottom p {
  margin: 0;
}

.varns-site-footer__legal {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem 1rem;
}

@media (min-width: 36rem) {
  .varns-site-footer__main {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 3rem clamp(2rem, 5vw, 4rem);
  }

  .varns-site-footer__brand,
  .varns-footer-quote {
    grid-column: 1 / -1;
  }

  .varns-footer-quote {
    grid-template-columns: minmax(0, 1fr) minmax(11rem, auto);
    align-items: center;
  }

  .varns-footer-quote .varns-button {
    inline-size: auto;
  }
}

@media (min-width: 75rem) {
  .varns-site-footer__main {
    grid-template-columns: minmax(15rem, 1.2fr) minmax(13rem, 1fr) minmax(12rem, 0.82fr) minmax(16rem, 1.08fr);
    gap: clamp(2rem, 3vw, 3.5rem);
  }

  .varns-site-footer__brand,
  .varns-footer-quote {
    grid-column: auto;
  }

  .varns-footer-quote {
    grid-template-columns: minmax(0, 1fr);
    align-items: stretch;
  }

  .varns-footer-quote .varns-button {
    inline-size: 100%;
  }
}

@media (max-width: 27.99rem) {
  .varns-footer-nav,
  .varns-footer-nav.varns-nav__list {
    grid-template-columns: minmax(0, 1fr);
  }

  .varns-site-footer__bottom-inner,
  .varns-site-footer__legal {
    display: grid;
  }
}

.varns-site-footer__brand .varns-social-links {
  margin-block-start: 1rem;
  color: var(--varns-white);
}
