@layer projects {
  @scope (.scope.locations) to (.scope) {
    :scope {
      --_background: var(--color-accent);
      --_text: var(--color-white);
      background: var(--_background);
      display: grid;
      grid-template-columns: repeat(2, 1fr);
    }

    :scope:where([data-variant='light']) {
      --_background: #f7f2f2;
      --_text: var(--color-accent);
    }

    .more + :scope {
      --_background: #fffdfd;
      --_text: var(--color-accent);
    }

    ._main {
      padding-block: calc(80 * var(--px-to-rem));
      padding-left: calc(120 * var(--px-to-rem));
    }

    ._heading {
      color: var(--_text);
    }

    ._slug {
      font-family: var(--font-futura);
      font-size: var(--font-size-300);
      letter-spacing: 0.4em;
      line-height: 1;
      text-transform: uppercase;
    }

    ._title {
      display: grid;
      font-size: var(--font-size-500);
      font-weight: var(--font-weight-medium);
      gap: calc(24 * var(--px-to-rem));
      letter-spacing: 0.15em;
      line-height: 1.6;
      padding-top: calc(24 * var(--px-to-rem));
    }

    ._title::after {
      background: currentColor;
      content: '';
      height: 1px;
      width: calc(120 * var(--px-to-rem));
    }

    ._description {
      color: var(--_text);
      font-size: var(--font-size-50);
      line-height: 3;
      padding-top: calc(32 * var(--px-to-rem));
    }

    ._more {
      padding-top: calc(32 * var(--px-to-rem));
    }

    ._image {
      height: 100%;
      position: relative;
    }

    ._image img {
      height: 100%;
      left: 0;
      position: absolute;
      top: 0;
    }

    @media (width <= 767px) {
      :scope {
        grid-template-columns: 1fr;
        padding-top: calc(50 * var(--px-to-rem));
      }

      ._main {
        order: 2;
        padding: calc(50 * var(--px-to-rem)) calc(32 * var(--px-to-rem));
      }

      ._slug {
        font-size: var(--font-size-200);
      }

      ._title {
        font-size: calc(22 * var(--px-to-rem));
      }

      ._description {
        line-height: 2;
      }

      ._more {
        padding-top: calc(40 * var(--px-to-rem));
      }

      ._image img {
        aspect-ratio: 1.417 / 1;
        position: static;
      }
    }
  }
}
