.flm-contacthero {
    position: relative;
    padding-inline: 0;
    overflow: hidden;
    isolation: isolate;
}
.flm-contacthero__bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: -2;
}
.flm-contacthero::after { /* legibility gradient over the image */
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(180deg, rgba(24,28,37,0.55) 0%, rgba(24,28,37,0.75) 60%, var(--wp--preset--color--surface-deep) 100%),
        linear-gradient(90deg, rgba(24,28,37,0.65) 0%, rgba(24,28,37,0.15) 70%);
}
.flm-contacthero__inner {
    box-sizing: border-box;
    width: min(92vw, 1840px);
    margin-inline: auto;
    /* extra bottom space so the form card (contact-form) overlaps up */
    padding-block: clamp(4rem, 12vw, 9rem) clamp(7rem, 16vw, 12rem);
}
.flm-contacthero__eyebrow {
    margin: 0 0 1rem;
    color: var(--wp--preset--color--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.14em;
    font-size: var(--wp--preset--font-size--caption);
}
.flm-contacthero__title {
    margin: 0 0 1.25rem;
    color: var(--wp--preset--color--text-primary);
    font-weight: 600;
    font-size: clamp(2.4rem, 6vw, 4.5rem);
    line-height: 1.05;
    max-width: 16ch;
}
.flm-contacthero__sub {
    margin: 0;
    color: var(--wp--preset--color--text-secondary);
    font-weight: 300;
    font-size: clamp(1rem, 1.6vw, 1.3rem);
    line-height: 1.6;
    max-width: 52ch;
}
@media (max-width: 768px) {
    .flm-contacthero__inner { padding-block: clamp(3rem,12vw,5rem) clamp(5rem,18vw,7rem); }
}
