/* One owner for the gap between the site navigation and public page content.
   Module spacing below its first header remains independent. */
.flute_header:has(~ #main.csco-page-layout) > .navbar {
    margin-bottom: 0;
}
#main.csco-page-layout {
    --csco-page-top-gap: 32px;
    padding-top: var(--csco-page-top-gap);
}
#main.csco-page-layout > #mq2,
#main.csco-page-layout > #mq-rankings {
    padding-top: 0;
    margin-top: 0;
}
#main.csco-page-layout .mqr-hero {
    padding-top: 0;
}
#main.csco-page-layout .csco-community {
    margin-top: 0;
}
#main.csco-page-layout .csco-community__masthead {
    padding-top: 0;
}
/* Profiles and utility pages can start with a breadcrumb instead of a title. */
#main.csco-page-layout:not(:has(.csco-community)) > .container > .breadcrumb {
    margin-top: 0;
}
@media (max-width: 767px) {
    #main.csco-page-layout { --csco-page-top-gap: 20px; }
}
/* Tab bars contain invisible vertical centering space; align their labels too. */
#main.csco-page-layout:has(> .container .bans-tabs-headings) {
    padding-top: calc(var(--csco-page-top-gap) - 12px);
}
@media (min-width: 821px) {
    #main.csco-page-layout:has(> #mq2) {
        padding-top: calc(var(--csco-page-top-gap) - 8px);
    }
    #main.csco-page-layout .mq2-nav { min-height: 48px; }
    #main.csco-page-layout .mq2-wordmark { line-height: 32px; }
}
@media (max-width: 820px) {
    #main.csco-page-layout .mq2-nav { padding-top: 0; }
}
