@charset "UTF-8";
.breadcrumbs__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  align-items: center;
}
.breadcrumbs__item {
  display: flex;
  align-items: center;
  transition-timing-function: ease;
  transition-duration: 0.3s;
  transition-property: color;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--color-gray-hard);
}
.breadcrumbs__item:not(:last-child) {
  flex-shrink: 0;
}
.breadcrumbs__item:not(:last-child):after {
  content: "—";
  display: inline-block;
  margin-left: 0.5rem;
  margin-right: 0.5rem;
}
.breadcrumbs__item.current {
  color: var(--color-black);
}
.breadcrumbs__text {
  font-size: 1rem;
  line-height: 1.5;
  font-weight: 400;
  display: inline-block;
  max-width: 100%;
  max-height: 2.8125rem;
  overflow: hidden;
  text-overflow: ellipsis;
}
.blind-text-medium .breadcrumbs__text {
  font-size: 1.125rem;
}
.blind-text-large .breadcrumbs__text {
  font-size: 1.25rem;
}
.breadcrumbs__link {
  color: currentColor;
}
@media (hover: hover) and (pointer: fine) {
.breadcrumbs__link:hover, .breadcrumbs__link.focus-visible {
    color: var(--color-black);
    text-decoration: none;
}
}
.breadcrumbs__link.focus-visible {
  color: var(--color-black);
  text-decoration: none;
}
.breadcrumbs--white .breadcrumbs__item {
  color: rgba(var(--color-white-rgb), 0.4);
}
.breadcrumbs--white .breadcrumbs__item.current {
  color: var(--color-white);
}
@media (hover: hover) and (pointer: fine) {
.breadcrumbs--white .breadcrumbs__link:hover, .breadcrumbs--white .breadcrumbs__link.focus-visible {
    color: var(--color-white);
}
}
.breadcrumbs--white .breadcrumbs__link.focus-visible {
  color: var(--color-white);
}
@media (max-width: 639.98px) {
.hero-mask {
    margin-left: -33px;
    margin-top: -5px;
}
.hero-mask--third {
    margin-left: 0;
    margin-top: 0;
    width: 100% !important;
}
.hero-mask--third image {
    height: 109%;
}
}
@media (max-width: 1023.98px) {
.hero-mask {
    width: 109%;
}
}
@media (min-width: 640px) and (max-width: 1023.98px) {
.hero-mask {
    margin-top: -3rem;
    margin-left: -4.3125rem;
}
.hero-mask--third {
    margin-top: 1.125rem;
    margin-left: 0;
    width: 100%;
}
.hero-mask--third image {
    height: 109%;
}
}
.hero-mask svg {
  width: 100%;
  height: auto;
}
@media (min-width: 1024px) {
.hero-mask svg {
    width: 62.5rem;
    height: 38.75rem;
}
}
.hero-mask #path {
  stroke-dasharray: var(--item-path-length);
  stroke-dashoffset: var(--item-path-length);
  animation: dash 3s 0.5s ease forwards;
  animation-play-state: paused;
}
.animate .hero-mask #path {
  animation-play-state: running;
}
.hero-mask--second #path {
  stroke-dashoffset: -2444.7463378906;
}
.is-safari .hero-mask--second #path {
  animation: dashSecond 3s 1.5s ease forwards;
}
.hero-mask image {
  height: auto;
}
.blind-images-hidden .hero-mask image {
  display: none !important;
}
.blind-images-hidden .hero-mask__image-blind {
  fill: var(--color-gray-dark);
}
@keyframes dash {
to {
    stroke-dashoffset: 0;
}
}
@keyframes dashSecond {
from {
    stroke-dashoffset: 2444.7463378906;
}
to {
    stroke-dashoffset: 4889.4926757813;
}
}
.hero-img {
  position: relative;
  padding-top: 5.5rem;
  border-bottom: 1px solid rgba(var(--color-black-rgb), 0);
  transition: border 0.3s linear 0.5s;
}
@media (min-width: 640px) {
.hero-img {
    padding-top: 7rem;
}
}
@media (min-width: 1024px) {
.hero-img {
    padding-top: 6.875rem;
    height: 38.75rem;
}
}
.hero-img.animate {
  border-bottom: 1px solid rgba(var(--color-black-rgb), 0.2);
}
.hero-img--no-border {
  border: none;
}
@media (min-width: 640px) {
.hero-img--big-title .hero-img__title {
    max-width: none;
}
}
@media (min-width: 1024px) {
.hero-img--big-title .hero-img__title {
    max-width: 35rem;
}
}
@media (min-width: 1024px) {
.hero-img--big-title .hero-img__content {
    grid-column: 1/11;
}
}
@media (min-width: 1024px) {
.hero-img--big-title .hero-img__info {
    grid-template-columns: repeat(10, 1fr);
}
}
.hero-img__breadcrumbs {
  position: relative;
  z-index: 1;
  margin-bottom: 3.5rem;
}
body:not(.no-animate) .hero-img__breadcrumbs {
  transform: translateY(1.5rem);
  opacity: 0;
  transition-timing-function: ease;
  transition-duration: 0.3s;
  transition-property: transform, opacity;
  transition-delay: 0.2s;
}
body:not(.no-animate) .hero-img__breadcrumbs.animate {
  transform: unset;
  opacity: 1;
}
html:not(.has-scroll-init) .hero-img__breadcrumbs {
  transform: unset !important;
  opacity: 1 !important;
}
@media (min-width: 640px) {
.hero-img__breadcrumbs {
    margin-bottom: 6rem;
}
}
.hero-img__container {
  width: 100%;
  z-index: 3;
  position: relative;
}
@media (min-width: 1024px) {
.hero-img__container {
    display: grid;
    grid-template-columns: repeat(24, 1fr);
    padding-bottom: 6.5rem;
}
}
@media (max-width: 1023.98px) {
.hero-img__head:last-child {
    padding-bottom: 4rem;
}
}
@media (max-width: 639.98px) {
.hero-img__head:last-child {
    padding-bottom: 2rem;
}
}
@media (min-width: 1024px) {
.hero-img__content {
    grid-column: 1/9;
}
}
.hero-img__title {
  font-size: 2.125rem;
  line-height: 1.1;
  font-weight: 400;
}
body:not(.no-animate) .hero-img__title {
  transform: translateY(1.5rem);
  opacity: 0;
  transition-timing-function: ease;
  transition-duration: 0.3s;
  transition-property: transform, opacity;
  transition-delay: 0.3s;
}
body:not(.no-animate) .hero-img__title.animate {
  transform: unset;
  opacity: 1;
}
html:not(.has-scroll-init) .hero-img__title {
  transform: unset !important;
  opacity: 1 !important;
}
.blind-text-medium .hero-img__title {
  font-size: 2.25rem;
}
.blind-text-large .hero-img__title {
  font-size: 2.375rem;
}
@media (min-width: 640px) {
.hero-img__title {
    font-size: 3.5rem;
}
.blind-text-medium .hero-img__title {
    font-size: 3.625rem;
}
.blind-text-large .hero-img__title {
    font-size: 3.75rem;
}
}
@media (min-width: 640px) {
.hero-img__title {
    max-width: 31.375rem;
}
}
@media (min-width: 1024px) {
.hero-img__title {
    display: block;
    display: -webkit-box;
    font-size: 3.5rem;
    max-height: 11.55rem;
    line-height: 1.1;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}
.blind-text-medium .hero-img__title {
    display: block;
    display: -webkit-box;
    font-size: 3.625rem;
    max-height: 11.9625rem;
    line-height: 1.1;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}
.blind-text-large .hero-img__title {
    display: block;
    display: -webkit-box;
    font-size: 3.75rem;
    max-height: 12.375rem;
    line-height: 1.1;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}
}
.hero-img__title + .hero-img__text, .hero-img__title + .hero-img__contacts {
  margin-top: 1.5rem;
}
@media (min-width: 640px) {
.hero-img__title + .hero-img__text, .hero-img__title + .hero-img__contacts {
    margin-top: 2rem;
}
}
@media (min-width: 1024px) {
.hero-img__title + .hero-img__text, .hero-img__title + .hero-img__contacts {
    margin-top: 2.5rem;
}
}
.hero-img__title + .hero-img__info {
  margin-top: 1.5rem;
}
@media (min-width: 640px) {
.hero-img__title + .hero-img__info {
    margin-top: 2rem;
}
}
@media (min-width: 1024px) {
.hero-img__title + .hero-img__info {
    margin-top: 3.5rem;
}
}
body:not(.no-animate) .hero-img__text {
  transform: translateY(1.5rem);
  opacity: 0;
  transition-timing-function: ease;
  transition-duration: 0.3s;
  transition-property: transform, opacity;
  transition-delay: 0.4s;
}
body:not(.no-animate) .hero-img__text.animate {
  transform: unset;
  opacity: 1;
}
html:not(.has-scroll-init) .hero-img__text {
  transform: unset !important;
  opacity: 1 !important;
}
@media (min-width: 640px) {
.hero-img__text {
    max-width: 31.375rem;
}
}
.hero-img__text + .hero-img__links {
  margin-top: 1rem;
}
@media (min-width: 640px) {
.hero-img__text + .hero-img__links {
    margin-top: 2rem;
}
}
@media (min-width: 640px) and (max-width: 1023.98px) {
.hero-img__links {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem 4rem;
}
}
body:not(.no-animate) .hero-img__link {
  transform: translateY(1.5rem);
  opacity: 0;
  transition-timing-function: ease;
  transition-duration: 0.3s;
  transition-property: transform, opacity;
  transition-delay: 0.5s;
}
body:not(.no-animate) .hero-img__link.animate {
  transform: unset;
  opacity: 1;
}
html:not(.has-scroll-init) .hero-img__link {
  transform: unset !important;
  opacity: 1 !important;
}
.hero-img__link:not(:last-child) {
  margin-bottom: 0.5rem;
}
@media (min-width: 640px) {
.hero-img__link:not(:last-child) {
    margin-bottom: 0;
}
}
@media (min-width: 1024px) {
.hero-img__link:not(:last-child) {
    margin-bottom: 1rem;
}
}
.hero-img__image-wrapper {
  width: 100%;
  z-index: -1;
}
@media (min-width: 1024px) {
.hero-img__image-wrapper {
    margin-top: 0;
    position: absolute;
    bottom: 0;
    right: 0;
    width: 62.5rem;
    height: 38.6875rem;
}
}
body:not(.no-animate) .hero-img__image {
  opacity: 0;
  transition-timing-function: ease;
  transition-duration: 0.3s;
  transition-property: transform, opacity;
  transition-delay: 0.6s;
}
body:not(.no-animate) .animate .hero-img__image {
  opacity: 1;
}
html:not(.has-scroll-init) .hero-img__image {
  opacity: 1 !important;
}
.hero-img__image .image {
  height: 100%;
}
.hero-img__info {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  padding-top: 0.625rem;
}
body:not(.no-animate) .hero-img__info {
  transform: translateY(1.5rem);
  opacity: 0;
  transition-timing-function: ease;
  transition-duration: 0.3s;
  transition-property: transform, opacity;
  transition-delay: 0.5s;
}
body:not(.no-animate) .hero-img__info.animate {
  transform: unset;
  opacity: 1;
}
html:not(.has-scroll-init) .hero-img__info {
  transform: unset !important;
  opacity: 1 !important;
}
@media (min-width: 640px) {
.hero-img__info {
    padding-top: 1.3125rem;
}
}
@media (min-width: 1024px) {
.hero-img__info {
    grid-template-columns: repeat(8, 1fr);
    padding-top: 0rem;
}
}
.hero-img__location {
  grid-column: 1/3;
}
@media (min-width: 640px) {
.hero-img__location {
    grid-column: 1/2;
}
}
.hero-img__location-desc {
  color: var(--color-gray-hard);
  font-size: 1rem;
  line-height: 1.5;
  font-weight: 400;
}
.blind-text-medium .hero-img__location-desc {
  font-size: 1.125rem;
}
.blind-text-large .hero-img__location-desc {
  font-size: 1.25rem;
}
@media (min-width: 640px) {
.hero-img__location-desc {
    margin-bottom: 0.25rem;
}
}
.hero-img__location-val {
  font-size: 3.5rem;
  line-height: 1.1;
  font-weight: 400;
}
.blind-text-medium .hero-img__location-val {
  font-size: 3.625rem;
}
.blind-text-large .hero-img__location-val {
  font-size: 3.75rem;
}
@media (min-width: 640px) {
.hero-img__location-val {
    font-size: 4.5rem;
}
.blind-text-medium .hero-img__location-val {
    font-size: 4.625rem;
}
.blind-text-large .hero-img__location-val {
    font-size: 4.75rem;
}
}
.hero-img__working {
  grid-column: 5/11;
  display: flex;
  flex-direction: column;
}
.hero-img__working .link-action {
  margin-top: auto;
  margin-bottom: 0.5rem;
}
@media (min-width: 640px) {
.hero-img__working {
    grid-column: 3/6;
}
}
.hero-img__working-desc {
  color: var(--color-gray-hard);
  margin-bottom: 0.25rem;
  font-size: 1rem;
  line-height: 1.5;
  font-weight: 400;
}
.blind-text-medium .hero-img__working-desc {
  font-size: 1.125rem;
}
.blind-text-large .hero-img__working-desc {
  font-size: 1.25rem;
}
@media (min-width: 640px) {
.hero-img__working-desc {
    margin-bottom: 0.5rem;
}
}
.hero-img__working-val {
  margin-bottom: 0.5rem;
  font-size: 1.125rem;
  line-height: 1.4;
  font-weight: 400;
}
.blind-text-medium .hero-img__working-val {
  font-size: 1.25rem;
}
.blind-text-large .hero-img__working-val {
  font-size: 1.375rem;
}
@media (min-width: 640px) {
.hero-img__working-val {
    font-size: 1.25rem;
}
.blind-text-medium .hero-img__working-val {
    font-size: 1.375rem;
}
.blind-text-large .hero-img__working-val {
    font-size: 1.5rem;
}
}
@media (min-width: 640px) {
.hero-img__working-val {
    margin-bottom: 1rem;
}
}
body:not(.no-animate) .hero-img__contacts {
  transform: translateY(1.5rem);
  opacity: 0;
  transition-timing-function: ease;
  transition-duration: 0.3s;
  transition-property: transform, opacity;
  transition-delay: 0.5s;
}
body:not(.no-animate) .hero-img__contacts.animate {
  transform: unset;
  opacity: 1;
}
html:not(.has-scroll-init) .hero-img__contacts {
  transform: unset !important;
  opacity: 1 !important;
}
.hero-img__contacts-name {
  font-size: 1rem;
  line-height: 1.5;
  font-weight: 400;
  margin-bottom: 0.5rem;
  color: var(--color-gray-dark);
}
.blind-text-medium .hero-img__contacts-name {
  font-size: 1.125rem;
}
.blind-text-large .hero-img__contacts-name {
  font-size: 1.25rem;
}
.hero-img__contacts-phone {
  font-size: 1.25rem;
  line-height: 1.4;
  font-weight: 400;
  display: inline-block;
  color: var(--color-black);
  margin-bottom: 0.25rem;
  position: relative;
  transition-property: color;
  transition-duration: 0.3s;
  transition-timing-function: ease;
}
.blind-text-medium .hero-img__contacts-phone {
  font-size: 1.375rem;
}
.blind-text-large .hero-img__contacts-phone {
  font-size: 1.5rem;
}
@media (min-width: 640px) {
.hero-img__contacts-phone {
    font-size: 1.5rem;
}
.blind-text-medium .hero-img__contacts-phone {
    font-size: 1.625rem;
}
.blind-text-large .hero-img__contacts-phone {
    font-size: 1.75rem;
}
}
@media (hover: hover) and (pointer: fine) {
.hero-img__contacts-phone:hover, .hero-img__contacts-phone.focus-visible {
    color: var(--color-blue);
}
}
.hero-img__contacts-phone.focus-visible {
  color: var(--color-blue);
}
.hero-img__contacts-time {
  font-size: 1rem;
  line-height: 1.5;
  font-weight: 400;
  margin-bottom: 2rem;
  color: var(--color-gray-dark);
}
.blind-text-medium .hero-img__contacts-time {
  font-size: 1.125rem;
}
.blind-text-large .hero-img__contacts-time {
  font-size: 1.25rem;
}
.hero-img__contacts-email {
  display: inline-block;
  color: var(--color-blue);
  position: relative;
  background-size: 0% 1px;
  background-position: 0% 100%;
  background-image: linear-gradient(currentColor, currentColor);
  background-repeat: no-repeat;
  text-decoration: none !important;
  transition-property: background-size, color;
  transition-duration: 0.3s;
  transition-timing-function: ease;
  will-change: background-size;
}
@media (hover: hover) and (pointer: fine) {
.hero-img__contacts-email:hover, .hero-img__contacts-email.focus-visible {
    background-size: 100% 1px;
}
}
.hero-img__contacts-email.focus-visible {
  background-size: 100% 1px;
}
