/* Final laptop-fit override. Keeps the restored hero design while ensuring all CTA content is visible. */
.hero-image-card > picture{display:block;width:100%;height:100%}
.hero-image-card > picture > img{display:block;width:100%;height:100%;object-fit:cover}

@media (min-width:1051px){
  .hero{
    min-height:100svh;
    padding:96px 0 24px;
    display:flex;
    align-items:center;
  }
  .hero-grid{align-items:center}
  .hero-copy{padding-top:0}
  .hero-image-card{
    width:100%;
    height:auto;
    max-height:calc(100svh - 132px);
    aspect-ratio:1.17 / 1;
  }
  .hero-image-card > picture > img{object-position:68% 48%}
}

/* Standard laptop screens, including 1366px and 1440px widths. */
@media (min-width:1051px) and (max-width:1500px){
  .hero{padding:88px 0 20px}
  .hero-wide-container{width:min(1440px,calc(100% - 48px))}
  .hero-grid{
    grid-template-columns:minmax(0,1fr) clamp(455px,38vw,560px);
    gap:22px;
  }
  .hero-copy{max-width:785px}
  .hero h1{
    max-width:785px;
    font-size:clamp(3.15rem,4.22vw,4rem);
    line-height:.985;
  }
  .hero-text{
    max-width:735px;
    margin-top:14px;
    font-size:.92rem;
    line-height:1.43;
  }
  .hero-support{
    max-width:745px;
    margin-top:7px;
    font-size:.91rem;
    line-height:1.43;
  }
  .hero-actions{margin-top:15px;gap:11px}
  .hero-actions .btn{min-height:47px;padding:12px 22px}
  .hero-actions .btn-primary{min-width:194px}
  .hero-actions .btn-secondary{min-width:154px}
  .hero-proof{margin-top:9px;gap:7px}
  .hero-proof span{padding:7px 9px;font-size:.58rem;gap:6px}
  .hero-proof b{width:6px;height:6px}
  .hero-visual{max-width:560px}
  .hero-image-card{
    max-height:min(500px,calc(100svh - 122px));
    aspect-ratio:1.17 / 1;
    border-radius:24px;
  }
  .hero-image-caption{left:24px;right:24px;bottom:18px}
  .hero-image-caption small{font-size:.6rem}
  .hero-image-caption strong{font-size:1.08rem}
}

@media (min-width:1051px) and (max-width:1220px){
  .hero-grid{grid-template-columns:minmax(0,1fr) 440px;gap:18px}
  .hero h1{font-size:3rem}
  .hero-text,.hero-support{font-size:.84rem}
  .hero-visual{max-width:440px}
  .hero-image-card{max-height:min(448px,calc(100svh - 116px))}
  .hero-proof span{padding:6px 7px;font-size:.53rem}
}

/* Short laptop displays: keep both buttons visible before the fold. */
@media (min-width:1051px) and (max-height:820px){
  .hero{padding-top:84px;padding-bottom:16px}
  .hero h1{font-size:clamp(2.95rem,4vw,3.65rem)}
  .hero-text{margin-top:11px;line-height:1.38}
  .hero-support{margin-top:5px;line-height:1.38}
  .hero-actions{margin-top:12px}
  .hero-proof{margin-top:7px}
  .hero-image-card{max-height:470px}
}

@media (min-width:1051px) and (max-height:720px){
  .hero{padding-top:80px;padding-bottom:12px}
  .hero h1{font-size:clamp(2.72rem,3.75vw,3.35rem)}
  .hero-text{font-size:.82rem;margin-top:9px}
  .hero-support{display:none}
  .hero-actions{margin-top:11px}
  .hero-proof{margin-top:6px}
  .hero-image-card{max-height:410px}
}

@media (min-width:1501px){
  .hero-wide-container{width:min(1840px,calc(100% - 80px))}
  .hero-grid{grid-template-columns:minmax(0,1fr) clamp(570px,37vw,680px);gap:32px}
  .hero-copy{max-width:930px}
  .hero h1{font-size:clamp(4.05rem,4.55vw,5.25rem);max-width:930px}
  .hero-visual{max-width:680px}
  .hero-image-card{max-height:min(640px,calc(100svh - 145px));aspect-ratio:1.17 / 1}
}

@media (max-width:1050px){
  .hero-image-card > picture > img{object-position:53% center}
}
