* {
    font-family: 'Roboto Condensed', sans-serif;
    margin: 0;
    padding: 0;
}

body {
    background: linear-gradient(to right, #FFF 50%, #CFFF20 50%);
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: calc(100vh - 100px);
    padding-top: 100px;
}

main {
    align-items: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin: 0 auto;
    position: relative;
    width: 90%;
    max-width: 1200px;

    .photo {
        position: relative;

        img {
            max-width: 100%;
            height: auto;
        }

        .logo {
            align-items: center;
            background: #000;
            display: flex;
            justify-content: center;
            height: 180px;
            position: absolute;
            top: -80px;
            left: -250px;
            width: 650px;

            img {
                max-width: 90%;
                height: auto;
            }
        }
    }

    .text {
        display: flex;
        justify-content: space-between;
        margin: 50px auto 0 auto;
        text-align: center;
        width: 90%;
        max-width: 900px;

        .left {
            color: #363435;
            font-size: 36px;
            width: 300px;
        }

        .right {
            color: #FFF;
            font-size: 24px;
            line-height: 40px;
            width: 280px;

            span {
                background-color: #000;
                display: inline;
                padding: 10px 30px;
                box-decoration-break: clone; /* Ensures padding applies at line breaks */
            }
        }
    }
}

@media (max-width: 1024px) {
    main {
        width: 95%;

        .photo {
            .logo {
                height: 140px;
                left: -100px;
                top: -60px;
                width: 500px;
            }
        }

        .text {
            width: 95%;
            margin: 50px auto 0 auto;

            .left {
                font-size: 28px;
                width: 250px;
            }

            .right {
                font-size: 20px;
                line-height: 35px;
                width: 240px;
            }
        }
    }
}

@media (max-width: 768px) {
    body {
        background: linear-gradient(to bottom, #FFF 50%, #CFFF20 50%);
        padding-top: 0;
        height: 100vh;
    }

    main {
        width: 90%;

        .photo {
            text-align: center;

            .logo {
                position: static;
                width: 100%;
                max-width: 400px;
                height: 120px;
                margin: 0 auto 20px auto;
            }
        }

        .text {
            flex-direction: column;
            align-items: center;
            gap: 30px;
            margin: 40px auto 0 auto;

            .left {
                font-size: 24px;
                width: 100%;
                max-width: 400px;
            }

            .right {
                font-size: 18px;
                line-height: 32px;
                width: 100%;
                max-width: 350px;

                span {
                    padding: 8px 20px;
                }
            }
        }
    }
}

@media (max-width: 480px) {
    main {
        .photo {
            .logo {
                max-width: 300px;
                height: 100px;
            }
        }

        .text {
            gap: 20px;
            margin: 30px auto 0 auto;

            .left {
                font-size: 22px;
                max-width: 300px;
            }

            .right {
                font-size: 20px;
                line-height: 32px;
                max-width: 280px;

                span {
                    padding: 6px 15px;
                }
            }
        }
    }
}
