.page-template-page-welcome {
  background: linear-gradient(
    180deg,
    #f4f3e8 0%,
    #e2f0dc 100%
  );

  overflow-x: auto;
}

.welcome-hero {
  display: grid;
  grid-template-columns: 1fr 1.25fr;
  align-items: stretch;

  gap: 70px;

  max-width: 1024px;
  min-width: 1024px;

  margin: 0 auto;
  padding: 70px 70px 65px;
}

.welcome-title {
  font-size: 62px;
  line-height: 1.1;
  font-weight: 400;

  color: #0f5a35;

  margin: 0 0 42px;
}

.welcome-title p {
  margin: 0;
}

.welcome-copy {
  max-width: 440px;

  color: #0f5a35;

  font-size: 16px;
  line-height: 1.55;
}

.welcome-copy p {
  margin: 0 0 24px;
}

.welcome-button-caption {
  max-width: 440px;

  margin-top: 34px;
  margin-bottom: 16px;

  color: #0f5a35;

  font-size: 20px;
  line-height: 1.45;


}

.welcome-button-caption p {
  margin: 0;
}

.welcome-button p {
  margin: 0;
}

.welcome-button-row {
  display: flex;
  align-items: center;
  gap: 18px;

  flex-wrap: wrap;

  margin-top: 18px;
}

.welcome-button {
  display: inline-block;

  padding: 13px 26px;

  border-radius: 999px;

  background: #3f7b58;
  color: #ffffff;

  text-decoration: none;

  letter-spacing: 0.22em;
  font-size: 14px;
}

.welcome-button:hover {
  opacity: 0.82;
}

.welcome-hero-image {
  width: 100%;
  max-width: 560px;

  height: 100%;

  object-fit: cover;
  display: block;
}

/* Mobile layout */
@media (max-width: 768px) {
  .page-template-page-welcome {
    overflow-x: hidden;
  }

  .welcome-hero {
    min-width: 0;

    grid-template-columns: 1fr;

    gap: 35px;

    padding: 45px 22px;
  }

  .welcome-title {
    font-size: 42px;
  }

  .welcome-copy {
    max-width: none;

    font-size: 15px;
  }

  .welcome-button-caption {
    max-width: none;
  }

  .welcome-button-row {
    flex-direction: column;
    align-items: flex-start;

    gap: 12px;
  }

  .welcome-hero-image {
    max-width: 100%;
    height: auto;
  }
}