main {
    display: block;
}

.home-container {
    width: min(1100px, 90%);
    margin: 0 auto;
}

.home-container.narrow {
    width: min(920px, 90%);
}

.home-hero {
    min-height: 620px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 4rem 0;
    background: linear-gradient(rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.7)),
        url('/assets/hero-mobile.webp') center center / cover no-repeat,
        #333;
}

@media (min-width: 600px) {
    .home-hero {
        background: linear-gradient(rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.7)),
            url('/assets/hero.webp') center center / cover no-repeat,
            #333;
    }
}

.hero-content {
    text-align: center;
}

.hero-content h1 {
    margin: 0;
    color: var(--secondary-color);
    font-size: clamp(2.4rem, 6vw, 5rem);
    line-height: 1.1;
    font-weight: 200;
    text-shadow: 0 1px 8px #0007;
    letter-spacing: 0.04em;
}

.hero-content p {
    margin: 0.75rem 0 0;
    color: rgba(252, 252, 252, 0.8);
    font-size: clamp(0.9rem, 1.8vw, 1.1rem);
    line-height: 1.45;
    font-weight: 300;
    letter-spacing: 0.2em;
    text-transform: uppercase;
}

.home-section {
    padding: 4.3rem 0;
}

.split-section {
    background: #f6f6f6;
}

.home-split {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
    gap: 3.4rem;
    align-items: start;
}

.split-block h2 {
    margin: 0 0 1rem;
    font-size: clamp(1.9rem, 3.3vw, 2.2rem);
    color: var(--primary-color);
    font-weight: 300;
}

.split-block p {
    margin: 0 0 0.85rem;
    color: #2f2f2f;
    line-height: 1.55;
    font-size: 0.95rem;
    font-weight: 300;
}

.quote-block p {
    max-width: 33ch;
}

.home-band {
    background: var(--accent-color);
    padding: 3.1rem 0;
}

.band-content {
    text-align: center;
}

.band-content p {
    margin: 0 auto 1rem;
    max-width: 90%;
    color: var(--secondary-color);
    font-size: clamp(1.3rem, 2.8vw, 2rem);
    line-height: 1.35;
    font-weight: 300;
}

.centered-section {
    background: #f3f3f3;
}

.centered-copy {
    text-align: center;
    max-width: 980px;
}

.centered-copy h2 {
    margin: 0 0 1.8rem;
    color: #4b4b4b;
    font-size: clamp(2rem, 4vw, 3.2rem);
    line-height: 1.1;
    font-weight: 300;
}

.centered-copy p {
    margin: 0 auto 1rem;
    max-width: 110ch;
    color: #2f2f2f;
    font-size: 0.95rem;
    line-height: 1.55;
    font-weight: 300;
}


@media (max-width: 860px) {
    .home-hero {
        min-height: 430px;
        padding: 2.5rem 0;
    }

    .home-split,
    .testimonials {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }

    .home-section {
        padding: 3.1rem 0;
    }

    .split-block h2 {
        font-size: clamp(1.6rem, 7vw, 2rem);
    }

    .centered-copy h2 {
        font-size: clamp(1.75rem, 8vw, 2.5rem);
    }

    .band-content p {
        font-size: clamp(1.1rem, 5.4vw, 1.45rem);
    }
}
