:root {
  --green: #148c35;
  --green-deep: #148c35;
  --ink: #292b29;
  --gray: #575756;
  --fog: #d8dbd7;
  --paper: #f3f3ef;
  --logo-gray: #888a89;
}

.services.section--dark {
  background: var(--gray);
}

.contacts {
  background: #888a89;
}

.contacts .round-link {
  background: var(--green);
  border-color: var(--green);
}

.contacts .round-link:hover {
  background: var(--green-deep);
  color: #fff;
}

.service-row i {
  color: var(--green);
}

.hero__media {
  z-index: 0;
  inset: 0;
  overflow: hidden;
  background: #b7cedb;
  filter: none;
  transform: none;
  transition: none;
  animation: none;
}
.hero__slide {
  position: absolute;
  inset: -4%;
  opacity: 0;
  background-position: center;
  background-size: cover;
  filter: saturate(.78) brightness(.80) contrast(.96);
  transform-origin: 50% 42%;
  transition: opacity 2.2s cubic-bezier(.45, 0, .2, 1);
  animation: landscape-flight 18s cubic-bezier(.45, 0, .2, 1) infinite alternate;
  will-change: opacity, transform;
}

.hero__slide.is-active {
  opacity: 1;
}

.hero__shade {
  z-index: 1;
  pointer-events: none;
}

.hero__kicker,
.round-link,
.hero__title,
.hero__foot {
  z-index: 2;
}

.wordmark {
  width: 226px;
  height: 90px;
  align-items: center;
  background: transparent;
  box-shadow: none;
}

.wordmark__image {
  display: block;
  width: 220px;
  height: auto;
  filter: brightness(0) invert(1) drop-shadow(0 1px 4px rgba(0, 0, 0, .22));
}

.header.is-solid .wordmark__image {
  filter: none;
}

.header {
  height: 118px;
  padding-top: 14px;
  padding-bottom: 14px;
  grid-template-columns: 250px 1fr 170px;
  align-items: center;
}

.metric--production {
  padding-left: 28px;
  flex-direction: column;
  gap: 12px;
}

.metric--production strong {
  font-size: 25px;
  line-height: 1.18;
  letter-spacing: -.035em;
}

.metric--production span {
  margin-top: 0;
}

.service-list {
  width: 100%;
  margin-left: 0;
}

.service-row {
  grid-template-columns: 60px 1fr 240px 30px;
}

.project-card__placeholder {
  width: 100%;
  height: 570px;
  background: #c8cdc7;
  border: 1px solid rgba(40, 43, 41, .09);
}

.header__contact {
  justify-self: end;
  min-width: 154px;
  height: 48px;
  padding: 0 18px;
  border: 0;
  border-radius: 24px;
  background: var(--green);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .06em;
  transition: transform .25s, background .25s;
}

.header__contact:hover {
  transform: scale(1.04);
  background: var(--green);
  filter: brightness(.92);
}

.hero__title {
  right: 46px;
  bottom: 78px;
  font-size: clamp(70px, 8.15vw, 126px);
  letter-spacing: -.08em;
}

.hero__title span:last-child {
  text-align: left;
  color: #fff;
}

.hero__foot {
  justify-content: space-between;
}

.hero__slide--dawn {
  background-image: url("assets/hero-lena-dawn.png");
  background-position: center 46%;
}

.hero__slide--forest {
  background-image: url("assets/hero-lena-forest.png");
  animation-name: landscape-flight-soft;
}

.hero__slide--bank {
  background-image: url("assets/hero-lena-bank-v2.png");
  background-position: center 44%;
  animation-name: landscape-flight-bank;
}

.hero__shade {
  background:
    linear-gradient(90deg, rgba(12, 28, 25, .46) 0%, rgba(12, 28, 25, .17) 48%, rgba(12, 28, 25, .08) 100%),
    linear-gradient(180deg, rgba(5, 20, 18, .10) 0%, rgba(5, 20, 18, .03) 54%, rgba(5, 20, 18, .29) 100%);
}

@keyframes landscape-flight {
  from { transform: scale(1.02) translate3d(0, 0, 0); }
  to { transform: scale(1.16) translate3d(-1.1%, 1%, 0); }
}

@keyframes landscape-flight-soft {
  from { transform: scale(1.03) translate3d(0, 0, 0); }
  to { transform: scale(1.17) translate3d(0, 1.1%, 0); }
}

@keyframes landscape-flight-bank {
  from { transform: scale(1.02) translate3d(0, 0, 0); }
  to { transform: scale(1.16) translate3d(1.2%, .8%, 0); }
}

@media (prefers-reduced-motion: reduce) {
  .hero__slide { animation: none; transition: none; }
}
