/* Original PLM hero architecture: full-bleed image beneath all hero content.
   Reference: initial teaser 33d3ee6, .hero__video and .hero__scrim.
   Owner-approved laser hero. Retain current copy, header, rating and CTA order. */
.hero {
  background: #0a0a0f;
  min-height: 720px;
}
.hero .hero-image {
  position: absolute;
  inset: 0;
  width: 100%;
  max-width: none;
  height: 100%;
  aspect-ratio: auto;
  object-fit: cover;
  object-position: center;
  mask-image: none;
  -webkit-mask-image: none;
  filter: none;
  opacity: 1;
  pointer-events: none;
}
.hero .hero-shade {
  background:
    linear-gradient(to right, rgba(10,10,15,.85) 0%, rgba(10,10,15,.6) 40%, rgba(10,10,15,.35) 100%),
    linear-gradient(to bottom, rgba(10,10,15,.4) 0%, rgba(10,10,15,.1) 50%, rgba(10,10,15,.9) 100%);
  pointer-events: none;
}
@media (max-width: 800px) {
  .hero {
    min-height: 0;
    height: auto;
  }
  .hero .hero-content {
    padding-top: 40px;
    padding-bottom: 86px;
  }
  .hero .hero-image {
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 55% center;
  }
}
/* One centered desktop grid shared with the sections below. */
@media (min-width: 1101px) {
  :root {
    --plm-desktop-width: 1328px;
    --plm-desktop-gutter: max(56px, calc((100% - var(--plm-desktop-width)) / 2));
  }
  .plm-classic.nav,
  .plm-social-bar__inner {
    padding-inline: var(--plm-desktop-gutter);
  }
  .hero .hero-content,
  main > section > .container {
    width: calc(100% - 112px);
    max-width: var(--plm-desktop-width);
    margin-inline: auto;
  }
  .hero .hero-image {
    inset: 0 auto 0 50%;
    width: calc(100% - 112px);
    max-width: var(--plm-desktop-width);
    height: 100%;
    transform: translateX(-50%);
    object-fit: contain;
    object-position: center;
    mask-image: none;
    -webkit-mask-image: none;
  }
  .hero .hero-shade {
    background:
      linear-gradient(to bottom, #0a0a0f 0%, rgba(10,10,15,0) 26%),
      linear-gradient(to right, rgba(10,10,15,.85) 0%, rgba(10,10,15,.65) 32%, rgba(10,10,15,.12) 62%, transparent 78%),
      linear-gradient(to bottom, transparent 0%, transparent 66%, #0a0a0f 100%);
  }
}
/* Match the mobile image bounds to the quote and phone buttons. */
@media (max-width: 800px) {
  .hero .hero-image {
    inset: 0 auto 0 20px;
    width: min(400px, calc(100% - 40px));
  }
}
