/* Homepage type scale matches the About KF Design reference block. */
body.home main {
    --kf-home-heading-size: clamp(2rem, 3.1vw, 3rem);
    --kf-home-copy-size: 1rem;
    --kf-home-copy-leading: 1.85;
}
body.home main :is(h1, h2) {
    font-family: Manrope, Arial, sans-serif !important;
    font-size: var(--kf-home-heading-size) !important;
    line-height: 1.16 !important;
    font-weight: 400 !important;
    letter-spacing: -.04em !important;
    color: #202523;
}
body.home main h3 {
    font-family: Manrope, Arial, sans-serif !important;
    font-size: 1.25rem !important;
    line-height: 1.35 !important;
    font-weight: 500 !important;
    letter-spacing: -.025em !important;
}
body.home main p:not(.kf-kicker):not(.kf-number):not(.kf-text-link):not(.kf-hero-caption):not(.kf-card-location):not(.kf-card-services):not(.kf-portfolio-type) {
    font-family: Manrope, Arial, sans-serif !important;
    font-size: var(--kf-home-copy-size) !important;
    line-height: var(--kf-home-copy-leading) !important;
    font-weight: 400 !important;
    letter-spacing: normal !important;
    color: #5c635f !important;
    text-align: left;
}
body.home main .kf-kicker {
    font-family: Manrope, Arial, sans-serif !important;
    font-size: .75rem !important;
    line-height: 1.65 !important;
    font-weight: 500 !important;
    letter-spacing: .22em !important;
    color: #59675d;
}
body.home main .kf-cta-band :is(h1, h2, h3) { color: #fff; }
body.home main .kf-cta-band p { color: #d4ded6 !important; }
body.home .kf-cinema-intro .kf-hero-inner > p:not(.kf-kicker):not(.kf-hero-caption) {
    max-width: 78ch;
    margin-block: 0 20px;
    padding: 0;
    border: 0;
}
body.home .kf-intro > p {
    margin: 0;
    padding: 0;
    border: 0;
}
body.home .kf-intro {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    column-gap: clamp(32px, 5vw, 90px);
    row-gap: 18px;
    align-items: start;
}
body.home .kf-intro > h2,
body.home .kf-intro > .kf-intro-heading {
    grid-column: 1;
    grid-row: 1 / span 2;
    align-self: start;
    margin: 0;
}
body.home .kf-intro > p {
    grid-column: 2;
    max-width: none;
    min-width: 0;
}
@media (max-width: 800px) {
    body.home .kf-intro {
        grid-template-columns: minmax(0, 1fr);
        gap: 18px;
    }
    body.home .kf-intro > h2,
    body.home .kf-intro > .kf-intro-heading,
    body.home .kf-intro > p {
        grid-column: 1;
        grid-row: auto;
    }
    body.home .kf-intro > h2,
    body.home .kf-intro > .kf-intro-heading {
        margin-bottom: 6px;
    }
}
