.container {
  &.blog {
    display: flex;
    flex-direction: column;
    gap: 2.625rem;

    ul {
      display: grid;
      margin: 0;
      padding: 0;
      gap: 1.875rem;
      list-style: none;

      &:first-child {
        grid-template-columns: 1fr 1fr;

        a {
          max-height: 26rem;
        }
      }

      &:last-child {
        grid-template-columns: 1fr 1fr 1fr;

        a {
          max-height: 20rem;
        }
      }

      a {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        width: 100%;
        height: 100%;
        padding: 1.125rem;
        gap: 1.125rem;
        border-radius: 0.75rem;
        outline-color: transparent;
        outline-style: solid;
        outline-width: 0;
        background-color: var(--background-color-secondary);
        animation-timeline: view();
        animation: items-fade-in var(--ease-elastic) both;
        animation-range: entry 0 cover 25%;
        transition:
          outline-color 240ms var(--ease-fluid),
          outline-width 180ms var(--ease-fluid);

        &:focus-visible,
        &:hover {
          outline-color: var(--background-color-tertiary);
          outline-width: 0.125rem;
        }

        .cover {
          position: relative;
          flex: 1;
          overflow: hidden;
          border-radius: 0.375rem;
          background-color: var(--background-color-tertiary);

          img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: center;
          }
        }

        .content {
          display: flex;
          flex-direction: column;
          width: 100%;
          line-height: 1.8;

          h3,
          p {
            display: -webkit-box;
            overflow: hidden;
            -webkit-box-orient: vertical;
            text-overflow: ellipsis;
          }

          h3 {
            -webkit-line-clamp: 1;
            line-clamp: 1;
          }

          p {
            -webkit-line-clamp: 2;
            line-clamp: 2;
          }

          .meta {
            margin-top: 1em;
            color: var(--color-caption);
            font-size: var(--font-size-caption);
          }
        }
      }
    }

    @media (max-width: 60rem) {
      gap: 1.875rem;

      ul {
        &:first-child,
        &:last-child {
          grid-template-columns: 1fr;
        }
      }
    }
  }
}

@keyframes items-fade-in {
  from {
    transform: translateY(1em);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}
