/* Construction works listing */
.works-hero {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 470px;
  isolation: isolate;
  overflow: hidden;
  background: #dce5e9;
}
.works-hero__media,
.works-hero__media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.works-hero__media {
  z-index: -3;
}
.works-hero__media img {
  object-fit: cover;
  object-position: 50% 53%;
}
.works-hero__overlay {
  position: absolute;
  z-index: -2;
  inset: 0;
  background:
    linear-gradient(90deg, #fffffff7 0%, #ffffffe8 30%, #ffffff75 62%, #ffffff0a 100%),
    linear-gradient(0deg, #17212b30, transparent 42%);
}
.works-hero__inner {
  padding-block: 54px 78px;
}
.works-hero h1 {
  margin: 0;
  font: 700 clamp(42px, 5vw, 68px) / 1.35 var(--serif);
  letter-spacing: 0.08em;
}
.works-hero__inner > p:last-child {
  margin: 22px 0 0;
  font: 700 clamp(14px, 1.5vw, 19px) / 1.95 var(--serif);
  letter-spacing: 0.05em;
}
.works-breadcrumb {
  position: absolute;
  left: 50%;
  bottom: 18px;
  transform: translateX(-50%);
  display: flex;
  gap: 12px;
  align-items: center;
  color: #fff;
  font-size: 11px;
  text-shadow: 0 1px 5px #000;
}
.works-breadcrumb a:hover {
  color: #ffd4d7;
}
.works-intro {
  padding-block: 88px;
}
.works-intro__layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10%;
  align-items: end;
}
.works-intro__layout > p {
  max-width: 470px;
  margin: 0 0 8px;
  color: #52606a;
  font-size: 14px;
  line-height: 2.2;
}
.works-category-nav {
  border-block: 1px solid var(--line);
  background: #fff;
}
.works-category-nav__inner {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  padding-block: 18px;
}
.works-category-nav__inner > span {
  margin-right: 14px;
  color: #78848c;
  font-size: 11px;
  font-weight: 700;
}
.works-category-nav a {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 41px;
  padding: 8px 17px;
  border: 1px solid #cfd6dc;
  border-radius: 24px;
  color: #43505a;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.3;
  transition:
    background 0.2s,
    border-color 0.2s,
    color 0.2s;
}
.works-category-nav a:hover,
.works-category-nav a:focus-visible {
  border-color: var(--red);
  background: #fff0f1;
  color: var(--red);
}
.works-category-nav small {
  color: var(--red);
  font:
    700 10px Arial,
    sans-serif;
}
.works-group {
  scroll-margin-top: 100px;
  padding-block: 83px 98px;
}
.works-group--fog {
  background: var(--fog);
}
.works-group__head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 25px;
  margin-bottom: 31px;
  padding-bottom: 21px;
  border-bottom: 1px solid #d8dfe3;
}
.works-group__head > p {
  margin: 0 0 4px;
  color: #687680;
  font-size: 13px;
}
.works-page-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 25px 20px;
}
.works-page-card {
  min-width: 0;
  background: #fff;
  border: 1px solid #e2e7ea;
  transition:
    transform 0.3s var(--ease),
    box-shadow 0.3s;
}
.works-page-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 16px 35px #182b3819;
}
.works-page-card a {
  display: block;
  height: 100%;
}
.works-page-card__image {
  display: block;
  aspect-ratio: 1.52;
  overflow: hidden;
  background: #e4eaee;
}
.works-page-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.45s var(--ease);
}
.works-page-card:hover img {
  transform: scale(1.05);
}
.works-page-card__content {
  position: relative;
  display: block;
  min-height: 128px;
  padding: 20px 54px 22px 21px;
}
.works-page-card__category {
  display: inline-block;
  padding: 3px 8px;
  background: #fff0f1;
  color: var(--red);
  font-size: 10px;
  font-weight: 700;
}
.works-page-card h3 {
  margin: 9px 0 2px;
  font: 700 18px/1.5 var(--serif);
}
.works-page-card__description {
  color: #6a7780;
  font-size: 12px;
}
.works-page-card__arrow {
  position: absolute;
  right: 19px;
  bottom: 21px;
  color: var(--red);
  font:
    700 23px/1 Arial,
    sans-serif;
}
.works-contact {
  padding-block: 75px;
  background: var(--dark);
  color: #fff;
}
.works-contact__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
}
.works-contact .section-kicker {
  color: #ff818b;
}
.works-contact h2 {
  margin: 0;
  font: 700 clamp(27px, 3vw, 39px) / 1.5 var(--serif);
}
.works-contact p:last-child {
  margin: 14px 0 0;
  color: #d5dfe4;
  font-size: 13px;
}
.works-contact .btn {
  min-width: 218px;
}
@media (max-width: 900px) {
  .works-page-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .works-intro__layout {
    gap: 5%;
  }
}
@media (max-width: 620px) {
  .works-hero {
    min-height: 380px;
  }
  .works-hero__overlay {
    background:
      linear-gradient(90deg, #fffffff0, #ffffffc9 64%, #ffffff45), linear-gradient(0deg, #17212b38, transparent 35%);
  }
  .works-hero__inner {
    padding-block: 46px 72px;
  }
  .works-hero__inner > p:last-child {
    font-size: 14px;
  }
  .works-intro {
    padding-block: 63px;
  }
  .works-intro__layout {
    grid-template-columns: 1fr;
    gap: 19px;
  }
  .works-category-nav__inner {
    gap: 8px;
  }
  .works-category-nav__inner > span {
    width: 100%;
  }
  .works-category-nav a {
    font-size: 11px;
    padding-inline: 12px;
  }
  .works-group {
    padding-block: 62px 70px;
  }
  .works-group__head {
    display: block;
  }
  .works-group__head > p {
    margin-top: 13px;
  }
  .works-page-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .works-page-card__image {
    aspect-ratio: 1.65;
  }
  .works-contact {
    padding-block: 60px;
  }
  .works-contact__inner {
    display: block;
  }
  .works-contact .btn {
    margin-top: 26px;
  }
}
