@charset "UTF-8";
/* Строки и 3D-галерея — перенос из лендинга (section-gallery + Gallery3d) один в один.
   Поля, кегли и отступы — значения лендинга (wrapper-main 10 / 16 / 18, txt-h2 → md txt-h3 → lg txt-h2),
   они действуют только в этой секции. На xl вторая пара строк уходит под кольцо. */
.gallery-3d {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 6rem 0.625rem 0.625rem;
  color: var(--color-black);
  background-color: var(--color-white);
}
@media (min-width: 768px) {
  .gallery-3d {
    padding-inline: 1rem;
  }
}
@media (min-width: 1280px) {
  .gallery-3d {
    padding-top: 0.25rem;
  }
}
@media (min-width: 1440px) {
  .gallery-3d {
    padding-inline: 1.125rem;
  }
}
.gallery-3d__heading {
  font-family: var(--font-heading);
  font-weight: 800;
  text-transform: uppercase;
  display: flex;
  flex-direction: column;
  font-size: 2.5rem;
  line-height: 0.9;
}
@media (min-width: 768px) {
  .gallery-3d__heading {
    font-size: 3.75rem;
    line-height: 0.86;
  }
}
@media (min-width: 1024px) {
  .gallery-3d__heading {
    font-size: 6.875rem;
    line-height: 0.9;
  }
}
@media (min-width: 1440px) {
  .gallery-3d__heading {
    font-size: 8.75rem;
  }
}
@media (min-width: 1280px) {
  .gallery-3d__heading--second {
    order: 1;
  }
}
.gallery-3d__line--with-sign {
  display: flex;
  justify-content: space-between;
}
.gallery-3d__sign {
  display: none;
}
@media (min-width: 768px) {
  .gallery-3d__sign {
    display: inline;
  }
}
.gallery-3d__box {
  position: relative;
  margin-top: 2rem;
  overflow: hidden;
  aspect-ratio: 340/189;
  background-color: var(--color-gray-light);
  border-radius: var(--radius-4);
}
@media (min-width: 1280px) {
  .gallery-3d__box {
    margin-top: 0;
    aspect-ratio: 1440/440;
    background-color: var(--color-white);
    border-radius: 0;
  }
}
.gallery-3d__ring {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 160%;
  aspect-ratio: 1280/1008;
  transform: translate(-50%, -50%);
}
.gallery-3d__canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
