div.hero {
    max-width: var(--layoutWidth);
    margin: 0 auto;
    position: relative;
    padding-top: 5vh;
    overflow: hidden;
    padding-bottom: 22px;

    img {
        width: 75%;
        display: block;
        margin: 0 auto;
        filter: drop-shadow(0px 0px 20px rgba(0, 0, 0, 0.25));
        z-index: 1;

        &.wide {
            display: none;
        }
    }

    h1 {
        margin-top: 22px;
        font-family: 'Playfair Display', serif;
        font-size: 2.2rem;
        text-align: center;
        font-weight: normal;

        span {
            font-size: 1.4rem;
            font-weight: bold;
            display: block;
        }
    }

    div.mobile-decorator {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        opacity: 0.2;
    }

    @media (min-width: 500px) {
        h1 {
            font-size: 2rem;

            span {
                font-size: 1.6rem;
            }
        }
    }

    @media (min-width: 768px) {
        margin-top: 22px;
        padding-top: 0;

        div.mobile-decorator {
            display: none;
        }

        img {
            &.thin {
                display: none;
            }

            &.wide {
                display: block;
            }
        }

        h1 {
            font-size: 3rem;

            span {
                font-size: 2.2rem;
            }
        }
    }
}

div.headline {
    img {
        aspect-ratio: 1/1;
        border-radius: 50%;
        object-fit: cover;
        max-height: 500px;
        box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
    }
}

div.certifications {
    display: flex;
    justify-content: space-evenly;
    flex-wrap: wrap;
    gap: 22px;
    max-width: 800px;
    margin: 22px auto;
    margin-top: 44px;

    div.certification {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: space-between;

        &.qb {
            --imageSize: 95px;
            padding-top: 3px;
        }

        img {
            width: var(--imageSize, 100px);
            height: var(--imageSize, 100px);
            margin-bottom: 22px;
        }

        p {
            font-size: 1.2rem;
            text-align: center;
            font-family: 'Playfair Display', serif;
            font-weight: 600;
        }
    }
}

div.tailored-packages {
    background-color: var(--colourContentBackground);
    max-width: 700px;
    margin: 44px auto;
    box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
    padding: 22px;

    h2 {
        font-family: 'Playfair Display', serif;
        font-weight: 600;
        text-align: center;
    }

    p {
        margin-top: 22px;
    }

    div.steps {
        display: flex;
        flex-direction: column;
        gap: 22px;
        max-width: 600px;
        margin: 0 auto;
        margin-top: 22px;

        div.step {
            display: flex;
            gap: 22px;
            align-items: center;
            justify-content: center;

            &:nth-child(even) {
                flex-direction: row-reverse;
            }

            div.badge {
                span {
                    background-color: var(--colourTertiary);
                    color: white;
                    width: 80px;
                    height: 80px;
                    border-radius: 50%;
                    display: block;
                    font-size: 2rem;
                    font-family: 'Playfair Display', serif;
                    text-align: center;
                    padding-top: 12px;
                }

                p {
                    margin-top: 0;
                    text-align: center;
                    font-family: 'Playfair Display', serif;
                    font-weight: 600;
                }
            }
        }
    }

    button {
        display: block;
        margin-top: 22px;
        margin-left: auto;
        margin-right: auto;
    }
}

div.people {
    display: flex;
    flex-direction: column;
    gap: 22px;
    max-width: 800px;
    margin: 0 auto;
    margin-top: 22px;

    article.person {
        display: flex;
        gap: 22px;
        align-items: center;
        flex-direction: column;

        @media (min-width: 768px) {
            flex-direction: row;
            
            &:nth-child(even) {
                flex-direction: row-reverse;
            }
        }
        
        img {
            aspect-ratio: 1/1;
            border-radius: 50%;
        }

        h3 {
            font-family: 'Playfair Display', serif;
            font-weight: 600;
        }

        p {
            margin-top: 12px !important;
        }
    }
}

div.testimonials {
    background-color: var(--colourContentBackground);
    padding: 22px;
    box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
    max-width: 600px;
    margin: 44px auto;
    position: relative;

    h2 {
        font-family: 'Playfair Display', serif;
        font-weight: 600;
        text-align: center;
    }

    div.wrapper {
        article.testimonial {
            padding-top: 22px;
            display: none;
            padding-bottom: 66px;

            &.active {
                display: block;
            }

            div.author {
                position: absolute;
                bottom: 44px;
                right: 22px;
                left: 22px;
                text-align: center;
            }
        }
    }

    div.position-indicator {
        margin: 0 auto;
        width: fit-content;

        display: flex;
        gap: 8px;

        div.indicator {
            width: 12px;
            height: 12px;
            border-radius: 50%;
            background-color: var(--colourTertiary);
            transition: all 0.2s ease-in-out;
            cursor: pointer;

            &.active {
                background-color: var(--colourSecondary);
            }
        }
    }

    @media (min-width: 768px) {
        div.position-indicator {
            width: 100%;
        }

        article.testimonial {
            padding-bottom: 44px !important;

            div.author {
                left: unset !important;
                width: fit-content;
                bottom: 22px !important;
                text-align: right !important;
            }
        }
    }
}