/* Whender 1.5.2 — shared document flow and viewport-fit homepage */
html{scroll-behavior:smooth;min-height:100%}
body{
  min-height:100vh;
  min-height:100svh;
  overflow-x:hidden;
  display:flex;
  flex-direction:column;
}
body > .public-page,
body > .world-experience,
body > main:not(.home-experience){flex:1 0 auto}

/* Desktop homepage fits hero + footer in one viewport without a forced scrollbar. */
body.home,body.front-page{
  height:100vh!important;
  height:100svh!important;
  min-height:0!important;
  overflow:hidden!important;
  background:#020d12;
}
body.home .site-header,body.front-page .site-header{flex:0 0 auto}
body.home .home-experience,body.front-page .home-experience{
  position:relative;
  flex:1 1 auto;
  min-height:0!important;
  width:100%;
  height:auto!important;
  padding:0!important;
  overflow:hidden!important;
}
body.home .cinematic-hero,body.front-page .cinematic-hero{
  position:relative;
  width:100%;
  height:100%!important;
  min-height:0!important;
  overflow:hidden;
}
body.home .site-footer,body.front-page .site-footer{flex:0 0 68px}

/* Subpages use normal page flow and retain the global footer. */
body:not(.home):not(.front-page){min-height:100vh;min-height:100svh}
body:not(.home):not(.front-page) .site-footer{margin-top:auto}

@media(max-width:800px){
  body.home,body.front-page{
    height:auto!important;
    min-height:100svh!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
  }
  body.home .home-experience,body.front-page .home-experience,
  body.home .cinematic-hero,body.front-page .cinematic-hero{
    height:auto!important;
    min-height:calc(100svh - 142px)!important;
    overflow:visible!important;
  }
  body.home .site-footer,body.front-page .site-footer{flex:0 0 auto}
}
