/* v2.4.6 — every hero fills the first screen exactly (desktop/laptop); content scales with screen height */
@media (min-width:951px){
  .page-hero,.home-hero,.page-index .home-hero{
    min-height:100svh;box-sizing:border-box;display:flex;align-items:center;
    padding:calc(96px + 3vh) 0 4vh !important;
  }
  .page-hero>.container,.home-hero>.container{width:min(1240px,calc(100% - 64px))}
  /* headlines sized by the smaller of width and height */
  .home-hero h1{font-size:clamp(2.4rem,min(4.6vw,7.2vh),4.4rem)!important;line-height:1.02!important;margin:0}
  .page-hero h1{font-size:clamp(2.2rem,min(4.2vw,7vh),4.1rem)!important;line-height:1.05!important}
  .home-hero .eyebrow,.page-hero .eyebrow{margin-bottom:min(18px,2vh)!important}
  .home-hero .hero-description,.page-hero .hero-description{font-size:clamp(.95rem,min(1.15vw,2vh),1.08rem)!important;margin-top:min(22px,2.4vh)!important;line-height:1.6}
  .home-hero .button-row,.page-hero .button-row{margin-top:min(28px,3vh)!important}
  .home-hero .hero-footnote{margin-top:min(26px,2.6vh)!important}
  .page-hero .hero-note{margin-top:min(16px,1.8vh)!important}
  /* home: connected-business card fits the same screen */
  .home-hero .hero-grid{align-items:center}
  .home-hero .workflow-visual{min-height:0!important;max-height:calc(100svh - 96px - 7vh);padding:min(24px,2.6vh) 24px 0!important;display:flex;flex-direction:column}
  .home-hero .workflow-visual .connected-art{margin:min(10px,1vh) 0 min(14px,1.6vh)!important;flex:0 1 auto;min-height:0}
  .home-hero .workflow-visual .connected-art svg{height:min(22vh,230px)!important;width:100%}
  .home-hero .workflow-tabs button{padding:min(10px,1.1vh) 9px!important}
  .home-hero .journey-panel{min-height:0!important;margin-top:min(14px,1.5vh)!important;padding:min(20px,2.2vh) 20px!important}
  .home-hero .journey-panel h2{font-size:clamp(1.4rem,3.4vh,2rem)!important;margin:min(10px,1vh) 0!important}
  .home-hero .journey-panel p{margin:0 0 min(12px,1.4vh)!important}
  .home-hero .visual-bottom{margin-top:min(16px,1.6vh)!important;padding:min(16px,1.8vh) 0!important}
  /* page heroes with an illustration on the right: keep it inside the screen */
  .page-hero .studio-hero-grid>div:last-child img,.page-hero .studio-hero-grid>div:last-child svg,.page-hero .service-film{max-height:calc(100svh - 96px - 12vh);width:auto;max-width:100%}
}
/* phones and small tablets: the first screen is at least one full screen */
@media (max-width:950px){
  .page-hero,.home-hero{min-height:100svh;box-sizing:border-box}
}
/* short laptop screens (≤ 780px tall) */
@media (min-width:951px) and (max-height:780px){
  .page-hero h1{font-size:clamp(2rem,min(3.8vw,6.2vh),3.6rem)!important}
  .page-hero .hero-description{font-size:.92rem!important;line-height:1.5}
  .page-hero .studio-hero-grid>div:last-child img,.page-hero .studio-hero-grid>div:last-child svg,.page-hero .service-film,.page-hero .grow-brand-lockup{max-height:calc(100svh - 96px - 16vh)}
}
@media (min-width:951px){
  .page-hero .gb-hero-grid img{max-height:calc(100svh - 96px - 10vh);width:auto!important;max-width:100%;margin-inline:auto}
  .page-hero .phone{height:auto!important;max-height:none!important;overflow:visible}
  .page-hero .phone .screen{height:min(560px,calc(100svh - 96px - 16vh))!important}
  .notfound{min-height:calc(100svh - 96px);box-sizing:border-box;padding:calc(96px + 4vh) 0 6vh!important;display:flex;align-items:center}
}
@media (min-width:951px){
  .page-hero .gb-hero-visual-slot img{max-height:calc(100svh - 96px - 12vh)!important;width:auto!important;max-width:100%!important;object-fit:contain}
}
@media (min-width:951px) and (max-height:780px){
  .page-hero .gr-demo{zoom:.9}
}
