/* Balanced laptop/desktop hero: uses the viewport height evenly without crowding. */
@media (min-width:1051px){
  .hero{
    min-height:100svh;
    padding:96px 0 30px;
    display:flex;
    align-items:stretch;
  }
  .hero-wide-container{
    width:min(1600px,calc(100% - 64px));
    min-height:calc(100svh - 126px);
    margin-inline:auto;
  }
  .hero-grid{
    grid-template-columns:minmax(0,1fr) clamp(570px,41vw,700px);
    gap:38px;
    align-items:center;
  }
  .hero-copy{
    max-width:820px;
    padding-top:0;
    align-self:center;
  }
  .hero h1{
    max-width:820px;
    font-size:clamp(3.8rem,4.65vw,5.15rem);
    line-height:.985;
    letter-spacing:-.058em;
  }
  .hero-text{
    max-width:760px;
    margin-top:20px;
    font-size:1rem;
    line-height:1.5;
  }
  .hero-support{
    max-width:780px;
    margin-top:12px;
    font-size:1rem;
    line-height:1.5;
  }
  .hero-actions{
    margin-top:24px;
    gap:14px;
  }
  .hero-actions .btn{
    min-height:54px;
    padding:15px 27px;
  }
  .hero-proof{
    margin-top:15px;
    gap:10px;
  }
  .hero-proof span{
    padding:9px 13px;
    font-size:.72rem;
  }
  .hero-visual{
    width:100%;
    max-width:700px;
    justify-self:end;
    align-self:center;
  }
  .hero-image-card{
    width:100%;
    aspect-ratio:1.06/1;
    max-height:min(650px,calc(100svh - 190px));
  }
}

@media (min-width:1051px) and (max-width:1500px){
  .hero{
    padding:90px 0 26px;
  }
  .hero-wide-container{
    width:min(1440px,calc(100% - 48px));
    min-height:calc(100svh - 116px);
  }
  .hero-grid{
    grid-template-columns:minmax(0,1fr) clamp(470px,39vw,590px);
    gap:30px;
  }
  .hero-copy{max-width:760px}
  .hero h1{
    max-width:760px;
    font-size:clamp(3.2rem,4.45vw,4.25rem);
    line-height:.99;
  }
  .hero-text{
    max-width:710px;
    margin-top:17px;
    font-size:.92rem;
    line-height:1.48;
  }
  .hero-support{
    max-width:730px;
    margin-top:10px;
    font-size:.92rem;
    line-height:1.48;
  }
  .hero-actions{margin-top:21px}
  .hero-actions .btn{
    min-height:50px;
    padding:13px 23px;
  }
  .hero-proof{margin-top:13px;gap:8px}
  .hero-proof span{padding:8px 11px;font-size:.65rem}
  .hero-visual{max-width:590px}
  .hero-image-card{
    aspect-ratio:1.06/1;
    max-height:min(570px,calc(100svh - 170px));
  }
}

@media (min-width:1051px) and (max-width:1220px){
  .hero-grid{
    grid-template-columns:minmax(0,1fr) 455px;
    gap:24px;
  }
  .hero-copy{max-width:680px}
  .hero h1{max-width:680px;font-size:3.05rem}
  .hero-text,.hero-support{font-size:.85rem}
  .hero-visual{max-width:455px}
  .hero-proof span{font-size:.57rem;padding:7px 9px}
}

@media (min-width:1051px) and (max-height:820px){
  .hero{padding:86px 0 22px}
  .hero-wide-container{min-height:calc(100svh - 108px)}
  .hero h1{font-size:clamp(3rem,4.15vw,3.9rem)}
  .hero-text{margin-top:14px;line-height:1.42}
  .hero-support{margin-top:8px;line-height:1.42}
  .hero-actions{margin-top:17px}
  .hero-proof{margin-top:10px}
  .hero-image-card{max-height:min(535px,calc(100svh - 150px))}
}

@media (min-width:1051px) and (max-height:720px){
  .hero{padding:82px 0 18px}
  .hero-wide-container{min-height:calc(100svh - 100px)}
  .hero h1{font-size:clamp(2.75rem,3.85vw,3.45rem)}
  .hero-text{font-size:.82rem;margin-top:11px}
  .hero-support{font-size:.82rem;margin-top:6px}
  .hero-actions{margin-top:14px}
  .hero-proof{margin-top:8px}
  .hero-image-card{max-height:min(470px,calc(100svh - 132px))}
}
