/* Approved Option B: live content above the complete, unfiltered landscape. */
.homepage-copy { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 2rem; row-gap: .5rem; padding: .75rem 3.515% .5rem; }
.homepage-title { grid-column: 1 / -1; font-size: clamp(2.75rem, 4.1vw, 4rem); line-height: 1.04; letter-spacing: -.035em; margin: 0; }
.homepage-title span { display: inline; }
.homepage-intro { max-width: 46.875rem; font-size: 1.0625rem; line-height: 1.4; margin: 0; }
.homepage-actions { align-items: center; }
.homepage-landscape { display: block; width: min(93%, max(45rem, calc((100svh - 26rem) * 3.003))); aspect-ratio: 2048 / 682; height: auto; max-width: 93%; max-height: max(15rem, calc(100svh - 26rem)); object-fit: contain; margin: 0 auto; }
.homepage-cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .875rem; padding: .75rem 3.075% .875rem; }
@media (max-width: 1100px) {
  .homepage-copy { grid-template-columns: 1fr; padding: 1rem 4% .75rem; }
  .homepage-title { font-size: clamp(2.75rem, 5vw, 3.5rem); }
  .homepage-actions { margin-top: .25rem; }
  .homepage-landscape { max-height: none; max-width: 100%; width: 100%; }
  .homepage-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); padding-inline: 4%; }
}
@media (max-width: 767px) {
  .homepage-copy { padding: 1rem 1.5rem 1.5rem; row-gap: 1rem; }
  .homepage-title { font-size: clamp(2.625rem, 8vw, 3.5rem); }
  .homepage-actions { align-items: stretch; }
  .homepage-cards { grid-template-columns: 1fr; padding: 1rem 1.5rem 1.5rem; }
}
