@import url('https://fonts.googleapis.com/css2?family=Noto+Serif:wght@400;700&family=Poppins:wght@400&display=swap');

/* ── Reset scoped to hero ── */
.fbhb-hero *, .fbhb-hero *::before, .fbhb-hero *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

/* ── Hero wrapper ── */
.fbhb-hero {
    position: relative;
    width: 100%;
    overflow: hidden;
    background: var(--fbhb-bg-color, #174044);
}

/* ── Video — sets height, sits behind content ── */
.fbhb-video-wrap {
    position: relative;
    width: 100%;
    line-height: 0;
}
.fbhb-video {
    display: block;
    width: 100%;
    height: auto;
    max-width: 100%;
    opacity: var(--fbhb-video-opacity, 0.2);
}

/* ── Content — always visible, centered over video ── */
.fbhb-content {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: clamp(3rem, 6vh, 6rem) clamp(3rem, 8vw, 8rem);
    text-align: center;
    color: #fff;
}

/* ── Typography ── */
.fbhb-heading {
    margin: 0 0 0.6em;
    font-family: 'Noto Serif', serif;
    font-size: var(--fbhb-h1-size, clamp(1.4rem, 3.8vw, 4.23rem));
    font-weight: 400;
    line-height: 1.1;
    color: #fff;
    padding: 0;
}
.fbhb-subheading {
    margin: 0 0 2.5rem;
    font-family: 'Poppins', sans-serif;
    font-size: var(--fbhb-p-size, clamp(1.2rem, 2vw, 1.68rem));
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.88);
    max-width: var(--fbhb-p-maxwidth, 910px);
}

/* ── Buttons ── */
.fbhb-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    justify-content: center;
}
.fbhb-btn {
    display: inline-block;
    padding: 0.5rem 1.6rem;
    border-radius: 50px;
    font-family: 'Poppins', sans-serif;
    font-size: var(--fbhb-btn-size, 1.2rem);
    font-weight: 400;
    letter-spacing: 0.02em;
    text-decoration: none;
    cursor: pointer;
    transition: background 0.25s ease, color 0.25s ease, border-color 0.25s ease;
    white-space: nowrap;
    border: 2px solid transparent;
}
.fbhb-btn--primary  { background: #ff5500; color: #fff; border-color: #ff5500; }
.fbhb-btn--primary:hover  { background: transparent; color: #ff5500; border-color: #ff5500; }
.fbhb-btn--secondary { background: transparent; color: #fff; border-color: #fff; }
.fbhb-btn--secondary:hover { background: #fff; color: #ff5500; border-color: #fff; }

/* ── Responsive ── */
@media (max-width: 600px) {
    .fbhb-buttons { flex-direction: column; align-items: center; }
    .fbhb-btn { width: 100%; max-width: 280px; text-align: center; }
}
