/* Shared shell geometry, including pages that also load legacy Bootstrap. */
.site-shell { --site-gutter: 24px; }
.site-shell .site-navbar > .container-fluid,
.site-shell .keob-footer > .container {
    box-sizing: border-box;
    width: min(1440px, calc(100% - 2 * var(--site-gutter)));
    max-width: 1440px;
    margin-inline: auto;
    padding-inline: 0;
}
.site-shell .site-navbar > .container-fluid::before,
.site-shell .site-navbar > .container-fluid::after { content: none; }
.site-shell .site-navbar .navbar-header { margin: 0; }
.site-shell .site-navbar .navbar-brand {
    margin: 0;
    padding: 0;
    height: 64px;
    flex-shrink: 0;
    float: none;
}
.site-shell .site-navbar .navbar-brand img {
    display: block;
    width: auto;
    height: 30px;
    max-width: none;
    flex-shrink: 0;
    margin: 0;
}
.site-shell .site-navbar .navbar-brand .site-brand-symbol { display: none; filter: invert(1); }
.site-shell .site-navbar .site-brand { margin: 0; }
.site-shell .site-navbar .site-brand > li { margin: 0; }
.site-shell .keob-footer { padding: 16px 0; font-size: 12px; }
.site-footer-links { display: flex; flex-wrap: wrap; gap: 0 24px; }
.site-shell .site-footer a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    margin: 0;
}
.site-footer-links a { white-space: nowrap; }
.site-footer .site-footer-meta { margin-top: 8px; }
@media (max-width: 991px) {
    .site-shell .site-navbar > .container-fluid { gap: 0; }
    .site-shell .site-navbar .navbar-header { flex-direction: row; }
    .site-shell .site-navbar .navbar-header > .site-brand { flex: 0 0 auto; }
    .site-shell .site-navbar .navbar-toggle { margin-inline: auto 0; }
}
@media (max-width: 600px) {
    .site-shell { --site-gutter: 14px; }
    .site-shell .site-navbar .navbar-brand .site-brand-wordmark { display: none; }
    .site-shell .site-navbar .navbar-brand .site-brand-symbol { display: block; }
}
