.custom-logo-link-url .site-title {
    line-height: 1.1;
}

.filmjitsu-desktop-navigation[hidden] {
    display: none !important;
}

@media (max-width: 991.98px) {
    #content > .section-space.blog,
    #content > .section-space.page,
    #content > .section-space.error-page {
        padding-top: 1.5rem;
        padding-bottom: 1.5rem;
    }

    /* Keep the whole mobile header in flow, including its expanded menu. */
    body #wrapper > nav.navbar.custom {
        position: relative !important;
        inset: auto !important;
        width: 100%;
        padding: 16px 0;
        margin: 0;
        background: #17191c;
    }

    #wrapper > nav.navbar.custom > .container {
        display: grid;
        grid-template-columns: 50px minmax(0, 1fr) 44px;
        column-gap: 12px;
        align-items: start;
    }

    #wrapper > nav.navbar.custom .navbar-brand {
        grid-column: 1;
        grid-row: 1;
        width: 50px;
        margin: 0;
        padding: 0;
    }

    #wrapper > nav.navbar.custom .navbar-brand img.custom-logo {
        display: block;
        width: 50px;
        height: auto;
        max-width: 100%;
    }

    #wrapper > nav.navbar.custom .custom-logo-link-url {
        grid-column: 2;
        grid-row: 1;
        min-width: 0;
        margin: 0;
    }

    #wrapper > nav.navbar.custom .site-title,
    #wrapper > nav.navbar.custom .site-title-name {
        font-size: clamp(1rem, 3.8vw, 1.4rem);
        line-height: 1.1;
        white-space: normal;
        overflow-wrap: anywhere;
    }

    #wrapper > nav.navbar.custom .site-description {
        margin: 6px 0 0;
        font-size: 0.85rem;
        line-height: 1.4;
        white-space: normal;
        overflow-wrap: anywhere;
    }

    #wrapper > nav.navbar.custom .navbar-toggler {
        grid-column: 3;
        grid-row: 1;
        justify-self: end;
        width: 44px;
        min-height: 44px;
        margin: 0;
        padding: 6px;
    }

    #wrapper > nav.navbar.custom .navbar-collapse {
        grid-column: 1 / -1;
        grid-row: 2;
        width: 100%;
        min-width: 0;
        background: #17191c;
    }

    #wrapper > nav.navbar.custom .navbar-collapse > .ms-auto {
        margin-left: 0 !important;
    }

    #wrapper > nav.navbar.custom .navbar-collapse .navbar-nav {
        margin: 12px 0 0;
        padding: 0;
    }

    #wrapper > nav.navbar.custom .navbar-nav > .menu-item > a {
        padding: 12px 16px;
        min-height: 44px;
        line-height: 20px;
        margin: 0;
        border-radius: 0;
        white-space: normal;
    }

    body .page-title-section,
    body .page-title-section .breadcrumb-overlay {
        height: auto;
        min-height: 100px;
    }

    body .page-title-section .breadcrumb-overlay {
        display: flex;
        align-items: flex-end;
        box-sizing: border-box;
        padding: 24px 0;
    }

    body .page-title-section .breadcrumb-overlay > .container {
        max-height: none;
        overflow: visible;
    }

    body .page-title-section .page-title,
    body .page-title-section .page-title h1,
    body .page-title-section .page-breadcrumb {
        text-align: left !important;
    }

    body .page-title-section .page-title h1 {
        font-size: 1.6rem;
        line-height: 1.2;
        margin: 0;
        overflow-wrap: anywhere;
    }
}

@media (min-width: 992px) {
    /* Tighten the main content without affecting nested feature sections. */
    #content > .section-space.blog,
    #content > .section-space.page,
    #content > .section-space.error-page {
        padding-top: 3rem;
        padding-bottom: 3rem;
    }

    /* Keep ordinary banners consistent; allow long titles to wrap safely. */
    body .page-title-section {
        height: auto;
        min-height: 220px;
    }

    body .page-title-section .breadcrumb-overlay {
        box-sizing: border-box;
        height: auto;
        min-height: 220px;
        padding: 96px 0 24px;
        display: flex;
        align-items: flex-end;
    }

    body .page-title-section .breadcrumb-overlay > .container {
        max-height: none;
        overflow: visible;
    }

    /* Override Bootstrap's text-center utility on the title wrapper. */
    body .page-title-section .page-title,
    body .page-title-section .page-title h1,
    body .page-title-section .page-breadcrumb {
        text-align: left !important;
    }

    body .page-title-section .page-title h1 {
        margin: 0;
        line-height: 1.2;
        overflow-wrap: anywhere;
    }

    body .navbar.filmjitsu-desktop-navigation {
        position: relative;
        inset: auto;
        width: 100%;
        margin: 0;
        padding: 0;
        background: #212121;
        border-bottom: 1px solid #b55a30;
        z-index: 100;
    }

    body .navbar.filmjitsu-desktop-navigation.filmjitsu-sticky-navigation {
        position: sticky;
        top: 0;
    }

    body.admin-bar .navbar.filmjitsu-sticky-navigation {
        top: 32px;
    }

    .filmjitsu-desktop-navigation .navbar-collapse,
    .filmjitsu-desktop-navigation .navbar-collapse > .ms-auto {
        width: 100%;
        margin-left: 0 !important;
    }

    .filmjitsu-desktop-navigation .navbar-collapse .navbar-nav {
        width: 100%;
        flex-wrap: wrap;
        justify-content: flex-start;
    }

    body .filmjitsu-branding-only > .container {
        justify-content: flex-start;
    }

    .filmjitsu-desktop-navigation a:focus-visible {
        outline: 2px solid #b55a30 !important;
        outline-offset: 3px;
    }
}
