@media (min-width: 901px) {
  /* Hybrid hero: approved artwork fills only the original hero container. */
  .qdh .hero.shell {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 590px;
    overflow: hidden;
  }

  .qdh .hero h1 {
    font-size: clamp(54px, 3.8vw, 64px);
    line-height: 1.06;
  }

  .qdh .hero > div:first-child {
    position: relative;
    z-index: 2;
    width: 49%;
  }

  .qdh .hero::after {
    content: "";
    position: absolute;
    z-index: 1;
    inset: 0;
    background: linear-gradient(90deg, #040a15 0%, rgba(4, 10, 21, 0.94) 30%, rgba(4, 10, 21, 0.38) 48%, transparent 62%);
    pointer-events: none;
  }

  .qdh .hero-visual {
    position: absolute;
    z-index: 1;
    inset: 0;
    width: 100%;
    height: 100% !important;
  }

  .qdh .hero-visual img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transform: none;
  }
}

@media (max-width: 700px) {
  .qdh .hero {
    position: relative !important;
    min-height: calc(100svh - 76px) !important;
    display: flex !important;
    grid-template-columns: none !important;
    align-items: flex-end !important;
    padding: 92px 0 52px !important;
    isolation: isolate;
    overflow: hidden;
  }

  .qdh .hero > div:first-child {
    position: relative;
    z-index: 3;
    width: 100%;
  }

  .qdh .hero::after {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 0 calc((100vw - 100%) / -2);
    background: linear-gradient(
      180deg,
      rgba(4, 10, 21, 0.18) 0%,
      rgba(4, 10, 21, 0.48) 34%,
      rgba(4, 10, 21, 0.94) 72%,
      #040a15 100%
    );
    pointer-events: none;
  }

  .qdh .hero-visual {
    position: absolute !important;
    z-index: -2;
    top: 0 !important;
    bottom: 0 !important;
    left: calc((100vw - 100%) / -2) !important;
    right: calc((100vw - 100%) / -2) !important;
    width: auto !important;
    height: 100% !important;
  }

  .qdh .hero-visual img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: 62% center !important;
    filter: saturate(0.9) contrast(1.08) !important;
  }

  .qdh .hero .lead {
    color: #d4d0c8;
    text-shadow: 0 2px 14px rgba(0, 0, 0, 0.72);
  }

  button.menu {
    min-width: 44px;
    min-height: 44px;
    padding: 0 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
  }

  footer a,
  .support a {
    display: inline-flex;
    align-items: center;
    min-height: 40px;
    padding-block: 8px;
  }

  .actions .btn,
  .hero-actions .btn {
    max-width: 100%;
    justify-content: center;
    text-align: center;
  }

  img,
  video,
  iframe {
    max-width: 100%;
  }

  .qdh .compare {
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    scrollbar-color: #dda31b #081321;
    padding-bottom: 10px;
  }

  .qdh .compare th,
  .qdh .compare td {
    min-width: 118px;
  }

  .qdh .compare td:first-child {
    position: sticky;
    left: 0;
    z-index: 1;
    background: #081321;
  }

  .qdh .compare a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding-block: 7px;
  }

  .qdh .hero-actions > a:not(.btn) {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
  }
}
