/* Heading reveal — same rise as the About Us hero lines.
   Loaded once; animation.js marks headings with .mnb_h_reveal. */

html.mnb_h_anim_pending h1,
html.mnb_h_anim_pending h2,
html.mnb_h_anim_pending h3,
html.mnb_h_anim_pending h4,
html.mnb_h_anim_pending h5,
html.mnb_h_anim_pending h6 {
    opacity: 0;
}

.mnb_h_reveal.is-ready,
.mnb_h_reveal.is-in {
    overflow: hidden;
}

.mnb_h_reveal.is-done {
    overflow: visible;
}

.mnb_h_reveal mnb-line {
    display: inline-block;
    vertical-align: top;
    max-width: 100%;
}

.mnb_h_reveal.is-ready mnb-line {
    opacity: 0;
    transform: translateY(56px);
}

.mnb_h_reveal.is-armed mnb-line {
    transition:
        opacity 0.85s cubic-bezier(0.22, 0.61, 0.36, 1),
        transform 0.85s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.mnb_h_reveal.is-in mnb-line {
    opacity: 1;
    transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
    html.mnb_h_anim_pending h1,
    html.mnb_h_anim_pending h2,
    html.mnb_h_anim_pending h3,
    html.mnb_h_anim_pending h4,
    html.mnb_h_anim_pending h5,
    html.mnb_h_anim_pending h6,
    .mnb_h_reveal.is-ready mnb-line,
    .mnb_h_reveal.is-in mnb-line {
        opacity: 1;
        transform: none;
        transition: none;
    }

    .mnb_h_reveal.is-ready,
    .mnb_h_reveal.is-in,
    .mnb_h_reveal.is-done {
        overflow: visible;
    }
}
