:root { --site-header-height: 178px; --creation-header-height: var(--site-header-height); }
body > .site-header { position: sticky; top: 0; z-index: 30; }
.site-header .nav-panel { max-height: max(120px,calc(100dvh - var(--site-header-height) - 16px)); overflow-y: auto; }
#main-content, main [id], footer [id] { scroll-margin-top: calc(var(--site-header-height) + 16px); }
@media(max-width:820px) {
 body > .site-header:has(.main-navigation.mobile-open) { max-height: calc(100dvh - var(--site-header-offset,0px)); overflow-y: auto; overscroll-behavior: contain; }
 .site-header:has(.main-navigation.mobile-open) .panels { height: auto; }
 .site-header:has(.main-navigation.mobile-open) .nav-panel { position: relative; inset: auto; width: 100%; max-height: none; margin-block: 8px 16px; }
}
