body {
    > main {
        display: flex;
        flex-direction: column;
        row-gap: 1.5rem;
        width: 100%;
        max-width: 60rem;
        background: var(--white);
        padding: 2rem 1rem;
        border-radius: 1rem;
        z-index: 1;

        h1 {
            padding: 1rem 0;
            text-align: center;
        }

        .custom-subtitle {
            text-align: center;
        }

        .container {
            &.content {
                display: flex;
                flex-direction: column;
                row-gap: 1.5rem;

                p {
                    color: var(--dark-gray);
                    text-align: justify;
                }
            }

            &.image {
                position: relative;
                width: 100%;
                display: flex;
                flex: 1;
                column-gap: 1rem;
                aspect-ratio: 1 / 1;
                margin: 0 auto;
                box-shadow: 4px 4px 10px rgba(0, 0, 0, 0.137);

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

                    &:nth-of-type(2) {
                        display: none;
                    }
                }

                &::after {
                    content: '';
                    position: absolute;
                    width: 100%;
                    height: 100%;
                    background: linear-gradient(to bottom, transparent 0%, transparent 70%, var(--white) 100%);
                }
            }
        }
    }
}

@media (min-width: 576px) {
    body {
        main {
            margin-top: 5rem;
        }
    }
}

@media (min-width: 768px) {
    body {
        main {
            .container {
                &.content {
                    h1 {
                        padding: 2rem 0;
                    }
                }

                &.image {
                    width: 50%;

                    img {
                        &:nth-of-type(2) {
                            display: block;
                        }
                    }

                    &::after {
                        background: transparent;
                    }
                }
            }
        }
    }
}

@media (min-width: 991px) {
    body {
        main {
            margin-top: 7.5rem;
            box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.1);
            padding: 2rem 1.5rem;
        }
    }
}