.projects_block { padding: 60px 0 10px; text-align: center; }
.projects_block h1 { margin: 0 0 60px; font-size: 70px; font-weight: 400; }
.projects_cats { margin-bottom: 20px; font-size: 28px; }
.projects_cats a { transition: opacity 200ms ease; }
.projects_cats a:hover, .projects_cats a.active { opacity: .7; }
.projects_cats span { display: inline-block; margin: 0 4px; }
.projects_items { display: flex; flex-flow: row wrap; justify-content: flex-start; }
.projects_item { display: block; width: calc((100% - 16px) / 2); margin: 0 16px 60px 0; color: #000; text-align: left; }
.projects_item:nth-child(2n) { margin-right: 0; }
.projects_item__img { position: relative; height: 0; margin-bottom: 25px; padding-bottom: 67%; overflow: hidden; }
.projects_item__img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 200ms ease; }
.projects_item:hover .projects_item__img img { transform: scale(1.2); }
.projects_item__head { position: relative; }
.projects_item__cat { position: absolute; top: 25px; left: 0; font-family: "TT Commons", Arial, sans-serif; font-size: 14px; font-weight: 500; letter-spacing: .85px; text-transform: uppercase; }
.projects_item__title { margin-bottom: 10px; padding: 0 40px; font-size: 44px; line-height: 1.1; text-align: center; }
.projects_item__short { font-size: 28px; line-height: 1.2; }

.project_block { position: relative; display: flex; flex-flow: row wrap; justify-content: space-between; padding: 10px 0 40px; }
.project_left { position: sticky; top: 50px; align-self: flex-start; width: calc((100% - 50px) / 2); padding-top: 40px; }
.project_left h1 { margin: 0 0 20px; font-size: 90px; font-weight: 400; line-height: 1.2; }
.project_text { margin-bottom: 30px; font-size: 22px; line-height: 1.1; }
.project_text p { margin: 0; padding-bottom: 20px; }
.project_text p:last-child { padding-bottom: 0; }
.project_text a { color: inherit; text-decoration-line: underline; text-decoration-color: rgb(0 0 0 / 20%); text-decoration-thickness: 1px; text-underline-offset: .18em; transition: color 400ms ease, text-decoration-color 400ms ease; }
.project_text a:hover { color: #737373; text-decoration-color: currentColor; transition-duration: 0ms; }
.project_text a:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
.project_right { width: calc((100% - 50px) / 2); padding-top: 60px; }
.project_imgs, .project_caps { display: flex; flex-flow: row wrap; justify-content: space-between; margin-bottom: 20px; }
.project_img, .project_cap { position: relative; width: calc((100% - 20px) / 2); }
.project_imgbox { position: relative; display: block; height: 0; padding-bottom: 130%; overflow: hidden; }
.project_imgbox img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 200ms ease; }
.project_imgbox:hover img { transform: scale(1.2); }
.project_imgs.single .project_img { width: 100%; }
.project_imgs.single .project_imgbox { height: auto; padding: 0; }
.project_imgs.single .project_imgbox img { position: relative; display: block; width: 100%; height: auto; object-fit: contain; }
.project_cap { color: #1a1a1a; font-family: "TT Commons", Arial, sans-serif; font-size: 14px; font-weight: 500; line-height: 1.4; text-transform: uppercase; }
.project_cap p { margin: 0; }
.project_caps.single .project_cap { width: 100%; }

@media (max-width: 1500px) {
  .projects_item__cat { top: 20px; font-size: 12px; }
  .projects_item__title { font-size: 36px; }
  .projects_item__short { font-size: 22px; line-height: 1.3; }
}
@media (max-width: 1100px) {
  .projects_block { padding: 30px 0 10px; }
  .projects_block h1 { margin-bottom: 30px; }
  .projects_item { width: 100%; margin: 0 0 60px; }
  .projects_item__cat { top: 25px; font-size: 14px; }
  .projects_item__title { font-size: 44px; }
  .projects_item__short { font-size: 28px; line-height: 1.2; }
  .projects_item:hover .projects_item__img img, .project_imgbox:hover img { transform: none; }
  .project_left { position: relative; top: auto; width: 100%; padding-top: 10px; }
  .project_right { width: 100%; padding-top: 30px; }
  .project_left h1 { font-size: 70px; }
}
@media (max-width: 750px) {
  .projects_block { padding: 30px 0 50px; }
  .projects_block h1 { margin-bottom: 32px; font-size: 30px; }
  .projects_cats { margin-bottom: 20px; font-size: 18px; }
  .projects_item { margin-bottom: 40px; }
  .projects_item__img { margin-bottom: 20px; }
  .projects_item__cat { position: relative; top: auto; margin-bottom: 8px; font-size: 14px; }
  .projects_item__title { margin-bottom: 10px; padding: 0; font-size: 28px; text-align: left; }
  .projects_item__short { font-size: 18px; }
  .project_block { padding: 20px 0 50px; }
  .project_left { padding: 10px 0 20px; }
  .project_left h1 { font-size: 30px; }
  .project_text { font-size: 18px; line-height: 1.2; }
  .project_right { padding: 0; }
  .project_imgs, .project_caps { margin-bottom: 10px; }
  .project_img, .project_cap { width: calc((100% - 10px) / 2); }
}
