@layer projects {
  @scope (.scope.scenes) to (.scope) {
    :scope {
      display: grid;
      justify-items: center;
      padding-block: calc(80 * var(--px-to-rem));
    }

    ._inner {
      inline-size: var(--content-width);
    }

    ._head {
      text-align: center;
    }

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

    ._title {
      font-size: var(--font-size-500);
      font-weight: var(--font-weight-regular);
      line-height: 1.6;
      padding-top: calc(24 * var(--px-to-rem));
    }

    ._main {
      --_divider-width: calc(24 * var(--px-to-rem));
      --_gap: calc(20 * var(--px-to-rem));
      display: grid;
      gap: calc(var(--_divider-width) + var(--_gap) * 2);
      grid-template-columns: repeat(3, 1fr);
      padding-top: calc(40 * var(--px-to-rem));
    }

    ._item {
      counter-increment: item;
      position: relative;
    }

    ._item + ._item::before {
      background: var(--color-accent);
      content: '';
      height: 100%;
      position: absolute;
      right: calc(100% + var(--_gap) + (var(--_divider-width) / 2));
      rotate: 5deg;
      top: 0;
      transform-origin: center;
      width: 0.5px;
    }

    ._item-image img {
      aspect-ratio: 16 / 9;
    }

    ._item-title {
      display: grid;
      font-size: var(--font-size-400);
      font-weight: var(--font-weight-medium);
      gap: calc(12 * var(--px-to-rem));
      letter-spacing: 0;
      line-height: 1;
      padding-top: calc(16 * var(--px-to-rem));
    }

    ._item-title::before {
      color: var(--color-accent);
      content: 'Scenes｜' counter(item, decimal-leading-zero);
      font-family: var(--font-futura);
      font-size: var(--font-size-25);
      letter-spacing: 0.2em;
      text-transform: uppercase;
    }

    ._item-description {
      font-size: var(--font-size-50);
      line-height: 2;
      padding-top: calc(12 * var(--px-to-rem));
    }

    @media (width <= 767px) {
      :scope {
        padding-block: calc(50 * var(--px-to-rem));
      }

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

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

      ._main {
        --_divider-width: 0.5px;
        --_gap: calc(32 * var(--px-to-rem));
        grid-template-columns: 1fr;
      }

      ._item + ._item::before {
        height: var(--_divider-width);
        right: 0;
        rotate: 0deg;
        top: calc(var(--_gap) * -1);
        width: 100%;
      }

      ._item-title {
        font-size: var(--font-size-300);
        padding-top: calc(24 * var(--px-to-rem));
      }
    }
  }
}
