/* APPV1_FRONTEND_NOCROP_BANNER_FOOTER_FLOW_R6H_20260905
   Final cascade over R6G:
   - preserve full banner image ratio (no crop);
   - keep active CMS slide in document flow;
   - guarantee homepage/footer vertical flow.
*/

body.gt-homepage{
  height:auto!important;
  min-height:100vh!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
}

body.gt-homepage .gt-site-shell,
body.gt-homepage main,
body.gt-homepage .gt-homepage-main,
body.gt-homepage .gt-home-sections{
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
}

/* The hero track no longer owns a synthetic viewport/fixed height. */
.gt-home-hero{
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:hidden!important;
}

.gt-home-hero .gt-hero-track{
  position:relative!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
}

/* Inactive slides stay out of normal flow. */
.gt-home-hero .gt-hero-slide{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  display:none!important;
  overflow:hidden!important;
}

/* The active slide becomes the height authority for the hero. */
.gt-home-hero .gt-hero-slide.is-active{
  position:relative!important;
  inset:auto!important;
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:hidden!important;
}

/* The media itself remains in normal flow so intrinsic aspect ratio controls height. */
.gt-home-hero .gt-responsive-banner-media{
  position:relative!important;
  inset:auto!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:hidden!important;
  z-index:0!important;
}

.gt-home-hero .gt-banner-media-element{
  position:relative!important;
  inset:auto!important;
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center center!important;
  margin:0!important;
}

/* Overlay remains above the complete image without altering its dimensions. */
.gt-home-hero .gt-hero-shade{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  z-index:1!important;
  pointer-events:none!important;
  background:linear-gradient(90deg,rgba(7,24,43,.92) 0%,rgba(7,24,43,.74) 27%,rgba(7,24,43,.36) 47%,rgba(7,24,43,.08) 68%,rgba(7,24,43,0) 100%)!important;
}

.gt-home-hero .gt-hero-content{
  position:absolute!important;
  inset:0 auto 0 0!important;
  z-index:2!important;
  width:min(720px,48vw)!important;
  max-width:720px!important;
  height:100%!important;
  min-height:0!important;
  margin:0!important;
  padding:clamp(42px,5vw,88px) 0 clamp(42px,5vw,88px) clamp(52px,6.6vw,124px)!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:flex-start!important;
  box-sizing:border-box!important;
  background:transparent!important;
}

/* Hero controls must not affect page height or obscure following sections. */
.gt-home-hero .gt-hero-controls,
.gt-home-hero .gt-hero-dots{
  position:absolute!important;
  z-index:4!important;
}

/* Explicit footer recovery: visible and part of normal document flow. */
body.gt-homepage footer{
  position:relative!important;
  inset:auto!important;
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
  z-index:1!important;
  clear:both!important;
}

/* Any sections injected after hero remain normal-flow blocks. */
body.gt-homepage .gt-r6g-start-section,
body.gt-homepage .gt-r6g-studio-banner,
body.gt-homepage .gt-home-section{
  position:relative!important;
  inset:auto!important;
  height:auto!important;
  max-height:none!important;
}

/* Mobile: never crop. The image is shown completely, then copy becomes a compact panel. */
@media(max-width:760px){
  .gt-home-hero .gt-hero-track,
  .gt-home-hero .gt-hero-slide,
  .gt-home-hero .gt-hero-slide.is-active,
  .gt-home-hero .gt-responsive-banner-media{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
  }

  .gt-home-hero .gt-banner-media-element{
    width:100%!important;
    height:auto!important;
    object-fit:contain!important;
    object-position:center center!important;
  }

  .gt-home-hero .gt-hero-shade{
    display:none!important;
  }

  .gt-home-hero .gt-hero-content{
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    max-width:none!important;
    height:auto!important;
    padding:24px 20px 28px!important;
    background:#0e2743!important;
    color:#fff!important;
  }

  .gt-home-hero .gt-hero-title{
    font-size:clamp(38px,10.5vw,52px)!important;
    line-height:.98!important;
    max-width:10ch!important;
  }

  .gt-home-hero .gt-r6g-hero-copy{
    font-size:15px!important;
    line-height:1.45!important;
    max-width:34ch!important;
  }

  body.gt-homepage footer{
    display:block!important;
    visibility:visible!important;
  }
}
