html {
  scroll-behavior: smooth;
  font-size: 16px;
}
@media (min-width: 999px) and (max-width: 1680px) {
  html {
    font-size: 0.9523809524vw;
  }
}

body {
  margin: 0;
  padding: 0;
  font-family: Inter, sans-serif;
  font-size: 16px;
  line-height: 1.3;
  font-weight: 400;
  color: #575757;
  background: #ffffff;
  font-variant-numeric: lining-nums;
}
@media (min-width: 999px) and (max-width: 1680px) {
  body {
    font-size: 0.9523809524vw;
  }
}

.icon {
  flex-shrink: 0;
  -webkit-mask-position: center;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  transition: background-color .2s ease-in-out;
}
.icon-arrow-link {
  -webkit-mask-image: url("/images/icons/arrow-link.svg");
}
.icon-arrow-left-long {
  -webkit-mask-image: url("/images/icons/arrow-left-long.svg");
}
.icon-arrow-right-long {
  -webkit-mask-image: url("/images/icons/arrow-right-long.svg");
}
.icon-phone {
  -webkit-mask-image: url("/images/icons/phone.svg");
}
.icon-mail {
  -webkit-mask-image: url("/images/icons/mail.svg");
}
.icon-home {
  -webkit-mask-image: url("/images/icons/home.svg");
}
.icon-close {
  -webkit-mask-image: url("/images/icons/close.svg");
}
.icon-arrow-right-down {
  -webkit-mask-image: url("/images/icons/arrow-right-down.svg");
}

*, :before, :after {
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
}

a {
  text-decoration: none;
  color: inherit;
  transition: color .2s ease-in-out;
  cursor: pointer;
}

input, button, textarea {
  padding: 0;
  width: initial;
  font-family: Inter, sans-serif;
  font-size: initial;
  font-weight: 400;
  color: #000000;
  background: transparent;
  border: none;
  outline: none;
}
input::placeholder, button::placeholder, textarea::placeholder {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  color: #c4c4c4;
}
input:hover, input:focus, button:hover, button:focus, textarea:hover, textarea:focus {
  transition: all .2s ease-in-out;
}
input:disabled, button:disabled, textarea:disabled {
  pointer-events: none;
}

textarea {
  resize: none;
}

input {
  font-family: Inter, sans-serif;
  outline: none;
}
input::-webkit-outer-spin-button, input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
input[type='number'] {
  -moz-appearance: textfield;
}
input::-webkit-datetime-edit {
  color: #a3afbc;
}
input::-webkit-calendar-picker-indicator {
  filter: opacity(0.3);
}

[data-modal]:not(.button) {
  cursor: pointer;
}

table {
  width: 100%;
  border-collapse: collapse;
}

.hidden {
  display: none !important;
}

.overflow-hidden {
  overflow: hidden;
}

img {
  max-width: 100%;
}

.container {
  margin-left: auto;
  margin-right: auto;
  padding-left: 5rem;
  padding-right: 5rem;
  width: 100%;
  max-width: 105rem;
}
@media (max-width: 1200px) {
  .container {
    padding-left: 2.25rem;
    padding-right: 2.25rem;
  }
}
@media (max-width: 767px) {
  .container {
    padding-left: 16px;
    padding-right: 16px;
  }
}

h1, h2, h3, h4 {
  margin: 0;
  font-family: Raleway, sans-serif;
}

h1, .h1 {
  font-size: 5rem;
  line-height: 1.2;
  font-weight: 700;
}
@media (max-width: 999px) {
  h1, .h1 {
    font-size: 52px;
    line-height: 1.15;
  }
}
@media (max-width: 767px) {
  h1, .h1 {
    font-size: 32px;
  }
}

h2, .h2 {
  font-size: 3.625rem;
  line-height: 1.15;
  font-weight: 700;
}
@media (max-width: 999px) {
  h2, .h2 {
    font-size: 44px;
  }
}
@media (max-width: 767px) {
  h2, .h2 {
    font-size: 32px;
  }
}

h3, .h3 {
  font-size: 2.25rem;
  line-height: 1.3;
  font-weight: 700;
}
@media (max-width: 999px) {
  h3, .h3 {
    font-size: 28px;
  }
}
@media (max-width: 767px) {
  h3, .h3 {
    font-size: 22px;
  }
}

h4, .h4 {
  font-size: 1.875rem;
  line-height: 1.3;
  font-weight: 600;
}
@media (max-width: 999px) {
  h4, .h4 {
    font-size: 24px;
  }
}
@media (max-width: 767px) {
  h4, .h4 {
    font-size: 18px;
  }
}

h5, .h5 {
  margin: 0;
  font-size: 1.5rem;
  line-height: 1.35;
  font-weight: 400;
}

.mt-a {
  margin-top: auto !important;
}

.mb-a {
  margin-bottom: auto !important;
}

.d-none {
  display: none !important;
}

@media (min-width: 999px) {
  .ld-none {
    display: none !important;
  }
}

@media (max-width: 999px) {
  .md-none {
    display: none !important;
  }
}

@media (max-width: 767px) {
  .sm-none {
    display: none !important;
  }
}

@media (max-width: 767px) {
  .sm-block {
    display: block !important;
  }
}

.link {
  color: #575757;
  transition: color .2s ease-in-out;
}
.link:hover {
  color: #71ad56;
}
.link:active, .link:focus {
  color: #5c9841;
}

.color-green {
  color: #71ad56;
}

.color-gray-l {
  color: #f5f5f5;
}

.link-icon {
  display: flex;
  gap: 1.5rem;
  font-weight: 600;
}
.link-icon-icon {
  width: 1.75rem;
  height: 1.75rem;
  flex-shrink: 0;
  transform: translateY(0.3125rem);
}
.link-icon-icon img {
  width: 100%;
  height: 100%;
}
.link-icon-text {
  display: flex;
  gap: 1.5rem;
  flex-wrap: wrap;
  color: #71ad56;
}
.link-icon-text a {
  color: #71ad56;
  transition: color .2s ease-in-out;
}
.link-icon-text a:hover {
  color: #575757;
}
.link-icon-text a:active, .link-icon-text a:focus {
  color: #5c9841;
}
.link-icon_large {
  font-size: 2.25rem;
  font-weight: 700;
}
.link-icon_large .link-icon-icon {
  width: 2.25rem;
  height: 2.25rem;
  transform: translateY(0.5rem);
}
.link-icon_gray .link-icon-text a {
  color: #575757;
}
.link-icon_gray .link-icon-text a:hover {
  color: #71AD56;
}
.link-icon_gray .link-icon-text a:active, .link-icon_gray .link-icon-text a:focus {
  color: #5C9841;
}
@media (max-width: 999px) {
  .link-icon {
    gap: 22px;
  }
  .link-icon-icon {
    width: 24px;
    height: 24px;
    transform: translateY(3px);
  }
  .link-icon-text {
    font-size: 22px;
  }
  .link-icon_large {
    font-size: 28px;
  }
  .link-icon_large .link-icon-icon {
    width: 28px;
    height: 28px;
    transform: translateY(2px);
  }
}
@media (max-width: 767px) {
  .link-icon {
    gap: 16px;
  }
  .link-icon-icon {
    width: 20px;
    height: 20px;
  }
  .link-icon-text {
    gap: 12px;
    font-size: 18px;
  }
  .link-icon_large {
    font-size: 22px;
  }
  .link-icon_large .link-icon-icon {
    width: 24px;
    height: 24px;
  }
}

.block-head {
  display: flex;
  gap: 1.25rem;
  justify-content: space-between;
  align-items: center;
}
@media (max-width: 767px) {
  .block-head {
    flex-direction: column;
    gap: 12px;
  }
}

.button {
  padding: 0.625rem 1.5rem;
  font-size: 1rem;
  line-height: 1.35;
  text-align: center;
  color: #000000;
  background: #ffffff;
  border: none;
  border-radius: 3.125rem;
  outline: none;
  box-shadow: none;
  transition: background .2s ease-in-out, color .2s ease-in-out, opacity .2s ease-in-out;
  cursor: pointer;
}
.button-primary {
  color: #ffffff;
  background: #71ad56;
}
@media (hover: hover) and (pointer: fine) {
  .button-primary:hover {
    background: #575757;
  }
  .button-primary:active {
    background: #474242;
  }
}
.button-white {
  color: #71ad56;
  background: #ffffff;
}
@media (hover: hover) and (pointer: fine) {
  .button-white:hover {
    color: #ffffff;
    background: #71ad56;
  }
  .button-white:active {
    background: #5c9841;
  }
}
.button.large {
  padding: 1.25rem 2.5rem;
  font-size: 1.5rem;
}
.button.disabled, .button[disabled] {
  opacity: .7;
  pointer-events: none;
}
@media (max-width: 999px) {
  .button.large {
    padding: 11px 35px;
    font-size: 20px;
    line-height: 1.4;
  }
}
@media (max-width: 767px) {
  .button {
    font-size: 13px;
    padding: 8px 16px;
  }
  .button.large {
    font-size: 16px;
    padding: 12px 24px;
    line-height: 1.4;
  }
}

.input {
  position: relative;
  width: 100%;
}
.input input {
  padding: 1.125rem 2.5rem;
  width: 100%;
  font-size: 1.5rem;
  color: #575757;
  background: #f5f5f5;
  border: 0.0625rem solid #f5f5f5;
  border-radius: 2.75rem;
  outline: none;
  box-shadow: none;
  transition: border-color .2s ease-in-out;
}
.input input::placeholder {
  color: rgba(87, 87, 87, 0.5);
}
.input input:hover {
  border-color: #575757;
}
.input input:active, .input input:focus {
  border-color: #71ad56;
}
.input-white input {
  background: #ffffff;
  border-color: #ffffff;
}
.input .error-text {
  margin-top: 0.625rem;
  display: none;
  font-size: 1rem;
  color: #ce1d1d;
}
.input.error input {
  border-color: #ce1d1d;
}
.input.error .error-text {
  display: block;
}
@media (max-width: 999px) {
  .input input {
    padding: 16px 28px;
    font-size: 18px;
  }
  .input .error-text {
    margin-top: 6px;
    font-size: 14px;
  }
}
@media (max-width: 767px) {
  .input input {
    font-size: 16px;
  }
  .input .error-text {
    margin-top: 5px;
    font-size: 13px;
  }
}

.block-intro {
  margin-bottom: 1.875rem;
  padding-top: 0;
}
.block-intro__container {
  display: grid;
  grid-template-columns: 1fr .7fr;
  grid-template-rows: repeat(5, 1fr);
  gap: 1.5rem;
}
.block-intro__image {
  padding: 3.25rem;
  height: 100%;
  min-height: 32.875rem;
  display: flex;
  gap: 1.5rem;
  flex-direction: column;
  justify-content: space-between;
  color: #f5f5f5;
  background: url("/images/bg-intro-up.jpg") center/cover no-repeat;
  border-radius: 1.5rem;
  grid-area: 1 / 1 / 5 / 2;
}
.block-intro__image .icon {
  margin-left: auto;
  width: 8.75rem;
  height: 8.75rem;
  background-color: #ffffff;
  animation: introArrow 2s linear infinite;
}
.block-intro__type {
  grid-area: 5 / 1 / 6 / 2;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
}
.block-intro__item {
  padding: 1.5rem 3.125rem;
  color: #575757;
  background: #f5f5f5;
  border-radius: 1.75rem;
}
.block-intro__call {
  grid-area: 1 / 2 / 6 / 3;
  padding: 3.25rem;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  overflow: hidden;
  background: #754d3826 url("/images/bg-intro-call.jpg") center/cover no-repeat;
  border-radius: 1.75rem;
  aspect-ratio: .91 / 1;
}
@media (max-width: 999px) {
  .block-intro {
    margin-bottom: 0;
  }
  .block-intro__container {
    display: flex;
    gap: 16px;
    flex-direction: column;
  }
  .block-intro__image {
    padding: 44px 40px;
  }
  .block-intro__image .icon {
    width: 100px;
    height: 100px;
  }
  .block-intro__call {
    padding: 50px 40px;
    aspect-ratio: 2.11/1;
    background-position: center 41%;
  }
  .block-intro__type {
    gap: 16px;
  }
  .block-intro__item {
    padding: 24px 40px;
  }
}
@media (max-width: 767px) {
  .block-intro-container {
    gap: 12px;
  }
  .block-intro__image {
    padding: 28px;
    min-height: 400px;
  }
  .block-intro__image .icon {
    width: 80px;
    height: 80px;
  }
  .block-intro__call {
    padding: 28px;
    min-height: 230px;
    aspect-ratio: auto;
  }
  .block-intro__type {
    gap: 12px;
  }
  .block-intro__item {
    padding: 12px 20px;
    font-size: 18px;
  }
}

@keyframes introArrow {
  0% {
    transform: translate(-0.625rem, 0.625rem);
  }
  50% {
    transform: translate(0, 0);
  }
  100% {
    transform: translate(-0.625rem, 0.625rem);
  }
}
.block-exit {
  padding: 8.75rem 0;
  text-align: center;
}
.block-exit .h1 {
  margin-bottom: 1rem;
}
.block-exit .h4 {
  margin-bottom: 1rem;
}
.block-exit__text {
  display: flex;
  gap: 10px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  font-size: 1.5rem;
}
.block-exit__gallery {
  margin-top: 1.875rem;
}
.block-exit .swiper-wrapper {
  transition-timing-function: linear !important;
}
.block-exit .swiper-wrapper .swiper-slide {
  display: flex;
  width: auto;
}
.block-exit__card {
  overflow: hidden;
  border-radius: 1rem;
  width: 23.5vw;
}
.block-exit__card img {
  width: 100%;
  height: auto;
  display: block;
}
.block-exit__card.vertical {
  width: 17.5vw;
}
@media (max-width: 999px) {
  .block-exit {
    padding: 120px 0;
  }
  .block-exit__text {
    font-size: 18px;
  }
  .block-exit__gallery {
    margin-top: 40px;
  }
}
@media (max-width: 767px) {
  .block-exit {
    padding: 100px 0;
  }
  .block-exit__card {
    width: 49vw;
  }
  .block-exit__card.vertical {
    width: 36.5vw;
  }
}

.block-direction {
  padding: 6.875rem 0;
  background: #f5f5f5;
}
.block-direction .h2 {
  text-align: center;
}
.block-direction__list {
  margin-top: 3.5rem;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 1.5rem;
}
.block-direction__card {
  position: relative;
  padding: 2.5rem 2rem;
  height: 100%;
  overflow: hidden;
  font-size: 1.5rem;
  background: #ffffff;
  border-radius: 1.75rem;
  transition: color .2s ease-in-out;
}
.block-direction__card > * {
  position: relative;
  z-index: 2;
}
.block-direction__card .h4 {
  margin-bottom: 1rem;
}
.block-direction__card ul {
  margin: 0;
  padding-left: 1rem;
}
.block-direction__card ul li + li {
  margin-top: 0.625rem;
}
.block-direction__card ul li::marker {
  color: #71ad56;
  transition: color .2s ease-in-out;
}
.block-direction__card-bg {
  position: absolute;
  inset: 0;
  z-index: 1;
  opacity: 0;
  transition: opacity .2s ease-in-out;
}
.block-direction__card-bg:before {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(113, 173, 86, 0.3);
}
.block-direction__card-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.block-direction__card:hover {
  color: #ffffff;
}
.block-direction__card:hover ul li::marker {
  color: #ffffff;
}
.block-direction__card:hover .block-direction__card-bg {
  opacity: 1;
}
@media (max-width: 999px) {
  .block-direction {
    padding: 100px 0;
  }
  .block-direction__list {
    grid-template-columns: 1fr 1fr;
    gap: 16px;
  }
  .block-direction__card {
    padding: 32px 28px;
    min-height: 460px;
    font-size: 18px;
    color: #ffffff;
  }
  .block-direction__card .h4 {
    margin-bottom: 12px;
  }
  .block-direction__card ul li + li {
    margin-top: 8px;
  }
  .block-direction__card ul li::marker {
    color: #ffffff;
  }
  .block-direction__card-bg {
    opacity: 1;
  }
}
@media (max-width: 767px) {
  .block-direction {
    padding: 80px 0;
  }
  .block-direction__list {
    margin-top: 28px;
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .block-direction__card {
    min-height: initial;
    font-size: 16px;
  }
  .block-direction__card-bg img {
    object-position: center -60px;
  }
}

.block-trust {
  padding: 10.625rem 0;
}
.block-trust__list {
  margin-top: 2.875rem;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 4.375rem;
  align-items: flex-start;
}
.block-trust__card {
  padding: 2.875rem;
  width: 100%;
  font-family: Raleway, sans-serif;
  font-size: 2.25rem;
  font-weight: 700;
  background: #f5f5f5;
  border: 0.25rem solid #ffffff;
  border-radius: 1.75rem;
  font-variant-numeric: lining-nums;
}
.block-trust__card span {
  font-size: 5rem;
  line-height: 1.2;
}
.block-trust__card span b {
  font-weight: 700;
}
.block-trust__card:nth-child(2n) {
  color: #ffffff;
  background: #71ad56;
}
@media (min-width: 999px) {
  .block-trust__card:nth-child(1) {
    max-width: 30.625rem;
    transform: rotate(-9deg);
    justify-self: flex-end;
    align-self: flex-end;
  }
  .block-trust__card:nth-child(2) {
    max-width: 35rem;
    transform: rotate(9deg);
    justify-self: flex-end;
  }
  .block-trust__card:nth-child(3) {
    max-width: 38.4375rem;
    transform: rotate(8deg);
  }
  .block-trust__card:nth-child(4) {
    max-width: 38.75rem;
    transform: rotate(-7.5deg);
  }
  .block-trust__card:nth-child(5) {
    max-width: 36.875rem;
    transform: rotate(-4deg);
    justify-self: flex-end;
  }
  .block-trust__card:nth-child(6) {
    margin-top: -1.875rem;
    max-width: 30.625rem;
    transform: rotate(2deg);
    justify-self: center;
  }
  .block-trust__card:nth-child(7) {
    margin-top: 1.875rem;
    max-width: 38.75rem;
    transform: rotate(3deg);
  }
  .block-trust__card:nth-child(8) {
    margin-top: -1.875rem;
    max-width: 43.125rem;
    transform: rotate(-4deg);
  }
}
@media (max-width: 999px) {
  .block-trust {
    padding: 120px 0;
  }
  .block-trust__list {
    margin-top: 60px;
    grid-template-columns: 1fr;
    gap: 0;
  }
  .block-trust__card {
    padding: 36px;
    font-size: 28px;
  }
  .block-trust__card span {
    font-size: 52px;
  }
  .block-trust__card:nth-child(1) {
    max-width: 370px;
    transform: rotate(-9deg);
  }
  .block-trust__card:nth-child(2) {
    margin-top: -90px;
    margin-right: 14px;
    max-width: 332px;
    transform: rotate(9deg);
  }
  .block-trust__card:nth-child(3) {
    margin-top: -70px;
    max-width: 366px;
    transform: rotate(-2deg);
  }
  .block-trust__card:nth-child(4) {
    margin-top: -90px;
    max-width: 367px;
    transform: rotate(-7.5deg);
  }
  .block-trust__card:nth-child(5) {
    margin-top: -5px;
    max-width: 460px;
    transform: rotate(7deg);
  }
  .block-trust__card:nth-child(6) {
    margin-top: -50px;
    max-width: 410px;
    transform: rotate(2deg);
  }
  .block-trust__card:nth-child(7) {
    margin-top: -35px;
    max-width: 480px;
    transform: rotate(3deg);
  }
  .block-trust__card:nth-child(8) {
    max-width: 540px;
    transform: rotate(-4deg);
  }
  .block-trust__card:nth-child(2n) {
    justify-self: flex-end;
  }
}
@media (max-width: 767px) {
  .block-trust {
    padding: 100px 0;
  }
  .block-trust__list {
    margin-top: 26px;
  }
  .block-trust__card {
    padding: 18px;
    font-size: 18px;
    border-width: 2px;
    border-radius: 12px;
  }
  .block-trust__card span {
    font-size: 32px;
  }
  .block-trust__card:nth-child(1) {
    max-width: 195px;
  }
  .block-trust__card:nth-child(2) {
    margin-top: -90px;
    margin-right: 0;
    max-width: 180px;
  }
  .block-trust__card:nth-child(3) {
    margin-top: -5px;
    max-width: 280px;
    transform: rotate(-2deg);
  }
  .block-trust__card:nth-child(4) {
    margin-top: -15px;
    max-width: 235px;
    transform: rotate(-7.5deg);
  }
  .block-trust__card:nth-child(5) {
    margin-top: 0;
    max-width: 310px;
  }
  .block-trust__card:nth-child(6) {
    margin-top: -15px;
    max-width: 215px;
    transform: rotate(-6deg);
  }
  .block-trust__card:nth-child(7) {
    margin-top: -5px;
    max-width: 285px;
    transform: rotate(3deg);
  }
  .block-trust__card:nth-child(8) {
    max-width: 250px;
    transform: rotate(-4deg);
  }
  .block-trust__card:nth-child(2n) {
    justify-self: flex-end;
  }
}

.block-events {
  position: relative;
  padding: 7.5rem 0;
  overflow: hidden;
  background: url("/images/bg-events.jpg") center top/cover no-repeat;
}
.block-events:before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  width: 7.5rem;
  pointer-events: none;
  background: linear-gradient(270deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.2) 25%, rgba(255, 255, 255, 0.8) 50%, rgba(255, 255, 255, 0.2) 75%, rgba(255, 255, 255, 0) 100%);
  animation: eventBlick 5s cubic-bezier(0.7, -0.4, 0.4, 1.4) infinite;
}
.block-events__nav {
  display: flex;
  gap: 1.5rem;
}
.block-events__nav .block-events__prev .icon, .block-events__nav .block-events__next .icon {
  width: 6.4375rem;
  height: 3.25rem;
  background-color: #ffffff;
  cursor: pointer;
}
.block-events__nav .block-events__prev .icon:hover, .block-events__nav .block-events__next .icon:hover {
  background-color: #71ad56;
}
.block-events__list {
  margin-top: 3.75rem;
  overflow: initial;
}
.block-events__list .swiper-slide {
  height: auto;
}
.block-events__card {
  padding: 2.5rem;
  height: 100%;
  font-size: 1.875rem;
  background: #ffffff;
  border-radius: 1.5rem;
}
.block-events__card p {
  margin: 2rem 0 0;
}
@media (max-width: 999px) {
  .block-events {
    padding: 100px 0;
  }
  .block-events__nav {
    gap: 20px;
    display: none;
  }
  .block-events__nav .block-events__prev .icon, .block-events__nav .block-events__next .icon {
    width: 80px;
    height: 40px;
  }
  .block-events__list {
    margin-top: 36px;
  }
  .block-events__list .swiper-slide {
    max-width: 500px;
  }
  .block-events__card {
    padding: 28px;
    font-size: 22px;
  }
  .block-events__card p {
    margin-top: 18px;
  }
}
@media (max-width: 767px) {
  .block-events {
    padding: 80px 0;
  }
  .block-events__nav {
    justify-content: space-between;
  }
  .block-events__nav .block-events__prev .icon, .block-events__nav .block-events__next .icon {
    width: 60px;
    height: 30px;
  }
  .block-events__list {
    margin-top: 28px;
  }
  .block-events__list .swiper-slide {
    max-width: 270px;
  }
  .block-events__card {
    padding: 28px 24px;
    font-size: 18px;
  }
  .block-events__card .h2 {
    font-size: 22px;
  }
}

@keyframes eventBg {
  from {
    background: url("/images/bg-events.jpg") center top/cover no-repeat;
  }
  to {
    background: url("/images/bg-events-2.jpg") center top/cover no-repeat;
  }
}
@keyframes eventBlick {
  0% {
    left: -30%;
  }
  50% {
    left: 100%;
  }
  100% {
    left: 100%;
  }
}
.block-partners {
  padding: 10.625rem 0;
  overflow: hidden;
}
.block-partners__head {
  display: flex;
  justify-content: space-between;
}
.block-partners__nav {
  display: flex;
  gap: 1.5rem;
}
.block-partners__nav .block-partners__prev .icon, .block-partners__nav .block-partners__next .icon {
  width: 6.4375rem;
  height: 3.25rem;
  background-color: #575757;
  cursor: pointer;
}
.block-partners__nav .block-partners__prev .icon:hover, .block-partners__nav .block-partners__next .icon:hover {
  background-color: #71ad56;
}
.block-partners__list {
  margin-top: 3.125rem;
  overflow: initial;
}
.block-partners__list .swiper-slide {
  width: auto;
}
.block-partners__list img {
  height: 5.625rem;
}
@media (max-width: 999px) {
  .block-partners {
    padding: 120px 0;
  }
  .block-partners__nav {
    gap: 20px;
  }
  .block-partners__nav .block-partners__prev .icon, .block-partners__nav .block-partners__next .icon {
    width: 80px;
    height: 40px;
  }
  .block-partners__list img {
    height: 60px;
  }
}
@media (max-width: 767px) {
  .block-partners {
    padding: 100px 0;
  }
  .block-partners__head {
    gap: 12px;
    flex-direction: column;
  }
  .block-partners__nav {
    justify-content: space-between;
  }
  .block-partners__nav .block-partners__prev .icon, .block-partners__nav .block-partners__next .icon {
    width: 60px;
    height: 30px;
  }
  .block-partners__list img {
    height: 40px;
  }
}

.block-slogan {
  padding-bottom: 10.625rem;
}
.block-slogan .h1 {
  text-align: center;
  color: #71ad56;
}
.block-slogan .h1 span {
  color: #575757;
}
@media (max-width: 999px) {
  .block-slogan {
    padding-bottom: 120px;
  }
}
@media (max-width: 767px) {
  .block-slogan {
    padding-bottom: 100px;
  }
}

.block-map {
  padding-top: 6.25rem;
  padding-bottom: 3.75rem;
  background: #71ad56;
}
.block-map .h2 {
  text-align: center;
  color: #ffffff;
}
.block-map__buttons {
  display: none;
}
.block-map__map {
  position: relative;
  margin-top: 2.5rem;
  overflow: hidden;
  user-select: none;
}
.block-map__map svg {
  width: 100%;
  height: 100%;
}
.block-map__map svg:not(.dragging) {
  transition: transform .2s ease-in-out;
}
.block-map__map svg .hover-rect {
  cursor: pointer;
}
@media (max-width: 999px) {
  .block-map {
    padding-bottom: 0;
  }
  .block-map__buttons {
    margin-top: 12px;
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 16px;
  }
  .block-map__map {
    margin-top: 0;
    margin-left: -36px;
    margin-right: -36px;
    height: 750px;
    overflow: hidden;
    touch-action: none;
  }
}
@media (max-width: 767px) {
  .block-map {
    padding-top: 80px;
  }
  .block-map__map {
    height: 540px;
    margin-left: -16px;
    margin-right: -16px;
  }
}

.block-organization {
  padding-top: 10.625rem;
}
.block-organization__inner {
  padding: 4.375rem;
  background: #f5f5f5;
  border-radius: 1.75rem;
}
.block-organization__content {
  margin-top: 3.125rem;
  display: grid;
  grid-template-columns: 1fr .85fr;
  gap: 3.125rem;
  font-family: Raleway, sans-serif;
  font-size: 1.875rem;
  font-weight: 600;
}
.block-organization__contacts {
  display: flex;
  gap: 1.25rem;
  flex-direction: column;
  align-items: flex-start;
}
@media (max-width: 999px) {
  .block-organization {
    padding-top: 120px;
  }
  .block-organization__inner {
    padding: 46px 28px;
  }
  .block-organization__content {
    margin-top: 20px;
    grid-template-columns: 1fr;
    gap: 28px;
    font-size: 22px;
  }
}
@media (max-width: 767px) {
  .block-organization {
    padding-top: 100px;
  }
  .block-organization__inner {
    padding: 32px 24px;
  }
  .block-organization__content {
    font-size: 18px;
  }
}

.block-arrow-link {
  margin: 0.625rem 0 0.625rem auto;
  width: 8.75rem;
  height: 8.75rem;
  background-color: #cccccc;
}
@media (max-width: 999px) {
  .block-arrow-link {
    width: 100px;
    height: 100px;
  }
}
@media (max-width: 767px) {
  .block-arrow-link {
    width: 80px;
    height: 80px;
  }
}

.block-contacts__inner {
  display: grid;
  grid-template-columns: .7fr 1fr;
  gap: 1.5rem;
}
.block-contacts__image {
  overflow: hidden;
  border-radius: 1.75rem;
}
.block-contacts__image img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
}
.block-contacts__content {
  padding: 4.375rem;
  background: #f5f5f5;
  border-radius: 1.75rem;
}
@media (max-width: 999px) {
  .block-contacts__inner {
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    border-radius: 22px;
  }
  .block-contacts__content {
    padding: 32px 24px;
  }
}
@media (max-width: 767px) {
  .block-contacts__inner {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .block-contacts__image {
    border-radius: 22px;
  }
  .block-contacts__content {
    padding: 32px 24px;
  }
}

.form-callback {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
}
.form-callback-group {
  margin-bottom: 2.625rem;
  width: 100%;
  display: flex;
  gap: 1rem;
  flex-direction: column;
}
.form-callback .button {
  width: 100%;
  max-width: 16.875rem;
}
.form-callback-text {
  margin-top: 1rem;
  font-size: 1rem;
}
.form-callback-text span {
  line-height: 1.4;
  text-decoration-line: underline;
  text-decoration-thickness: from-font;
  text-decoration-skip-ink: none;
  text-underline-offset: 25%;
  transition: color .2s ease-in-out;
  cursor: pointer;
}
.form-callback-text span:hover {
  color: #71ad56;
}
@media (max-width: 999px) {
  .form-callback-group {
    margin-bottom: 32px;
    gap: 8px;
  }
  .form-callback .button {
    max-width: 215px;
  }
  .form-callback-text {
    margin-top: 12px;
    font-size: 13px;
  }
}
@media (max-width: 767px) {
  .form-callback-group {
    margin-bottom: 24px;
  }
  .form-callback-text {
    margin-top: 10px;
    font-size: 12px;
  }
}

.page-contacts {
  margin-top: 5.5rem;
}
.page-contacts-inner {
  display: grid;
  grid-template-columns: 1fr .6fr;
  gap: 1.5rem;
}
.page-contacts__image {
  padding: 4.0625rem 4.375rem;
  display: flex;
  gap: 0.75rem;
  flex-direction: column;
  color: #ffffff;
  background: url("/images/contacts-bg.jpg") center/cover no-repeat;
  border-radius: 1.75rem;
}
.page-contacts__content {
  padding: 4.375rem;
  display: flex;
  gap: 1.875rem;
  flex-direction: column;
  background: #f5f5f5;
  border-radius: 1.75rem;
}
.page-contacts-map {
  margin-top: 4.375rem;
  display: flex;
  gap: 1.5rem;
  flex-direction: column;
}
.page-contacts-map__up {
  height: 31.25rem;
  overflow: hidden;
  background: #cccccc;
  border-radius: 1.75rem;
}
.page-contacts-map__up > * {
  width: 100% !important;
  height: 100% !important;
}
.page-contacts-map__bottom {
  display: flex;
  gap: 0.75rem;
  justify-content: space-between;
  align-items: center;
  color: #71ad56;
}
.page-contacts-map__bottom .link-icon {
  font-size: 1.875rem;
}
@media (max-width: 999px) {
  .page-contacts {
    margin-top: 18px;
  }
  .page-contacts-inner {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .page-contacts__image {
    padding: 60px 40px;
    gap: 8px;
  }
  .page-contacts__image br {
    display: none;
  }
  .page-contacts__content {
    padding: 30px 40px;
    gap: 28px;
  }
  .page-contacts-map {
    margin-top: 60px;
  }
  .page-contacts-map__up {
    height: 360px;
  }
  .page-contacts-map__bottom {
    flex-direction: column;
    align-items: flex-start;
  }
  .page-contacts-map__bottom .link-icon {
    gap: 16px;
    font-size: 22px;
  }
  .page-contacts-map__bottom .link-icon-icon {
    width: 20px;
    height: 20px;
  }
}
@media (max-width: 767px) {
  .page-contacts-inner {
    gap: 12px;
  }
  .page-contacts__image {
    padding: 45px 28px;
  }
  .page-contacts__content {
    padding: 30px 28px;
    gap: 20px;
  }
  .page-contacts-map {
    margin-top: 40px;
  }
  .page-contacts-map__bottom .link-icon {
    gap: 12px;
    font-size: 18px;
  }
}

.page-case {
  padding: 5.3125rem 0;
}
.page-case-top {
  margin-top: 5.5rem;
  margin-bottom: 3.75rem;
  padding: 0 !important;
}
.page-case-top-inner {
  position: relative;
  padding: 5rem 4.375rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  overflow: hidden;
  color: #ffffff;
  background: url("/images/bg-case-top.jpg") center/cover no-repeat;
  border-radius: 1.75rem;
}
.page-case-top-inner i {
  width: 5rem;
  height: 5rem;
  background-color: #ffffff;
}
.page-case-top-inner:before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  width: 7.5rem;
  pointer-events: none;
  background: linear-gradient(270deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.2) 25%, rgba(255, 255, 255, 0.8) 50%, rgba(255, 255, 255, 0.2) 75%, rgba(255, 255, 255, 0) 100%);
  animation: eventBlick 5s cubic-bezier(0.7, -0.4, 0.4, 1.4) infinite;
}
.page-case-1-1 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
}
.page-case-1-2 {
  display: grid;
  grid-template-columns: .7fr 1fr;
  gap: 1.5rem;
}
.page-case-2-1 {
  display: grid;
  grid-template-columns: 1fr .7fr;
  gap: 1.5rem;
}
.page-case .case-1 .block-case p {
  max-width: 98%;
}
.page-case .case-2 .block-case p {
  max-width: 92%;
}
.page-case .case-2 .block-case .image {
  margin-top: 0;
  margin-left: 3.75rem;
  margin-bottom: -13.75rem;
  transform: rotate(6deg);
  transform-origin: top;
}
.page-case .case-3 .block-case p {
  max-width: 93%;
}
.page-case .case-3 .block-case .image {
  margin-top: 1.25rem;
  margin-bottom: -8.75rem;
  transform: rotate(-8deg);
}
.page-case .case-4 .block-case p {
  max-width: 80%;
}
.page-case .case-4 .block-case .images {
  margin-bottom: -5.625rem;
  padding: 0;
}
.page-case .case-5 .block-case p {
  max-width: 92%;
}
.page-case .case-5 .block-case .images {
  padding: 0;
}
.page-case .case-5 .block-case .image-1 {
  max-width: 23.75rem;
  transform: rotate(-8deg);
}
.page-case .case-5 .block-case .image-2 {
  max-width: 24.375rem;
  transform: rotate(6deg);
}
.page-case .case-6 .block-case p {
  max-width: 90%;
}
.page-case .case-6 .block-case .images {
  margin-bottom: -8.125rem;
  padding: 0;
}
.page-case .case-6 .block-case .image-2 {
  z-index: 2;
}
.page-case .case-7 .block-case p {
  max-width: 93%;
}
.page-case .case-7 .block-case .image-2 {
  margin-top: -1.875rem;
  transform: rotate(3deg);
}
.page-case .case-8 .block-case p {
  max-width: 95%;
}
.page-case .case-8 .block-case .images {
  margin-top: 1.25rem;
  margin-right: -3.75rem;
  padding: 0;
  shape-outside: polygon(100% 0, 100% 100%, 0 100%, 0 60%, 35% 35%, 40% 0);
}
.page-case .case-8 .block-case .image {
  max-width: 20.375rem;
}
.page-case .case-8 .block-case .image-1 {
  margin-top: 9.0625rem;
  margin-right: -3.125rem;
  background: #f5f5f5;
}
.page-case .case-9 .block-case p {
  max-width: 93%;
}
.page-case .case-9 .block-case .image-2 {
  margin-bottom: -11.25rem;
  transform: rotate(3deg);
}
.page-case .case-10 .block-case p {
  max-width: 93%;
}
.page-case .case-10 .block-case .images {
  margin-right: -7.1875rem;
  margin-left: 0;
}
.page-case .case-10 .block-case .image-1 {
  margin-top: 8.125rem;
  max-width: 22rem;
}
.page-case .case-10 .block-case .image-2 {
  max-width: 23.125rem;
  background: #f5f5f5;
  transform: rotate(5deg);
}
.page-case .case-11 .block-case p {
  max-width: 93%;
}
.page-case .case-11 .block-case .image {
  margin-bottom: -12.1875rem;
  max-width: 31.875rem;
  transform: rotate(-4deg);
}
.page-case .case-12 .block-case p {
  max-width: 95%;
}
.page-case .case-12 .block-case .images {
  margin-bottom: -10rem;
}
.page-case .case-12 .block-case .image-1 {
  max-width: 23.75rem;
  transform: rotate(-4deg) translate(0.625rem, 1.25rem);
}
.page-case .case-12 .block-case .image-2 {
  max-width: 22.5rem;
  background: #f5f5f5;
  transform: rotate(6deg);
}
.page-case .case-13 .block-case p {
  max-width: 92%;
}
.page-case .case-13 .block-case .image {
  margin: 0.625rem -1.25rem -9.375rem 1.25rem;
  width: 100%;
  max-width: 25rem;
  transform: rotate(4deg);
  transform-origin: bottom;
}
.page-case .case-14 .block-case p {
  max-width: 92%;
}
.page-case .case-14 .block-case .images {
  margin-right: -7.5rem;
  margin-bottom: -7.1875rem;
  padding-top: 4.375rem;
  shape-outside: polygon(100% 0, 100% 100%, 0 100%, 0 45%, 40% 40%, 44% 0);
}
.page-case .case-14 .block-case .image-1 {
  margin-top: 7.8125rem;
  max-width: 21.875rem;
}
.page-case .case-14 .block-case .image-2 {
  max-width: 23.125rem;
  background: #f5f5f5;
  transform: rotate(5deg);
}
.page-case .case-15 .block-case p {
  max-width: 90%;
}
.page-case .case-15 .block-case .image {
  margin: 3.125rem -1.25rem -9.375rem 1.25rem;
  max-width: 25rem;
  transform: rotate(4deg);
  transform-origin: bottom;
}
.page-case .case-16 .block-case p {
  max-width: 95%;
}
.page-case .case-16 .block-case .image {
  margin-bottom: -11.5625rem;
  max-width: 27.5rem;
  transform: rotate(4deg);
}
@media (max-width: 999px) {
  .page-case {
    padding: 40px 0;
  }
  .page-case-top {
    margin-top: 18px;
    margin-bottom: 20px;
  }
  .page-case-top-inner {
    padding: 50px 60px;
  }
  .page-case-1-1, .page-case-1-2, .page-case-2-1 {
    display: flex;
    gap: 16px;
    flex-direction: column;
  }
}
@media (max-width: 767px) {
  .page-case-top-inner {
    padding: 32px 28px;
  }
  .page-case-top-inner .icon {
    width: 32px;
    height: 32px;
  }
  .page-case-1-1, .page-case-1-2, .page-case-2-1 {
    gap: 12px;
  }
}
@media (max-width: 999px) {
  .page-case .case-2 .block-case .image {
    margin-left: 30px;
    margin-right: 110px;
    margin-bottom: -100px;
    transform: rotate(-8deg);
  }
  .page-case .case-3 .block-case .image {
    margin: 0 auto -90px;
    float: none;
  }
  .page-case .case-4 .block-case p {
    max-width: 96%;
  }
  .page-case .case-4 .block-case .images {
    margin-top: 40px;
    margin-bottom: -65px;
  }
  .page-case .case-5 .block-case p {
    max-width: 95%;
  }
  .page-case .case-5 .block-case .images {
    margin-bottom: -100px;
  }
  .page-case .case-5 .block-case .image-1 {
    max-width: 280px;
  }
  .page-case .case-5 .block-case .image-2 {
    max-width: 295px;
  }
  .page-case .case-6 .block-case p {
    max-width: 95%;
  }
  .page-case .case-6 .block-case .images {
    margin-top: 50px;
    margin-bottom: -90px;
  }
  .page-case .case-6 .block-case .image-1 {
    background: #f5f5f5;
  }
  .page-case .case-7 .block-case .image-2 {
    margin-top: 10px;
    margin-right: 60px;
    margin-bottom: -110px;
    max-width: 244px;
    transform: rotate(7deg);
  }
  .page-case .case-8 .block-case .images {
    margin: 40px auto -80px;
    justify-content: center;
    float: none;
  }
  .page-case .case-8 .block-case .image {
    margin: 0;
    max-width: 244px;
  }
  .page-case .case-8 .block-case .image-1 {
    margin-top: 20px;
    margin-right: 30px;
  }
  .page-case .case-9 .block-case .image-2 {
    margin: 70px auto -115px;
    float: none;
  }
  .page-case .case-10 .block-case .images {
    margin-right: -45px;
    margin-bottom: -100px;
    shape-outside: polygon(100% 0, 100% 100%, 0 100%, 0 45%, 35% 35%, 44% 0);
  }
  .page-case .case-10 .block-case .image {
    max-width: 244px;
  }
  .page-case .case-10 .block-case .image-1 {
    margin-top: 80px;
    margin-right: -35px;
  }
  .page-case .case-10 .block-case .image-2 {
    background: #f5f5f5;
  }
  .page-case .case-11 .block-case .image {
    margin-top: 80px;
    margin-bottom: -175px;
    max-width: 380px;
  }
  .page-case .case-12 .block-case .images {
    margin-top: 50px;
    margin-bottom: -60px;
  }
  .page-case .case-12 .block-case .image-1 {
    max-width: 283px;
  }
  .page-case .case-12 .block-case .image-2 {
    max-width: 295px;
  }
  .page-case .case-13 .block-case .image {
    margin: 0 0 -75px;
    max-width: 300px;
  }
  .page-case .case-14 .block-case p {
    max-width: 95%;
  }
  .page-case .case-14 .block-case .images {
    margin: 20px 0 -100px;
    padding: 0;
  }
  .page-case .case-14 .block-case .image-1 {
    margin-top: 40px;
    margin-right: -40px;
    max-width: 264px;
  }
  .page-case .case-14 .block-case .image-2 {
    max-width: 275px;
  }
  .page-case .case-15 .block-case p {
    max-width: 95%;
  }
  .page-case .case-15 .block-case .image {
    margin: 10px 0 -80px 20px;
    max-width: 312px;
  }
  .page-case .case-16 .block-case .image {
    margin: 80px auto -80px;
    max-width: 312px;
    float: none;
    transform-origin: initial;
  }
}
@media (max-width: 767px) {
  .page-case .case-1 .block-case .images {
    margin-bottom: -60px;
  }
  .page-case .case-1 .block-case .image-1 {
    margin-top: 10px;
    margin-right: -10px;
    transform: rotate(-6deg);
  }
  .page-case .case-1 .block-case .image-2 {
    transform: rotate(6deg);
  }
  .page-case .case-2 .block-case .image {
    margin-top: 20px;
    margin-right: 0;
    margin-bottom: -50px;
    max-width: 120px;
    transform: rotate(6deg);
  }
  .page-case .case-3 .block-case .image {
    margin: 20px 7% -60px auto;
    max-width: 156px;
    transform: rotate(4deg);
    transform-origin: initial;
  }
  .page-case .case-4 .block-case .images {
    margin-bottom: -20px;
  }
  .page-case .case-5 .block-case .images {
    margin: 30px auto -30px;
    justify-content: center;
    float: none;
  }
  .page-case .case-5 .block-case .image {
    max-width: 140px;
  }
  .page-case .case-5 .block-case .image-1 {
    margin-top: 70px;
    margin-right: -35px;
  }
  .page-case .case-6 .block-case .images {
    margin-top: 0;
    margin-bottom: -20px;
  }
  .page-case .case-7 .block-case .image {
    margin-top: 0;
    margin-right: 0;
    margin-bottom: -67px;
    max-width: 150px;
  }
  .page-case .case-8 .block-case .images {
    margin-bottom: -10px;
  }
  .page-case .case-8 .block-case .image {
    max-width: 122px;
  }
  .page-case .case-8 .block-case .image-1 {
    margin-right: 5px;
  }
  .page-case .case-9 .block-case .image {
    margin-top: 40px;
    margin-right: 0;
    margin-bottom: -30px;
    max-width: 150px;
  }
  .page-case .case-10 .block-case .images {
    margin: 0 auto -35px;
    padding: 0;
    justify-content: center;
    float: none;
  }
  .page-case .case-10 .block-case .image {
    max-width: 135px;
  }
  .page-case .case-10 .block-case .image-1 {
    margin-top: 10px;
    margin-right: -5px;
  }
  .page-case .case-11 .block-case .image {
    margin-top: 60px;
    margin-bottom: -40px;
    max-width: 190px;
  }
  .page-case .case-12 .block-case .images {
    margin-top: 20px;
    margin-bottom: -30px;
  }
  .page-case .case-12 .block-case .image {
    max-width: 145px;
  }
  .page-case .case-12 .block-case .image-1 {
    margin-right: 10px;
  }
  .page-case .case-13 .block-case .image {
    margin-bottom: -50px;
    max-width: 150px;
  }
  .page-case .case-14 .block-case .images {
    margin-top: 60px;
    margin-bottom: -40px;
    justify-content: center;
    float: none;
  }
  .page-case .case-14 .block-case .image {
    max-width: 135px;
  }
  .page-case .case-14 .block-case .image-1 {
    margin-top: 15px;
    margin-right: -10px;
  }
  .page-case .case-15 .block-case .image {
    margin: 20px 0 -50px;
    max-width: 150px;
    transform-origin: top;
  }
  .page-case .case-16 .block-case .image {
    margin-top: 40px;
    margin-right: 5%;
    margin-bottom: -30px;
    max-width: 156px;
    transform-origin: top;
  }
}

.block-case {
  position: relative;
  padding: 3.125rem;
  overflow: hidden;
  font-size: 1.5rem;
  background: #f5f5f5;
  border-radius: 1.75rem;
}
.block-case p {
  margin: 1.25rem 0;
}
.block-case p:first-child {
  margin-top: 0;
}
.block-case p:last-child {
  margin-bottom: 0;
}
.block-case .image {
  position: relative;
  margin-left: 0.625rem;
  padding: 1rem 1rem 4.6875rem;
  width: 100%;
  max-width: 24.375rem;
  min-height: 12.5rem;
  background: #ffffff;
  border-radius: 1rem;
}
.block-case .image img {
  aspect-ratio: 1/1;
  display: block;
  border-radius: 0.75rem;
  object-fit: cover;
}
.block-case .image.image-1 {
  z-index: 1;
  transform: rotate(-7deg) translate(0.625rem, 1.25rem);
}
.block-case .image.image-2 {
  transform: rotate(7deg);
}
.block-case-gray {
  color: #575757;
  background: #f5f5f5;
}
.block-case-green {
  color: #ffffff;
  background: #71ad56;
}
.block-case-green .image {
  margin-bottom: -13.75rem;
}
.block-case-dark {
  color: #ffffff;
  background: #575757;
}
.block-case-dark .image-1 {
  transform-origin: bottom;
}
.block-case-bg {
  padding: 3.125rem 2.5rem;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  color: #ffffff;
}
.block-case-bg > * {
  position: relative;
  z-index: 1;
}
.block-case-bg .image-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.block-case-bg .image-bg:before {
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  pointer-events: none;
  background: rgba(113, 173, 86, 0.2);
  inset: 0;
}
.block-case-bg .image-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.block-case .chip {
  margin-bottom: 1.5rem;
  padding: 0.625rem 1.5rem;
  display: inline-block;
  font-size: 1rem;
  color: #ffffff;
  background: rgba(255, 255, 255, 0.3);
  border-radius: 1.875rem;
  backdrop-filter: blur(20px);
}
.block-case h3 {
  margin-bottom: 1.5rem;
}
.block-case blockquote {
  margin: 0;
  padding: 1.5rem;
  border: 0.0625rem solid #ffffff;
  border-radius: 1.5rem;
}
.block-case blockquote > *:first-child {
  margin-top: 0;
}
.block-case blockquote > *:last-child {
  margin-bottom: 0;
}
.block-case blockquote > * + * {
  margin-top: 1rem;
}
.block-case .images {
  padding-top: 1.875rem;
}
.block-case .images .image {
  margin: 0;
  max-width: 20rem;
}
.block-case .image-float-right {
  margin-top: 1.875rem;
  margin-bottom: -10.625rem;
  float: right;
}
.block-case .image-right {
  margin-top: 1.875rem;
  margin-bottom: -10.625rem;
  float: right;
  transform-origin: top;
}
.block-case .image-center {
  margin: 3.75rem auto -13.75rem;
  max-width: 31.875rem;
  float: initial;
  transform: rotate(-4deg);
}
.block-case .images-center {
  margin-bottom: -9.0625rem;
  display: flex;
  justify-content: center;
}
.block-case .images-right {
  margin-left: 0.9375rem;
  margin-right: -5.9375rem;
  margin-bottom: -9.375rem;
  display: flex;
  align-items: flex-start;
  float: right;
  shape-outside: polygon(100% 0, 100% 100%, 0 100%, 0 40%, 35% 35%, 44% 0);
}
.block-case .images-right .image-1 {
  margin-top: 11.875rem;
  margin-right: -5.625rem;
  transform-origin: initial;
}
@media (max-width: 999px) {
  .block-case {
    padding: 40px;
    font-size: 18px;
  }
  .block-case:not(.block-case-bg) {
    display: none;
  }
  .block-case-bg {
    min-height: 600px;
    order: -1;
  }
  .block-case .chip {
    padding: 8px 20px;
    font-size: 13px;
  }
  .block-case blockquote h4 {
    font-size: 22px;
  }
  .block-case blockquote > * + * {
    margin-top: 12px;
  }
  .block-case .image {
    margin-top: 10px;
    padding: 12px 12px 50px;
    max-width: 290px;
    border-radius: 12px;
  }
  .block-case .image img {
    border-radius: 9px;
  }
  .block-case .image-float-right {
    margin-top: 10px;
    margin-bottom: -90px;
  }
  .block-case .image-center {
    margin-bottom: -160px;
    max-width: 390px;
  }
  .block-case .images {
    padding-top: 10px;
  }
  .block-case .images .image {
    max-width: 240px;
  }
  .block-case .images-center {
    margin-bottom: -70px;
  }
  .block-case .images-right {
    margin-right: -70px;
    margin-bottom: -80px;
    padding-top: 30px;
  }
  .block-case .images-right .image {
    max-width: 290px;
  }
  .block-case .images-right .image-1 {
    margin-top: 100px;
  }
}
@media (max-width: 767px) {
  .block-case {
    padding: 20px;
    font-size: 12px;
    border-radius: 24px;
  }
  .block-case-bg {
    padding: 22px 20px;
    min-height: 480px;
  }
  .block-case .chip {
    margin-bottom: 16px;
    padding: 6px 18px;
    font-size: 12px;
  }
  .block-case h3 {
    margin-bottom: 16px;
  }
  .block-case blockquote {
    padding: 16px;
    border-radius: 20px;
  }
  .block-case blockquote h4 {
    font-size: 18px;
  }
  .block-case p {
    margin: 8px 0;
  }
  .block-case .image {
    padding: 6px 6px 25px;
    min-height: 100px;
    border-radius: 6px;
  }
  .block-case .image img {
    border-radius: 5px;
  }
  .block-case .images .image {
    max-width: 120px;
  }
}

.page-case-show {
  width: 100%;
  display: none;
  gap: 12px;
  justify-content: center;
  align-items: center;
}
.page-case-show .icon {
  width: 12px;
  height: 12px;
  background-color: #ffffff;
  transition: background .2s ease-in-out, transform .2s ease-in-out;
}
.page-case-show.is-active {
  color: #575757;
  background: #ffffff;
}
.page-case-show.is-active .icon {
  background-color: #575757;
  transform: scale(1, -1);
}
@media (max-width: 999px) {
  .page-case-show {
    display: flex;
  }
}

.cookie-block {
  position: fixed;
  left: 50%;
  bottom: 3.125rem;
  z-index: 17;
  padding: 2.5rem 3.125rem;
  width: 100%;
  max-width: 34.75rem;
  font-size: 1rem;
  pointer-events: none;
  background: #ffffff;
  border-radius: 1.75rem;
  box-shadow: 0 0 1.5rem 0 #47424226;
  transform: translate(-50%, 150%);
  transition: transform .2s ease-in-out;
}
.cookie-block.isShow {
  pointer-events: auto;
  transform: translateX(-50%);
}
.cookie-block-inner {
  display: flex;
  gap: 1.25rem;
  flex-direction: column;
  text-align: center;
}
.cookie-block-inner p {
  margin: 0;
}
.cookie-block-inner .button {
  width: 100%;
}
@media (max-width: 767px) {
  .cookie-block {
    left: 16px;
    right: 16px;
    bottom: 30px;
    padding: 30px 28px;
    width: auto;
    font-size: 12px;
    transform: translateY(150%);
  }
}

.page-404 {
  margin-top: 5.5rem;
}
.page-404-inner {
  position: relative;
  padding: 6.25rem 4.375rem;
  height: 45.875rem;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  overflow: hidden;
  font-size: 8.75rem;
  line-height: 1.2;
  color: #ffffff;
  background: url("/images/bg-404.jpg") center/cover no-repeat;
  border-radius: 1.75rem;
}
.page-404-inner:before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  width: 7.5rem;
  pointer-events: none;
  background: linear-gradient(270deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.2) 25%, rgba(255, 255, 255, 0.8) 50%, rgba(255, 255, 255, 0.2) 75%, rgba(255, 255, 255, 0) 100%);
  animation: eventBlick 5s cubic-bezier(0.7, -0.4, 0.4, 1.4) infinite;
}
@media (max-width: 999px) {
  .page-404 {
    margin-top: 18px;
  }
  .page-404-inner {
    padding: 96px 60px;
  }
}
@media (max-width: 767px) {
  .page-404-inner {
    padding: 30px 28px;
    height: initial;
    aspect-ratio: 1/1;
    font-size: 112px;
  }
}

/*# sourceMappingURL=style.css.map */
