@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap");
* {
  padding: 0;
  margin: 0;
  font-family: Inter;
  scroll-margin-top: 10vh;
  cursor: inherit;
}

a {
  text-decoration: none;
  cursor: pointer;
}
a > * {
  cursor: pointer;
}

img {
  pointer-events: none !important;
  user-select: none !important;
}

body, html {
  background: #F3F3F7;
  overflow-x: hidden;
}

html {
  scroll-behavior: smooth;
  scrollbar-gutter: stable;
}

body {
  width: 100vw;
  display: flex;
  justify-content: center;
  flex-direction: column;
  gap: 20vh;
  align-items: center;
  cursor: default;
}

body::-webkit-scrollbar {
  width: 0;
}

body::-webkit-scrollbar-track {
  background-color: black;
}

body::-webkit-scrollbar-thumb {
  background-color: #ef263e;
  border-radius: 25px;
  cursor: grab;
}
body::-webkit-scrollbar-thumb:active {
  cursor: grabbing;
}

.main-root::-webkit-scrollbar-track {
  background-color: #020306 !important;
}

.button {
  user-select: none;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px 16px;
  border-radius: 8px;
  gap: 10px;
  font: 500 16px/1.6 "Inter", sans-serif;
  font-weight: 550;
}

.grey_btn {
  background: linear-gradient(180deg, #282834 20%, #12121A 80%);
  border-top: 1px solid #363644;
  text-shadow: 0 1.6px 5.25px rgba(0, 0, 0, 0.6392156863);
  color: #FDFDFD;
}

.red_btn {
  background: linear-gradient(180deg, #FF6D7E 20%, #E53D51 80%);
  border-top: 1px solid #FF8F9C;
  color: #06080D;
}

.logo > svg {
  cursor: pointer;
}

header.mobile {
  display: none !important;
}

.navmenu {
  transition: all 0.3s ease;
  pointer-events: none;
  user-select: none;
  opacity: 0;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 999;
  overflow: hidden !important;
  background-color: #06080D;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  height: 100vh;
  width: 100vw;
}
.navmenu .content {
  margin-bottom: auto;
  margin-top: 15vh;
  width: 75%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 56px;
}
.navmenu .content .navbar {
  display: flex;
  flex-direction: column;
  gap: 40px;
  align-items: center;
  justify-content: center;
}
.navmenu .content .navbar .navitem {
  font: 500 16px/1.6 "Inter", sans-serif;
  color: rgba(253, 253, 253, 0.64);
}
.navmenu .content .buttons {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.navmenu .content .buttons .button {
  box-sizing: border-box;
  transition: all 0.3s ease;
  width: 100%;
}
.navmenu .content .buttons .button:hover {
  filter: brightness(0.85);
  transform: translateY(10%);
}
.navmenu .navheader {
  min-width: 334.5px !important;
  display: flex;
  flex-direction: row;
  width: 75%;
  height: 10vh;
  margin-top: 0.5vh;
  align-items: center;
  justify-content: space-between;
}
.navmenu .navheader .navbtn {
  color: #FDFDFD;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.main-root {
  height: fit-content;
  width: 100%;
  background: #020306;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  border-radius: 0 0 24px 24px;
}
.main-root .section-content {
  width: 75%;
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 0;
}
.main-root .section-content header.desktop, .main-root .section-content header.mobile {
  display: flex;
  flex-direction: row;
  width: 100%;
  height: 10vh;
  margin-top: 0.5vh;
  align-items: center;
  justify-content: space-between;
}
.main-root .section-content header.desktop .content, .main-root .section-content header.mobile .content {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 56px;
}
.main-root .section-content header.desktop .content .navbar-desktop, .main-root .section-content header.mobile .content .navbar-desktop {
  display: flex;
  flex-direction: row;
  gap: 40px;
  align-items: center;
  justify-content: center;
}
.main-root .section-content header.desktop .content .navbar-desktop .navitem, .main-root .section-content header.mobile .content .navbar-desktop .navitem {
  font: 500 16px/1.6 "Inter", sans-serif;
  color: rgba(253, 253, 253, 0.64);
}
.main-root .section-content header.desktop .buttons, .main-root .section-content header.mobile .buttons {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.main-root .section-content header.desktop .buttons .button, .main-root .section-content header.mobile .buttons .button {
  transition: all 0.3s ease;
}
.main-root .section-content header.desktop .buttons .button:hover, .main-root .section-content header.mobile .buttons .button:hover {
  filter: brightness(0.85);
  transform: translateY(10%);
}
.main-root section.main {
  position: relative;
  margin-top: 5vh;
  display: flex;
  flex-direction: column;
  width: 70%;
  align-items: center;
  justify-content: center;
}
.main-root section.main img {
  width: 781px;
  height: 393px;
  z-index: 1;
  margin-bottom: -10%;
}
.main-root section.main .offer {
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  width: 100%;
  gap: 28px;
  margin-bottom: 20vh;
}
.main-root section.main .offer .text {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.main-root section.main .offer .text .title {
  font: 600 64px/1.05 "Inter", sans-serif;
  color: #FDFDFD;
  letter-spacing: -6%;
}
.main-root section.main .offer .text .description {
  font: 500 16px/1.6 "Inter", sans-serif;
  color: rgba(253, 253, 253, 0.48);
  letter-spacing: -6%;
}
.main-root section.main .offer .content {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 40px;
}
.main-root section.main .offer .content .data_block {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  font: 500 16px/1.6 "Inter", sans-serif;
  gap: 8px;
  color: #FDFDFD;
  letter-spacing: -6%;
}

.about {
  width: 75%;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  justify-content: space-between;
}
.about .offer {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  width: 53%;
  gap: 40px;
}
.about .offer .text {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 20px;
}
.about .offer .text .title {
  font: 500 40px/1.15 "Inter", sans-serif;
  color: #06080D;
  letter-spacing: -6%;
}
.about .offer .text .description {
  font: 500 16px/1.7 "Inter", sans-serif;
  color: rgba(18, 18, 26, 0.48);
  letter-spacing: -6%;
}
.about .offer .text .link {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 6px;
  color: #E53D51;
  text-decoration: underline;
}
.about .offer .content {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  user-select: none;
  pointer-events: none;
  gap: 28px;
}
.about .cards {
  width: 45%;
  display: flex;
  flex-direction: row;
  align-items: stretch;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 8px;
}
.about .cards .card {
  box-sizing: border-box;
  flex-grow: 1;
  flex-basis: calc(50% - 8px);
  min-width: 185px;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 20px 16px;
  border-radius: 10px;
  border: 2px dashed rgba(18, 18, 26, 0.28);
  background: transparent;
  transition: all 0.5s ease-in-out;
}
.about .cards .card .card-title {
  font: 600 40px/1.6 "Inter", sans-serif;
  letter-spacing: -4%;
  color: #06080D;
}
.about .cards .card .card-description {
  font: 500 15px/1.5 "Inter", sans-serif;
  letter-spacing: -6%;
  color: rgba(18, 18, 26, 0.64);
}
.about .cards .card .card-description .light-grey {
  color: rgba(18, 18, 26, 0.48);
}
.about .cards .card:hover {
  transition: all 0.2s ease-in-out;
  border: 2px dashed rgba(255, 255, 255, 0.28);
  background: #fff;
  box-shadow: 0px 16px 32px -3.2px rgba(101, 101, 134, 0.12), 0px 12px 24px -14px rgba(101, 101, 134, 0.48), 0px 40px 56px -20px rgba(101, 101, 134, 0.4), 0px 6px 6.4px -6px rgba(101, 101, 134, 0.4);
}

.advantages-root {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 75%;
  gap: 16px;
}
.advantages-root .advantages {
  box-sizing: border-box;
  padding: 56px 56px 0 56px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-color: #fff;
  border-radius: 24px;
  box-shadow: 0px 40px 64px -45px rgba(101, 101, 134, 0.24), 0px 16px 32px -24px rgba(101, 101, 134, 0.24);
  width: 100%;
}
.advantages-root .advantages .title {
  width: 70%;
  font: 435 32px/1.35 "Inter", sans-serif;
  letter-spacing: -6%;
  color: #06080D;
}
.advantages-root .advantages .title span.red {
  color: rgb(229, 61, 81);
}
.advantages-root .advantages img {
  width: 100%;
}
.advantages-root .advantages-cards {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  justify-content: space-between;
  gap: 16.5px;
  flex-wrap: wrap;
}
.advantages-root .advantages-cards .card {
  user-select: none;
  cursor: pointer;
  position: relative;
  transition: background 0.5s ease-in-out, box-shadow 0.5s ease-in-out, transform 0.4s ease-in-out;
  box-sizing: border-box;
  flex-grow: 1;
  flex-basis: calc(33.33% - 16.5px);
  display: flex;
  min-width: 250px;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  padding: 20px 24px 20px 20px;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 20px 32px -20px rgba(101, 101, 134, 0.24), 0 8px 16px -12px rgba(101, 101, 134, 0.24);
  gap: 24px;
}
.advantages-root .advantages-cards .card svg {
  z-index: 2;
  transition: color 0.3s ease-in-out;
  color: rgb(229, 61, 81);
}
.advantages-root .advantages-cards .card .text {
  transition: color 0.4s ease-in-out;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 12px;
}
.advantages-root .advantages-cards .card .text .description {
  text-shadow: 0 2px 7.2px rgba(84, 2, 12, 0), 0 2px 12px rgba(84, 2, 12, 0);
}
.advantages-root .advantages-cards .card .text .title {
  z-index: 2;
  transition: color 0.4s ease-in-out, text-shadow 0.4s ease-in-out;
  font: 550 16px/1.6 "Inter", sans-serif;
  color: #06080D;
  letter-spacing: -6%;
}
.advantages-root .advantages-cards .card .text .description {
  z-index: 2;
  transition: color 0.4s ease-in-out, text-shadow 0.4s ease-in-out;
  font: 500 14px/1.6 "Inter", sans-serif;
  color: rgba(18, 18, 26, 0.48);
}
.advantages-root .advantages-cards .card:hover {
  background: rgb(229, 61, 81);
  box-shadow: 0 30px 50px -20px rgba(229, 61, 81, 0.4), 0 12px 24px -16px rgba(229, 61, 81, 0.4);
}
.advantages-root .advantages-cards .card:hover::before {
  opacity: 1;
}
.advantages-root .advantages-cards .card:hover svg {
  color: rgba(255, 255, 255, 0.72);
}
.advantages-root .advantages-cards .card:hover .text .title, .advantages-root .advantages-cards .card:hover .text .description {
  z-index: 2;
  color: rgba(255, 255, 255, 0.4);
  text-shadow: 0 2px 7.2px rgba(84, 2, 12, 0.96), 0 2px 12px rgba(84, 2, 12, 0.48);
}
.advantages-root .advantages-cards .card::before {
  z-index: 1;
  transition: opacity 0.5s ease-out;
  border-radius: 12px;
  opacity: 0;
  pointer-events: none;
  user-select: none;
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background-image: url("../images/hover_light_effect.svg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.services {
  width: 75%;
  display: flex;
  flex-direction: column;
  gap: 40px;
  align-items: center;
  justify-content: center;
}
.services .text {
  align-self: flex-start;
  width: 62%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 20px;
}
.services .text .title {
  font: 500 40px/1.15 "Inter", sans-serif;
  color: #06080D;
  letter-spacing: -6%;
}
.services .text .description {
  font: 500 15px/1.7 "Inter", sans-serif;
  color: rgba(18, 18, 26, 0.48);
  letter-spacing: -6%;
}
.services .cards {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: space-between;
  width: 100%;
  gap: 16.5px;
}
.services .cards .card {
  cursor: pointer;
  transition: all 0.5s ease-in-out;
  box-sizing: border-box;
  flex: 1 1 calc(33.33% - 16.5px);
  min-width: 250px;
  max-width: 100%;
  background: rgba(255, 255, 255, 0);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  border: 2px dashed rgba(18, 18, 26, 0.28);
  border-radius: 10px;
  padding: 16px;
  gap: 24px;
}
.services .cards .card svg {
  transition: all 0.5s ease-in-out;
  color: #06080D;
}
.services .cards .card .text {
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 100%;
  align-items: flex-start;
  justify-content: center;
}
.services .cards .card .text .title {
  font: 550 16px/1.6 "Inter", sans-serif;
  color: #06080D;
  letter-spacing: -6%;
}
.services .cards .card .text .description {
  font: 500 14px/1.6 "Inter", sans-serif;
  color: rgba(18, 18, 26, 0.48);
  letter-spacing: -6%;
}
.services .cards .card:hover {
  transition: all 0.2s ease-in-out;
  border: 2px dashed rgba(18, 18, 26, 0);
  background: white;
  box-shadow: 0px 16px 32px -3.2px rgba(101, 101, 134, 0.12), 0px 12px 24px -14px rgba(101, 101, 134, 0.48), 0px 40px 56px -20px rgba(101, 101, 134, 0.4), 0px 6px 6.4px -6px rgba(101, 101, 134, 0.4);
}
.services .cards .card:hover svg {
  color: rgb(229, 61, 81);
  transition: all 0.2s ease-in-out;
}

footer {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  width: 75%;
  margin-bottom: 0.5vh;
  height: 10vh;
}
footer .privacy-terms {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 40px;
}
footer .privacy-terms a {
  color: rgba(18, 18, 26, 0.48);
  font: 500 16px/1.6 "Inter", sans-serif;
}
footer .rights {
  color: #06080D;
  font: 500 16px/1.6 "Inter", sans-serif;
}

@media (max-width: 1200px) {
  header.desktop {
    display: none !important;
  }
  header.mobile {
    display: flex !important;
  }
  section.main {
    width: 90% !important;
  }
  .about {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 40px;
  }
  .about .offer, .about .cards {
    width: 100%;
  }
  .about .offer .content {
    width: 100%;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
  }
  .about .cards {
    justify-content: center;
  }
  .services .text {
    width: 80% !important;
  }
}
@media (max-width: 900px) {
  .section-content, .about, .services, .advantages-root {
    width: 85% !important;
  }
  section.main {
    width: 100% !important;
  }
  .advantages .title {
    width: 100% !important;
  }
  .services .text {
    width: 100% !important;
  }
  footer .privacy-terms {
    gap: 16px !important;
  }
}
@media (max-width: 768px) {
  footer .privacy-terms {
    display: none !important;
  }
  section.main img {
    width: 100vw !important;
    height: auto !important;
  }
}
@media (max-width: 576px) {
  .main .offer {
    gap: 50px !important;
  }
  .main .offer .text .title {
    font-size: 40px !important;
  }
  .main .offer .content {
    width: 100% !important;
    flex-direction: column-reverse !important;
    align-self: center;
    justify-self: center;
    gap: 20px !important;
    align-items: flex-start !important;
    justify-content: center !important;
  }
  .advantages {
    padding: 18px !important;
  }
  .advantages .title {
    font-size: 22px !important;
  }
  header.mobile .buttons .button {
    display: none !important;
  }
  footer {
    width: 90% !important;
  }
  .about .text .title, .services .text .title {
    font-size: 26px !important;
  }
}
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes logoIntro {
  from {
    transform: rotate(-5deg) scale(0.9);
    opacity: 0;
  }
  to {
    transform: rotate(0) scale(1);
    opacity: 1;
  }
}
@keyframes navLinkHover {
  from {
    transform: scaleX(0);
  }
  to {
    transform: scaleX(1);
  }
}
/* Изначальная прозрачность для всех анимируемых элементов */
.main-root,
.about,
.advantages-root,
.services,
footer,
header.desktop .logo object,
header.mobile .logo object {
  opacity: 0;
}

/* Анимации при появлении */
.main-root.animate-in {
  animation: fadeInUp 0.8s cubic-bezier(0.23, 1, 0.32, 1) forwards;
}

.about.animate-in {
  animation: fadeInUp 0.8s cubic-bezier(0.23, 1, 0.32, 1) forwards;
  animation-delay: 0.2s;
}

.advantages-root.animate-in {
  animation: fadeInUp 0.8s cubic-bezier(0.23, 1, 0.32, 1) forwards;
  animation-delay: 0.4s;
}

.services.animate-in {
  animation: fadeInUp 0.8s cubic-bezier(0.23, 1, 0.32, 1) forwards;
  animation-delay: 0.6s;
}

footer.animate-in {
  animation: fadeInUp 0.8s cubic-bezier(0.23, 1, 0.32, 1) forwards;
  animation-delay: 0.8s;
}

header.desktop .logo object.animate-in,
header.mobile .logo object.animate-in {
  animation: logoIntro 0.8s cubic-bezier(0.68, -0.55, 0.265, 1.55) forwards;
}

/* Остальные стили без изменений */
header.desktop .navitem,
header.mobile .navitem {
  position: relative;
  transition: color 0.3s ease;
}
header.desktop .navitem::after,
header.mobile .navitem::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 2px;
  bottom: -4px;
  left: 0;
  background: rgb(229, 61, 81);
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 0.3s ease;
}
header.desktop .navitem:hover::after,
header.mobile .navitem:hover::after {
  transform: scaleX(1);
  transform-origin: left;
}

.card {
  transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 0.3s ease !important;
  transform-origin: center;
  will-change: transform, box-shadow;
}
.card:hover {
  transform: translateY(-5px) scale(1.02);
  z-index: 2;
}

.data_block svg {
  transition: transform 0.4s ease;
  will-change: transform;
}
.data_block:hover svg {
  transform: rotate(15deg) scale(1.1);
}

.services .card svg {
  transition: all 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}
.services .card svg:hover {
  transform: rotate(12deg) scale(1.15);
}

img {
  transition: opacity 1s ease, transform 1s ease !important;
  opacity: 1;
}

.button {
  transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
  will-change: transform;
}
.button:hover {
  transform: translateY(-2px) scale(1.05);
  box-shadow: 0 8px 20px rgba(229, 61, 81, 0.3);
}

[class*=_btn] {
  position: relative;
  overflow: hidden;
}
[class*=_btn]::after {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
  transition: left 0.6s;
}
[class*=_btn]:hover::after {
  left: 100%;
}

@media (max-width: 768px) {
  .card:hover {
    transform: none !important;
  }
  .button:hover {
    transform: none !important;
  }
}

/*# sourceMappingURL=style.css.map */
