/* Recce NI Storefront 1.0.0-beta.5
 * Definitive mobile hero geometry.
 * The mobile hero is split into a photographic stage and a content stage.
 * Only the unused dark side of the desktop-composed artwork is cropped;
 * the firearm/product subject remains fully visible.
 */

@media (max-width: 760px) {
  body .rni-storefront-homepage .rni-flagship-hero,
  body .rni-storefront-homepage .rni-hero-track,
  body .rni-storefront-homepage .rni-hero-slide {
    height: 720px !important;
    min-height: 720px !important;
    max-height: 720px !important;
    overflow: hidden !important;
    background: #07110c !important;
  }

  body .rni-storefront-homepage .rni-hero-slide {
    display: block !important;
  }

  /* Dedicated image stage: no giant blank region and no image/text collision. */
  body .rni-storefront-homepage .rni-hero-slide picture {
    position: absolute !important;
    inset: 0 0 auto 0 !important;
    display: block !important;
    width: 100% !important;
    height: 290px !important;
    aspect-ratio: auto !important;
    overflow: hidden !important;
    background: #07110c !important;
  }

  body .rni-storefront-homepage .rni-hero-slide picture img {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    aspect-ratio: auto !important;
    object-fit: cover !important;
    object-position: 72% 50% !important;
    transform: none !important;
    background: #07110c !important;
  }

  /* A short transition only; never a full-height masking panel. */
  body .rni-storefront-homepage .rni-hero-slide::before {
    content: "" !important;
    position: absolute !important;
    z-index: 1 !important;
    inset: 0 !important;
    pointer-events: none !important;
    background: linear-gradient(
      180deg,
      rgba(7,17,12,0) 0,
      rgba(7,17,12,0) 220px,
      rgba(7,17,12,.76) 270px,
      #07110c 315px,
      #07110c 100%
    ) !important;
  }

  body .rni-storefront-homepage .rni-hero-overlay {
    display: none !important;
  }

  /* Content begins directly below the image stage. */
  body .rni-storefront-homepage .rni-hero-content {
    position: absolute !important;
    z-index: 3 !important;
    inset: 290px 0 0 0 !important;
    width: calc(100% - 36px) !important;
    height: 430px !important;
    min-height: 0 !important;
    margin: 0 auto !important;
    padding: 36px 0 74px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    align-items: stretch !important;
    overflow: visible !important;
  }

  body .rni-storefront-homepage .rni-hero-content .rni-eyebrow {
    margin: 0 0 18px !important;
    font-size: .72rem !important;
    line-height: 1.25 !important;
    letter-spacing: .18em !important;
  }

  body .rni-storefront-homepage .rni-hero-content h1 {
    max-width: 100% !important;
    margin: 0 !important;
    font-size: clamp(2.45rem, 11.5vw, 3.7rem) !important;
    line-height: .91 !important;
    letter-spacing: -.055em !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  body .rni-storefront-homepage .rni-hero-content > p:not(.rni-eyebrow) {
    max-width: 38ch !important;
    margin: 22px 0 0 !important;
    font-size: .98rem !important;
    line-height: 1.55 !important;
  }

  body .rni-storefront-homepage .rni-home-actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
    width: 100% !important;
    margin-top: auto !important;
  }

  body .rni-storefront-homepage .rni-home-actions .rni-button {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 50px !important;
    padding: 12px 10px !important;
    white-space: normal !important;
    text-align: center !important;
    font-size: .72rem !important;
    line-height: 1.2 !important;
  }

  body .rni-storefront-homepage .rni-hero-controls {
    position: absolute !important;
    z-index: 8 !important;
    left: 18px !important;
    right: 18px !important;
    bottom: 20px !important;
    width: auto !important;
    display: flex !important;
    justify-content: center !important;
    pointer-events: none !important;
  }

  body .rni-storefront-homepage .rni-hero-controls > button {
    display: none !important;
  }

  body .rni-storefront-homepage .rni-hero-dots {
    display: flex !important;
    gap: 7px !important;
    pointer-events: auto !important;
  }

  body .rni-storefront-homepage .rni-hero-dots button {
    width: 28px !important;
    height: 3px !important;
    margin: 0 !important;
    padding: 0 !important;
  }
}

@media (max-width: 390px) {
  body .rni-storefront-homepage .rni-flagship-hero,
  body .rni-storefront-homepage .rni-hero-track,
  body .rni-storefront-homepage .rni-hero-slide {
    height: 700px !important;
    min-height: 700px !important;
    max-height: 700px !important;
  }

  body .rni-storefront-homepage .rni-hero-slide picture {
    height: 260px !important;
  }

  body .rni-storefront-homepage .rni-hero-slide::before {
    background: linear-gradient(180deg,rgba(7,17,12,0) 0,rgba(7,17,12,0) 190px,rgba(7,17,12,.78) 238px,#07110c 282px,#07110c 100%) !important;
  }

  body .rni-storefront-homepage .rni-hero-content {
    inset: 260px 0 0 0 !important;
    height: 440px !important;
    padding-top: 30px !important;
  }

  body .rni-storefront-homepage .rni-hero-content h1 {
    font-size: clamp(2.25rem, 11.8vw, 3rem) !important;
  }
}
