.fh-event-banner {
    background: #637281;
    color: var(--ivory_normal);
    min-height: calc(100svh - var(--top-space, 120px));
    padding: clamp(64px, 9vw, 144px) 0;
    display: flex;
    align-items: center;
}
.fh-event-banner .fh-event-copy { max-width: 900px; }
.fh-event-banner h1 { color: var(--sky_normal, #BDD5E5); }
.fh-event-wave {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 30%;
    object-fit: cover;
    opacity: .6;
    pointer-events: none;
}
.fh-event-banner .fh-event-cta .btn__bg { background: var(--ivory_normal); }
.fh-event-banner .fh-event-cta .btn__text { color: var(--brown_normal); }
.fh-event-cta .fh-event-arrow { transform: rotate(45deg); display: block; }
@media (max-width: 767.98px) {
    .fh-event-banner { min-height: 620px; padding: 64px 0; }
    .fh-event-wave { top: 35%; opacity: .4; }
}

.fh-event-banner .overline {color:inherit;}

/* Reuse the theme's expanding hover fill and moving-arrow interaction. */
.fh-event-banner .fh-event-cta .btn__bg::before,
.fh-event-banner .fh-event-cta .btn__bg::after { background: var(--ivory_normal_hover) !important; }
.fh-event-cta:focus-visible { outline: 2px solid var(--ivory_normal); outline-offset: 4px; }
.fh-event-cta:focus-visible .btn__bg { background: var(--ivory_normal_hover); }
@media (prefers-reduced-motion: reduce) {
    .fh-event-cta .btn__bg, .fh-event-cta .btn__bg::before, .fh-event-cta .btn__bg::after { transition: none !important; }
    .fh-event-cta .btn__icon span { animation: none !important; }
}

.fh-event-motion-toggle { position: absolute; bottom: 16px; right: 20px; z-index: 4; border: 1px solid currentColor; border-radius: 4px; background: transparent; color: var(--ivory_normal); padding: 4px 8px; font: inherit; font-size: .75rem; }
.fh-event-motion-toggle[hidden] { display: none; }
.fh-event-motion-toggle:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
/* Blend the source video's solid background into the banner without a seam. */
.fh-event-wave { mask-image: linear-gradient(to bottom, transparent, #000 25%); -webkit-mask-image: linear-gradient(to bottom, transparent, #000 25%); }

/* === Fluid hero scaling (Figma 1920px canvas) — START ===
   Sizes hit the Figma values at 1920px and scale down proportionally on smaller screens.
   To revert: delete everything between START and END. */
@media (min-width: 768px) {
    .fh-event-banner .fh-event-copy { max-width: clamp(560px, 46.875vw, 900px); gap: clamp(12px, 0.8333vw, 16px) !important; }
    .fh-event-banner .fh-event-copy > .overline { font-size: clamp(13px, 0.8333vw, 16px) !important; line-height: 1.3; letter-spacing: clamp(2.6px, 0.1667vw, 3.2px); }
    .fh-event-banner .fh-event-copy > h1 { font-size: clamp(56px, 4.6875vw, 90px) !important; line-height: 1.1 !important; }
    .fh-event-banner .fh-event-copy > p.h4 { font-size: clamp(24px, 1.6667vw, 32px) !important; line-height: 1.2 !important; }
    .fh-event-banner .fh-event-copy > p.fs-5 { font-size: clamp(16px, 1.0417vw, 20px) !important; line-height: 1.4 !important; }
    .fh-event-banner .btn.fh-event-cta {
        display: inline-flex; align-items: center; justify-content: center;
        margin-top: clamp(18px, 1.25vw, 24px) !important;
        height: clamp(40px, 2.7083vw, 52px);
        padding: 0 clamp(24px, 1.6667vw, 32px);
        gap: clamp(8px, 0.5208vw, 10px);
    }
    .fh-event-banner .btn.fh-event-cta .btn__text { font-size: clamp(14px, 0.9375vw, 18px); line-height: 1.2; }
    .fh-event-banner .btn.fh-event-cta .btn__icon { display: flex; align-items: center; justify-content: center; }
    .fh-event-banner .btn.fh-event-cta .btn__icon,
    .fh-event-banner .btn.fh-event-cta .btn__icon span,
    .fh-event-banner .btn.fh-event-cta .btn__icon img { width: clamp(14px, 0.8333vw, 16px); height: clamp(14px, 0.8333vw, 16px); }
}
/* === Fluid hero scaling — END === */
