/* Static behavior replacements for the removed Framer runtime. */
html {
    scroll-behavior: smooth;
}

/* Framer and the custom code components render reveal animations at their
   first frame. With hydration removed, those elements otherwise stay hidden. */
[style*="opacity:0.001"] {
    opacity: 1 !important;
    filter: none !important;
    transform: none !important;
}

[style*="opacity:0;transform:"] {
    opacity: 1 !important;
    transform: none !important;
}

[data-framer-name="Dark Street Scene"] [style="position:absolute;inset:0;opacity:0"] {
    opacity: 1 !important;
}

/* Reveal the program cards while retaining their intentionally collapsed
   detail panels (the panels carry height:0px). */
[data-framer-name="Street at Night"] [style$="opacity:0"]:not([style*="height:0px"]) {
    opacity: 1 !important;
}

.bbf-mobile-menu {
    position: fixed;
    z-index: 2147483000;
    top: 86px;
    right: 0;
    left: 0;
    display: grid;
    gap: 4px;
    padding: 18px 22px 24px;
    border-top: 1px solid rgba(246, 243, 236, 0.16);
    border-bottom: 1px solid rgba(246, 243, 236, 0.16);
    background: rgba(17, 14, 11, 0.98);
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.38);
}

.bbf-mobile-menu[hidden] {
    display: none;
}

.bbf-mobile-menu a {
    display: block;
    padding: 13px 4px;
    color: #f6f3ec;
    font-family: "Public Sans", sans-serif;
    font-size: 17px;
    font-weight: 500;
    line-height: 1.2;
    text-decoration: none;
}

.bbf-mobile-menu a:focus-visible {
    border-radius: 3px;
    outline: 2px solid #d4b237;
    outline-offset: 2px;
}

body.bbf-menu-open {
    overflow: hidden;
}

@media (min-width: 810px) {
    .bbf-mobile-menu {
        display: none !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }
}
