/* Full-landing hero treatment. Header, analysis preview and benchmark stay untouched. */
/* r92: approved compact platform signature, using the original SVG marks. */
#top .qesora-concept-platforms {
  display: inline-flex !important;
  flex-direction: column;
  align-items: stretch;
  width: 280px !important;
  max-width: 100%;
  gap: 14px !important;
  margin-top: 28px;
  padding: 16px 20px 18px;
  border: 1px solid #cdd5eb;
  border-radius: 5px;
  background: rgba(251,252,255,.97);
  box-shadow: 0 4px 14px rgba(22,43,111,.035);
}
#top .qesora-concept-platforms__label {
  margin: 0 !important;
  color: #1e3fe0;
  font-size: 10px;
  line-height: 1.3;
  font-weight: 650;
  letter-spacing: .12em;
}
#top .qesora-concept-platforms__list {
  display: grid !important;
  grid-template-columns: repeat(4,1fr);
  align-items: center;
  gap: 0 !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
#top .qesora-concept-platform {
  display: grid !important;
  place-items: center;
  width: auto !important;
  height: 30px !important;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  box-shadow: none !important;
  color: #111c45 !important;
}
#top .qesora-concept-platform + .qesora-concept-platform {
  border-left: 1px solid #e0e5f0 !important;
}
#top .qesora-concept-platform svg {
  width: 25px !important;
  height: 25px !important;
}
#top.qesora-concept-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: #fbfcff;
}

#top.qesora-concept-hero::before,
#top.qesora-concept-hero::after,
#top .qesora-concept-hero__inner::before {
  display: none !important;
}

#top .qesora-concept-hero__inner {
  position: relative;
  z-index: 1;
}

.qesora-hero-archive {
  position: absolute;
  z-index: 0;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  background: #fbfcff;
}

.qesora-hero-archive::before,
.qesora-hero-archive::after {
  position: absolute;
  z-index: 2;
  inset: 0;
  content: "";
  pointer-events: none;
}

.qesora-hero-archive::before {
  background:
    radial-gradient(ellipse 44% 65% at 9% 34%,
      rgba(255,255,255,.97) 0%,
      rgba(255,255,255,.90) 38%,
      rgba(255,255,255,.32) 72%,
      transparent 100%);
}

.qesora-hero-archive::after {
  background: linear-gradient(180deg,
    rgba(255,255,255,.12) 0%,
    transparent 11%,
    transparent 88%,
    rgba(255,255,255,.12) 100%);
}

.qesora-hero-archive__wall {
  position: absolute;
  top: 50%;
  left: 50%;
  display: grid;
  grid-template-columns: repeat(8, max(158px, 13.6vw));
  gap: clamp(5px, .5vw, 9px);
  width: max-content;
  height: auto;
  transform: translate(-50%, -50%) rotate(-8deg);
}

.qesora-hero-archive__tile {
  display: grid;
  place-items: center;
  min-width: 0;
  min-height: 0;
  aspect-ratio: 4 / 3;
  padding: 5px;
  overflow: hidden;
  background: rgba(255,255,255,.96);
  border: 0;
  opacity: .96;
}

.qesora-hero-archive__tile img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.qesora-hero-archive__tile--cobalt {
  padding: 0;
  background: radial-gradient(circle closest-side, #1e3fe0 99%, #f6f6f3 100%);
  opacity: 1;
}

.qesora-hero-archive__tile--cobalt img {
  clip-path: circle(closest-side);
  filter: url(#qesora-archive-white-ink-r90);
}

@media (min-width: 721px) and (max-width: 980px) {
  .qesora-hero-archive__wall {
    grid-template-columns: repeat(4, max(158px, 28vw));
    gap: 7px;
  }

  .qesora-hero-archive::before {
    background: radial-gradient(ellipse 78% 52% at 15% 18%,
      rgba(255,255,255,.97) 0%, rgba(255,255,255,.86) 40%,
      rgba(255,255,255,.28) 75%, transparent 100%);
  }

}

@media (max-width: 720px) {
  .qesora-hero-archive::before {
    background: linear-gradient(180deg,
      rgba(255,255,255,.83) 0%,
      rgba(255,255,255,.72) 28%,
      rgba(255,255,255,.26) 54%,
      rgba(255,255,255,.08) 100%);
  }

  .qesora-hero-archive::after { opacity: .48; }

  .qesora-hero-archive__wall {
    grid-template-columns: repeat(4, max(140px, 29vw));
    gap: 6px;
  }

}
