:root {
  --forest: #548742;
  --forest-deep: #315b2f;
  --ink: #17321d;
  --mist: #f0f6ed;
  --line: rgba(84, 135, 66, .18);
  --shadow: 0 24px 70px rgba(49, 91, 47, .16);
}

.hero-shade {
  background: linear-gradient(90deg, rgba(21, 48, 22, .94) 0%, rgba(21, 48, 22, .76) 37%, rgba(21, 48, 22, .08) 70%), linear-gradient(0deg, rgba(21, 48, 22, .65), transparent 42%);
}

.page-banner-overlay,
.project-banner-overlay {
  background: linear-gradient(90deg, rgba(21, 48, 22, .95) 0%, rgba(21, 48, 22, .78) 48%, rgba(21, 48, 22, .24) 100%), linear-gradient(0deg, rgba(21, 48, 22, .82), transparent 55%);
}

.page-banner-mist .page-banner-overlay {
  background: linear-gradient(90deg, rgba(21, 48, 22, .94) 0%, rgba(21, 48, 22, .68) 48%, rgba(21, 48, 22, .18) 100%), linear-gradient(0deg, rgba(21, 48, 22, .78), transparent 58%);
}

.bottom-image-cta-overlay {
  background: linear-gradient(90deg, rgba(21, 48, 22, .9) 0%, rgba(21, 48, 22, .62) 48%, rgba(21, 48, 22, .25) 100%), linear-gradient(0deg, rgba(21, 48, 22, .76), transparent 70%);
}

.site-header.scrolled {
  background: rgba(49, 91, 47, .96);
}

.site-header .brand,
.footer-brand > .brand {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border-radius: 0;
  background: transparent;
}

.site-header .brand {
  flex-basis: 164px;
  width: 164px;
  height: 58px;
}

.site-header .brand img,
.footer-brand > .brand img {
  width: 100%;
  height: 100%;
  max-height: none;
  object-fit: contain;
  object-position: center;
}

.footer-brand > .brand {
  flex-basis: 190px;
  width: 190px;
  height: 72px;
}

.home-section-link {
  padding: 2.2rem 0;
  background: #fff;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.home-section-link .inline-link {
  margin-top: 0;
}

.produce-catalog-section {
  background: var(--mist);
  padding-top: 76px;
}

.produce-catalog-section .produce-line-grid {
  margin-top: 0;
}

.produce-line-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.produce-line-card {
  display: flex;
  flex-direction: column;
  min-height: 100%;
}

.produce-line-image {
  height: 178px;
  flex: 0 0 178px;
}

.produce-line-image picture {
  display: block;
  height: 100%;
}

.produce-line-image img {
  height: 100%;
}

.produce-line-body {
  flex: 1;
}

footer {
  background: #294c27;
}

@media (max-width: 1000px) {
  .produce-line-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .site-header .brand {
    flex-basis: 142px;
    width: 142px;
    height: 54px;
  }

  .footer-brand > .brand {
    flex-basis: 175px;
    width: 175px;
    height: 66px;
  }

  .produce-line-grid {
    grid-template-columns: 1fr;
  }
}
