/* Fill the viewport while allowing longer pages to grow naturally. */
body{
 min-height:100vh;
 min-height:100svh;
 display:flex;
 flex-direction:column;
}
body>.header,body>.footer{flex:0 0 auto}
body>main{
 flex:1 0 auto;
 display:flex;
 flex-direction:column;
 min-width:0;
}
body>main>.hero,body>main>.cta{flex:0 0 auto}
body>main>.wrap.main{flex:1 0 auto}
body[data-page="geo"] main>.main,
body[data-page="video"] main>.main,
body[data-page="operation"] main>.main{
 display:flex;
 flex-direction:column;
 justify-content:space-evenly;
}
/* Keep the supplied homepage composition; extend its hero only when needed. */
body[data-page="index"] main>.growth-home{
 flex:1 0 auto;
 display:flex;
 flex-direction:column;
}
body[data-page="index"] .growth-home>.growth-hero{flex:1 0 auto}
body[data-page="index"] .growth-home>.growth-services{flex:0 0 auto}
@media(min-width:781px) and (min-height:1000px){
 body:not([data-page="index"]) .main{
  padding-top:clamp(32px,3.2vh,56px);
  padding-bottom:clamp(38px,3.5vh,60px);
 }
 body:not([data-page="index"]) .block{
  margin-bottom:clamp(38px,3.6vh,60px);
 }
 body[data-page="about"] main>.main{
  display:flex;
  flex-direction:column;
  justify-content:space-evenly;
 }
 body[data-page="cases"] main>.main,
 body[data-page="news"] main>.main{
  display:flex;
  flex-direction:column;
 }
 body[data-page="cases"] .filter-grid,
 body[data-page="news"] .filter-grid{flex:1 0 auto}
 body[data-page="cases"] .case-card,
 body[data-page="news"] .news-card{display:flex;flex-direction:column}
 body[data-page="cases"] .case-body,
 body[data-page="news"] .news-body{
  flex:1 0 auto;
  display:flex;
  flex-direction:column;
  justify-content:center;
 }
 body:not([data-page="index"]) .cta{
  padding-top:clamp(31px,3vh,52px);
  padding-bottom:clamp(33px,3vh,52px);
 }
}
