@font-face {
   font-family: "Geologica";
   font-display: swap;
   src:
      url("./fonts/Geologica-Thin.woff") format("woff"),
      url("./fonts/Geologica-Thin.woff2") format("woff2");
   font-weight: 100;
   font-style: normal;
}
@font-face {
   font-family: "Geologica-italic";
   font-display: swap;
   src:
      url("./fonts/geologica-italic.woff") format("woff"),
      url("./fonts/geologica-italic.woff2") format("woff2");
   font-weight: 600;
   font-style: normal;
}
@font-face {
   font-family: "Geologica";
   font-display: swap;
   src:
      url("./fonts/Geologica-ExtraLight.woff") format("woff"),
      url("./fonts/Geologica-ExtraLight.woff2") format("woff2");
   font-weight: 200;
   font-style: normal;
}
@font-face {
   font-family: "Geologica";
   font-display: swap;
   src:
      url("./fonts/Geologica-Light.woff") format("woff"),
      url("./fonts/Geologica-Light.woff2") format("woff2");
   font-weight: 300;
   font-style: normal;
}
@font-face {
   font-family: "Geologica";
   font-display: swap;
   src:
      url("./fonts/Geologica-Regular.woff") format("woff"),
      url("./fonts/Geologica-Regular.woff2") format("woff2");
   font-weight: 400;
   font-style: normal;
}
@font-face {
   font-family: "Geologica";
   font-display: swap;
   src:
      url("./fonts/Geologica-Medium.woff") format("woff"),
      url("./fonts/Geologica-Medium.woff2") format("woff2");
   font-weight: 500;
   font-style: normal;
}
@font-face {
   font-family: "Geologica";
   font-display: swap;
   src:
      url("./fonts/Geologica-SemiBold.woff") format("woff"),
      url("./fonts/Geologica-SemiBold.woff2") format("woff2");
   font-weight: 600;
   font-style: normal;
}
@font-face {
   font-family: "Geologica";
   font-display: swap;
   src:
      url("./fonts/Geologica-Bold.woff") format("woff"),
      url("./fonts/Geologica-Bold.woff2") format("woff2");
   font-weight: 700;
   font-style: normal;
}
@font-face {
   font-family: "Geologica";
   font-display: swap;
   src:
      url("./fonts/Geologica-ExtraBold.woff") format("woff"),
      url("./fonts/Geologica-ExtraBold.woff2") format("woff2");
   font-weight: 800;
   font-style: normal;
}
@font-face {
   font-family: "Geologica";
   font-display: swap;
   src:
      url("./fonts/Geologica-Black.woff") format("woff"),
      url("./fonts/Geologica-Black.woff2") format("woff2");
   font-weight: 900;
   font-style: normal;
}
@font-face {
   font-family: "Genos";
   font-display: swap;
   src:
      url("./fonts/genos-extraboldital.woff2") format("woff2"),
      url("./fonts/genos-extraboldital.woff") format("woff");

   font-weight: 800;
}
:root {
   --font-primary: "Geologica";
}

* {
   padding: 0px;
   margin: 0px;
   border: 0px;
   font-size: 14px;
}
*,
*:before,
*:after {
   box-sizing: border-box;
}
:focus,
:active {
   outline: none;
}
a:focus,
a:active {
   outline: none;
}
html {
   scroll-behavior: smooth;
}
html,
body {
   min-width: var(--min-width);
}
body {
   background: #181818;
   color: #f5f5f5;
   line-height: 1.1;
   font-family: var(--font-primary), sans-serif;
   -ms-text-size-adjust: 100%;
   -moz-text-size-adjust: 100%;
   -webkit-text-size-adjust: 100%;
   -webkit-font-smoothing: antialiased;
   -moz-osx-font-smoothing: grayscale;
   overflow-x: hidden;
}
input,
button,
textarea {
   font-family: var(--font-primary);
   font-size: inherit;
   line-height: inherit;
}
button {
   cursor: pointer;
   color: inherit;
   background-color: transparent;
}
a {
   color: inherit;
   text-decoration: none;
   cursor: pointer;
}
ul li {
   list-style: none;
}
img {
   vertical-align: top;
}
h1,
h2,
h3,
h4,
h5,
h6 {
   font-weight: inherit;
   font-size: inherit;
}

body.lock {
   overflow: hidden;
   touch-action: none;
   overscroll-behavior: none;
}
.wrapper {
   min-height: 100%;
   display: flex;
   flex-direction: column;
   overflow: hidden;
}
header {
   position: relative;
}
@supports (overflow: clip) {
   .wrapper {
      overflow: clip;
   }
}

.wrapper footer > main {
   flex: 1 1 auto;
}

/* Фикс для слайдеров */
.wrapper > * {
   min-width: 0;
}
[class*="__container"] {
   margin: 0 auto;
   max-width: 1250px;
   padding: 0 35px;
}
@media (max-width: 1100px) {
   [class*="__container"] {
      max-width: 100vw;
      padding: 0 35px;
   }
}
@media (max-width: 720px) {
   [class*="__container"] {
      padding: 0 18px;
   }
}
.h1 {
   font-size: 72px;
   font-weight: 700;
   line-height: 72px;
   letter-spacing: -0.12rem;
}
.italic {
   font-family: "Geologica-italic";
   font-weight: 400;
   line-height: 72px;
   letter-spacing: -0.12rem;
   font-size: 72px;
}
.h2 {
   font-size: 36px;
   font-weight: 600;
   line-height: 32px;
   letter-spacing: -0.03rem;
}
.text27 {
   font-size: 27px;
   font-weight: 200;
   line-height: 36px;
   letter-spacing: -0.04rem;
}
.text21 {
   font-size: 21px;
   font-weight: 300;
   line-height: 30px;
   letter-spacing: -0.03rem;
}
.text12 {
   font-size: 12px;
   font-weight: 200;
   line-height: 24px;
   letter-spacing: -0.03rem;
}
.genos {
   font-family: "Genos";
   font-size: 48px;
   line-height: 48px;
   letter-spacing: -0.1rem;
}
.grey {
   color: #9f9f9f;
}
@media (max-width: 768px) {
   .h1 {
      font-size: 42px;
      line-height: 42px;
   }
   .italic {
      font-weight: 400;
      font-style: italic;
      letter-spacing: -0.05rem;
      font-size: 42px;
      line-height: 42px;
   }
   .h2 {
      font-size: 30px;
      line-height: 36px;
   }
   .genos {
      font-size: 30px;
      line-height: 30px;
   }
   .mtext17 {
      font-size: 17px;
      font-weight: 300;
      line-height: 24px;
   }
   .mtext12 {
      font-size: 12px;
      line-height: 18px;
   }
   .mtext21 {
      font-size: 21px;
      font-weight: 200;
      line-height: 30px;
   }
}
img {
   image-rendering: -webkit-optimize-contrast;
   image-rendering: crisp-edges;
}

/******************************************************/
.header__content {
   display: flex;
   flex-direction: row;
   align-items: center;
   justify-content: space-between;
   padding: 45px 0;
   position: relative;
   z-index: 5;
}
.header__list {
   display: flex;
   flex-direction: row;
   gap: 36px;
}
.header__link {
   font-size: 17px;
   font-weight: 300;
   line-height: 24px;
   transition: all 0.3s ease 0s;
}
/*************************************/
.main-banner {
}
.main-banner__wrappper {
   position: relative;
}
.main-banner__block {
   position: relative;
   z-index: 3;
}
.main-banner__container {
}
.main-banner__content {
}
.main-banner__title {
   padding: 240px 0 150px 0;
   margin: 0 auto;
   text-align: center;
   max-width: 900px;
}
.main-banner__bottom {
   display: flex;
   flex-direction: row;
   justify-content: space-between;
   align-items: center;
   padding: 0 90px 0 0;
}
.main-banner__left {
   width: 480px;
   height: fit-content;
   min-width: 480px;
}
.main-banner__left svg {
   width: 100%;
   height: fit-content;
   object-fit: contain;
}
.main-banner__left object {
   width: 100%;
   height: fit-content;
   object-fit: contain;
}
.main-banner__left img {
   width: 100%;
   height: fit-content;
   object-fit: contain;
}
.main-banner__right {
}
.main-banner__text-1 {
   text-align: end;
}
.main-banner__text-2 {
   margin: 18px 0;
   text-align: end;
   text-transform: uppercase;
   word-spacing: 14px;
}
.main-banner__text-3 {
   text-align: end;
}
.main-banner__block-bg {
   width: 100vw;
   overflow: hidden;
}
.main-banner__block-bg {
   position: absolute;
   top: -124px;
   left: 50%;
   transform: translateX(-50%);
}
.main-banner__block-bg-bg {
   width: 100%;
   height: 100%;
   position: absolute;
   top: 0;
   left: 0;
   background-color: #18181815;
   z-index: 2;
}
.products {
   margin: 90px 0;
}
.products__container {
}
.products__content {
   position: relative;
   z-index: 5;
}
.products__title {
   text-align: center;
   width: 100%;
}
.products__subtitle {
   margin-top: 24px;
   text-align: center;
   width: 100%;
}
.products__list {
   display: flex;
   flex-direction: row;
   margin-top: 90px;
   justify-content: space-between;
}
.products__item {
}

.products__item img {
   width: 220px;
   height: 220px;
   object-fit: cover;
}
.gold__container {
   padding: 0;
}
.gold__title,
.gold__subtitle,
.gold__text {
   padding: 0 18px;
}
.product-img {
   transition: all 0.3s ease 0s;
   opacity: 1;
}
.product-img.hidden {
   opacity: 0;
}
.products__img-q {
}
.products__img-pr {
}
.hide {
}
.gold {
}
.gold__container {
}
.gold__content {
}
.gold__title {
   text-align: center;
   width: 100%;
}
.gold__subtitle {
   margin-top: 24px;
   text-align: center;
   width: 100%;
}
.gold__img object {
   position: relative;
   overflow: hidden;
   left: 50%;
   transform: translateX(-50%);
}
.products__item-mobi {
   position: relative;
   width: 240px;
   height: 240px;
   object-fit: cover;
}
.product-img-mobi {
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   opacity: 0;
   transition: opacity 0.3s ease-in-out;
}
.product-img-mobi.active {
   opacity: 1;
}
.gold__img svg,
.gold__img img {
   position: absolute;
   top: 50%;
   left: 50%;
   transform: translate(-50%, -50%);
   object-fit: cover;
}
.gold__img {
   overflow: hidden;
   width: 100%;
}

.gold__img object {
   min-width: 1180px;
   width: 1180px;
   height: 600px;
   min-height: 600px;
}
.gold__img svg,
.gold__img img {
   min-width: 1180px;
   width: 1180px;
   min-height: 600px;
   object-fit: cover;
}

.gold__text {
   text-align: center;
}
.santa {
   margin: 90px 0;
   height: 480px;
}
.santa__container {
}
.santa__content {
   display: flex;
   flex-direction: row;
}
.santa__left {
   position: relative;
   flex: 100%;
}
.santa__img {
}
.santa__img-pc {
   position: absolute;
   z-index: 1;
}

.santa__right {
   position: relative;
   z-index: 5;
   flex: 0 0 580px;
}
.santa__title {
   margin-bottom: 24px;
   margin-top: 30px;
}
.santa__text-list {
   max-width: 490px;
   display: flex;
   flex-direction: column;
   gap: 24px;
}
.products__list-mobi {
   display: none;
}
.santa__item {
}
.santa__img-m {
   display: none;
}
.video {
   margin: 90px 0;
}
.video__container {
}
.video__content {
}
.video__title {
   text-align: center;
   margin-bottom: 24px;
}
.video__subtitle {
   text-align: center;
   margin-bottom: 60px;
}
.video__list-wrapper {
   position: relative;
   z-index: 5;
}
.video__list {
   display: flex;
   flex-direction: row;
   gap: 20px;
}
.video__item {
   width: fit-content;
   width: 280px;
   height: 593px;
   padding-bottom: 60px;
}
.video__video {
   position: relative;
   cursor: pointer;
   width: 280px;
   height: 497px;
}
.video__video video {
}
.video__pr {
   position: relative;
   width: 280px;
   height: 497px;
}
.video__pr-img {
   position: relative;
   z-index: 1;
}

.video__pr-bg {
   position: absolute;
   width: 100%;
   height: 100%;
   z-index: 2;
   background: #404040;
   opacity: 0.3;
   top: 0;
}
.video__frame {
   width: 100%;
   height: 100%;
   z-index: 2;
   position: absolute;
   object-fit: cover;
}
.video__pr-play {
   position: absolute;
   z-index: 3;
   left: 50%;
   transform: translate(-50%, -50%);
   top: 50%;
   cursor: pointer;
}
.video__pr-play img,
.video__pr-play svg,
.video__pr-play object {
   cursor: pointer;
}
.video__pr-play img {
   width: 66px;
   height: 66px;
}
.video__description {
   margin-top: 12px;
   text-align: center;
}

.video__list-wrapper {
   -webkit-overflow-scrolling: touch; /* плавный скролл на iOS */
   scrollbar-width: none; /* Firefox */
}
.video__list-wrapper::-webkit-scrollbar {
   display: none; /* Chrome/Safari прячем стандартный */
}

.scroll-wrapper {
   width: 100%;
   overflow: auto; /* обязательно */
   white-space: nowrap; /* чтобы элементы в ряд */
}

.scroll-content {
   display: inline-flex; /* для горизонтального скролла */
}
.os-theme-dark {
   --os-size: 12px; /* толщина скролла */
   --os-handle-bg: #fff; /* цвет ползунка */
   --os-handle-bg-hover: #fff; /* при наведении */
   --os-handle-bg-active: #fff;
   --os-track-bg: #404040; /* фон трека */
   --os-track-bg-hover: #404040;
   --os-track-bg-active: #404040;
}
/* кастомный горизонтальный скролл */
.custom-scrollbar-x {
   position: absolute;
   bottom: 2px;
   left: 0;
   height: 6px;
   background: white;
   border-radius: 6px;
   opacity: 0.7;
   transition: opacity 0.3s;
}
.video__list-wrapper:hover .custom-scrollbar-x {
   opacity: 1;
}
.video__list-wrapper:hover .custom-scrollbar {
   opacity: 1;
}
.footer {
   position: relative;
   padding-bottom: 90px;
}
.footer__container {
}
.footer__content {
   position: relative;
   z-index: 4;
}
.footer__wrapper {
}
.footer__title {
   text-align: center;
   font-size: 54px;
   font-weight: 700;
   line-height: 66px;
   letter-spacing: -0.12rem;
}
.footer__title span {
   font-size: 54px;
   line-height: 66px;
   letter-spacing: -0.12rem;
}

.footer__subtitle {
   margin-top: 24px;
   text-align: center;
}

.footer__socs {
   margin-top: 90px;
   display: flex;
   flex-direction: row;
   align-items: center;
   justify-content: center;
   gap: 36px;
}
.footer__soc {
   position: relative;
}
.footer__bg {
   position: absolute;
   bottom: 0;
   z-index: 1;
   left: 50%;
   transform: translateX(-50%);
   width: 100%;
   overflow: hidden;
}
.footer__soc-overlay {
   position: absolute;
   inset: 0;
}

.products__img-q object {
   transition: opacity 0.5s ease-in-out;
   opacity: 1;
}
.products__img-q object.fade-out {
   opacity: 0;
}
.products__img-q {
   width: 220px;
   height: 220px;
}
.video__pr-play .video__overlay {
   position: absolute;
   inset: 0;
}
.main-banner__block-bg object {
   position: relative;
   width: 1440px;
   overflow: hidden;
   left: 50%;
   transform: translateX(-50%);
}
.main-banner__block-bg svg,
.main-banner__block-bg img {
   position: absolute;
   top: 50%;
   left: 50%;
   transform: translate(-50%, -50%);
   min-width: 100%;
   min-height: 100%;
   object-fit: cover;
}
@media (max-width: 1250px) {
   .main-banner__bottom {
      padding: 0;
   }
   .products__item:nth-child(n + 5) {
      display: none;
   }
   .santa__img-pc {
      width: 1000px;
   }
   .santa__img-pc svg {
      width: 100%;
      height: 100%;
      object-fit: contain;
   }
   .santa__img-pc object {
      width: 100%;
      height: 100%;
      object-fit: contain;
   }
   .santa {
      height: 400px;
   }
}
@media (max-width: 1160px) {
   .main-banner__bottom {
      flex-direction: column;
   }
   .main-banner__title {
      padding: 240px 0 50px 0;
   }
   .main-banner__text-1 {
      text-align: center;
      max-width: 370px;
      margin: 0 auto;
   }
   .main-banner__text-2 {
      margin: 18px 0;
      text-align: center;
      text-transform: uppercase;
      word-spacing: 14px;
      max-width: 550px;
   }
   .main-banner__text-3 {
      text-align: center;
   }
   .main-banner__text-2 span {
      display: none;
   }
}
@media (max-width: 1100px) {
   .santa__img-pc {
      width: 800px;
   }
   .santa__title {
      margin-bottom: 24px;
      margin-top: 10px;
   }
   .santa {
      height: 320px;
   }
}
@media (max-width: 1015px) {
   .santa__img-pc {
      width: 650px;
   }
}
@media (max-width: 964px) {
   .products__item:nth-child(n + 4) {
      display: none;
   }
   .santa__left {
      display: none;
   }
   .santa__content {
      flex-direction: column;
      align-items: center;
   }
   .santa__img-m {
      display: block;
   }
   .santa__img-m {
      display: flex;
      flex-direction: row;
      justify-content: center;
      margin: 36px 0;
   }
   .santa {
      height: auto;
   }
   .santa__title {
      text-align: center;
   }
   .santa__text-list .santa__item {
      text-align: center;
   }
}
.footer__bg {
}
.footer__bg object {
   position: relative;
   width: 1440px;
   overflow: hidden;
   left: 50%;
   transform: translateX(-50%);
}
.footer__bg svg,
.footer__bg img {
   position: absolute;
   top: 50%;
   left: 50%;
   transform: translate(-50%, -50%);
   min-width: 100%;
   min-height: 100%;
   object-fit: cover;
}
.footer__bg {
   overflow: hidden;
}
@media (max-width: 768px) {
   .products__list-mobi {
      display: flex;
   }
   .products__list-desctop {
      display: none;
   }
   .main-banner__text-3 {
      max-width: 300px;
   }
   .gold__text {
      max-width: 350px;
      margin: 18px auto 0 auto;
   }
   .footer__subtitle {
      max-width: 330px;
      margin: 18px auto 0 auto;
   }
   .video__subtitle {
      max-width: 330px;
      margin: 0px auto 60px auto;
   }
   .gold__subtitle {
      max-width: 330px;
      margin: 18px auto 0px auto;
   }
   .products__subtitle {
      max-width: 330px;
      margin: 18px auto 0px auto;
   }
   .footer__title {
      text-align: center;
      font-size: 42px;
      font-weight: 700;
      line-height: 42px;
      letter-spacing: -0.12rem;
   }
   .footer__title span {
      font-size: 42px;
      line-height: 42px;
   }
   .header__list {
      display: none;
   }
   .header__content {
      justify-content: center;
      padding: 30px 0;
   }
   .header__logo object {
      width: 73px;
      display: block;
   }

   .header__logo img,
   .header__logo svg {
      width: 73px;
      height: auto;
      display: block;
   }
   .products__item:nth-child(n + 2) {
      display: none;
   }
   .products__item img {
      width: 240px;
      height: 240px;
      object-fit: cover;
   }
   .products__list {
      margin-top: 36px;
      justify-content: center;
   }
   .main-banner__title {
      padding: 150px 0 18px 0;
   }
   .main-banner__text-2 {
      margin: 18px auto;
      max-width: 300px;
   }
   .main-banner__text-1 {
      max-width: 280px;
   }
   .products {
      margin: 60px 0;
   }
   .products__subtitle {
      margin-top: 18px;
   }
   .products__img-q {
      width: 240px;
      height: 240px;
   }
   .gold__subtitle {
      margin-bottom: 18px;
   }
   .gold__subtitle,
   .gold__text {
      margin-top: 18px;
   }
   .santa__title {
      margin-bottom: 18px;
      margin-top: 0px;
   }
   .santa__text-list {
      gap: 0px;
   }
   .santa__item-2 {
      margin-bottom: 24px;
   }
   .santa {
      margin: 60px 0;
   }
   .video {
      margin: 60px 0;
   }
   .footer__subtitle {
      margin-top: 18px;
   }
   .footer__socs {
      margin-top: 36px;
      gap: 18px;
   }
   .footer__soc object {
      width: 90px;
      height: 90px;
   }
   .footer__soc img {
      width: 100%;
      height: 100%;
      object-fit: contain;
   }
   .footer__soc svg {
      width: 100%;
      height: 100%;
      object-fit: contain;
   }
   .banner__left object {
      width: 100%;
   }
   .banner__left img {
      width: 100%;
      height: 100%;
      object-fit: contain;
   }
   .banner__left svg {
      width: 100%;
      height: 100%;
      object-fit: contain;
   }
   .main-banner__left {
      width: auto;
      min-width: inherit;
   }
   .main-banner__right {
      margin-top: 18px;
   }
   .main-banner__block-bg object {
      position: relative;
      width: 600px;
      overflow: hidden;
      left: 50%;
      transform: translateX(-50%);
   }
   .main-banner__block-bg svg,
   .main-banner__block-bg img {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      min-width: 100%;
      min-height: 100%;
      object-fit: cover;
   }
   .main-banner__block-bg {
      position: absolute;
      top: 0px;
      left: 50%;
      transform: translateX(-50%);
   }
   .gold__img object {
      position: relative;
      min-width: 480px;
      width: 480px;
      overflow: hidden;
      height: 240px;
      min-height: 240px;
      left: 50%;
      transform: translateX(-50%);
   }
   .gold__img svg,
   .gold__img img {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      min-width: 480px;
      width: 480px;
      min-height: 240px;
      height: 240px;
      object-fit: cover;
   }
   .gold__img {
      overflow: hidden;
      width: 100%;
   }

   .footer {
      position: relative;
      padding-bottom: 60px;
   }
}
@media (max-width: 450px) {
   .santa__text-list .santa__item:nth-child(1) {
      margin: 0 auto;
      max-width: 340px;
   }
   .santa__text-list .santa__item:nth-child(3) {
      max-width: 320px;
      margin: 0 auto 24px auto;
   }
}
.frame{
   margin: 90px 0;
}
.frame iframe{
   width: 100%;
   height: 663px;
}
@media (max-width: 700px) {
   .frame iframe{
      width: 100%;
      height: 350px;
   }
   .frame{
      margin: 60px 0;
   }
}
.buy{
   margin-bottom: 90px;
}
.buy__list{
   display: flex;
   flex-direction: column;
   gap:36px;
}
.buy__item{

}
.buy__title{
   text-align: center;
   margin-bottom: 60px;
}
.buy__item-title{
   font-weight: 500;
   font-size: 30px;
   line-height: 36px;
   letter-spacing: -0.02em;
   color: #FFFFFF;
   margin-bottom: 18px;
}
.buy__item-list{
display: flex;
   flex-direction: row;
   flex-wrap: wrap;
   gap:18px;
}
.buy__item-list-item{
   font-weight: 300;
   font-size: 17px;
   line-height: 20px;
   letter-spacing: -0.02em;
   color: #FFFFFF;
}