.house {
    position: relative;

    @include bp (sm) {
        --columns: 20;
        grid-column-start: 3;
    }

    a {
        text-decoration: none;
        cursor: zoom-in;
    }

    // Information
    &__info {
        grid-column: 2 / span var(--columns);
        margin-bottom: 32px;
        padding: 0 20px;
        max-width: min(540px, 85vw);

        @include bp (sm) {
            grid-column: 4 / span 14;
            margin-bottom: 56px;
            padding: 0;
            max-width: 800px;
        }

        time {
            display: block;
            margin-top: 16px;
            color: $color-lightgray;

            @include bp (sm) {
                margin-top: 24px;
            }
        }
    }

    // Photo
    &__photo {
        position: relative;
        display: block;
        grid-column: 1 / span 17;

        @include bp (sm) {
            border-radius: 8px;
        }

        picture {
            position: relative;
            z-index: 3;
        }
        img {
            display: block;
            width: 100%;
            height: auto;
            object-fit: contain;
        }
    }

    // Photo number
    &__index {
        position: absolute;
        z-index: 1;
        bottom: -64px;
        right: 20px;
        text-align: right;

        @include bp (sm) {
            left: 112.5%;
            width: 400px;
            top: 50%;
            bottom: auto;
            text-align: left;
            transform: translate3d(-50%, -50%, 0);
        }
    }

    // Even photos
    &:nth-child(even) {
        .house {
            &__photo {
                @include bp (sm) {
                    grid-column-start: 4;
                }
            }
            &__info {
                @include bp (sm) {
                    margin-left: auto;
                    text-align: right;
                }
            }
            &__index {
                left: auto;
                right: 20px;

                @include bp (sm) {
                    right: auto;
                    left: -12%;
                    text-align: right;
                }
            }
        }
    }
}