/* The public shell also owns typography inside scoped Vue page styles. */
#webplatform-public-site :is(h1, h2, h3, h4, h5, h6, .font-serif, .number, .home-solution-number),
#webplatform-public-site .solution-steps > li > span {
    font-family: 'Nunito', sans-serif;
}
.site-header-layout {
    min-height: 80px;
}
.site-header-brand {
    flex: none;
}
.site-header-brand img {
    width: 220px;
    height: auto;
    max-height: 44px;
    max-width: calc(100vw - 124px);
    object-fit: contain;
}
.site-header-navigation,
.site-header-actions {
    display: none;
}
.site-header-navigation {
    position: static;
    transform: none;
}
.site-header-mobile-actions {
    display: flex;
    flex: none;
}
#site-navigation {
    max-height: calc(100dvh - 80px);
    overflow-y: auto;
    overscroll-behavior: contain;
}
#site-navigation:not(.hidden) {
    display: flex;
}
@media (min-width: 1280px) {
    .site-header-layout {
        gap: 1rem;
    }
    .site-header-navigation {
        display: flex;
        flex: 1;
        min-width: 0;
        gap: .25rem;
    }
    .site-header-navigation > ul {
        display: flex;
        flex: 1;
        flex-wrap: wrap;
        justify-content: center;
        column-gap: .25rem;
        row-gap: 0;
        min-width: 0;
    }
    .site-header-navigation > ul > li > a,
    .site-header-navigation summary {
        min-height: 44px;
        padding-inline: .5rem;
        white-space: nowrap;
    }
    .site-header-navigation [data-plugin-menu] > div {
        left: auto;
        right: 0;
        max-width: calc(100vw - 3rem);
    }
    .site-header-navigation > ul > li > div {
        margin-top: 0;
    }
    .site-header-actions {
        display: flex;
        flex: none;
        white-space: nowrap;
    }
    .site-header-mobile-actions,
    #site-navigation:not(.hidden) {
        display: none;
    }
}
