/* Fixed outer spacing; short content must not create a larger top gap. */
:root { --page-block-space: 24px; }
.site-layout { min-height: 100vh; min-height: 100dvh; display: flex; flex-direction: column; }
.site-layout > .site-header { flex-shrink: 0; }
.site-layout > main { flex: 1 0 auto; min-width: 0; }
.site-layout > .inner-page {
  min-height: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  padding-block: var(--page-block-space);
  background: white;
}
.inner-page > * { flex-shrink: 0; }
/* The shell owns the outer space; sections retain only their internal spacing. */
.navigation-page > .section,
.navigation-page > .brand-sections { padding-block: 0; }
.navigation-page > .inquiry-section { background: white; }
/* Let the homepage's final section reach the footer instead of leaving a white strip. */
.site-layout > .home-main { display: flex; flex-direction: column; }
.home-main > .hero { flex-shrink: 0; }
.home-main > .company-home { flex: 1 0 auto; display: flex; align-items: center; }
@media (max-width: 760px) {
  :root { --page-block-space: 12px; }
}
