/* Inner-page joints plus a pre-hydration desktop scale shared by every page. */
@media (min-width: 701px) {
  :root {
    --page-scale: calc(100vw / 1728px);
  }

  .sub-page .map-section .map-bg {
    top: -2px !important;
    height: 432px !important;
    background-image:
      linear-gradient(
        180deg,
        #fff 0%,
        rgba(255, 255, 255, .96) 10%,
        rgba(255, 255, 255, .84) 28%,
        rgba(255, 255, 255, .56) 54%,
        rgba(255, 255, 255, .22) 80%,
        rgba(255, 255, 255, 0) 100%
      ),
      url("/assets/map-bg-wide.webp") !important;
    background-position: center top !important;
    background-size: 1728px 432px !important;
    background-repeat: no-repeat !important;
  }

  .sub-page .hero-sub {
    overflow: visible !important;
  }

  .sub-page .hero-sub > .white-curve {
    left: 0 !important;
    right: auto !important;
    top: auto !important;
    bottom: -6px !important;
    display: block !important;
    width: 1728px !important;
    height: 64px !important;
    border-radius: 0 !important;
    background: url("/assets/section-curve-seamless.svg") center / 1728px 64px no-repeat !important;
    box-shadow: none !important;
    clip-path: none !important;
    transform: none !important;
  }

  .sub-page.about-page .about-cta {
    z-index: 2 !important;
    overflow: visible !important;
  }

  .sub-page.about-page .about-cta .service-photo {
    top: 0 !important;
    bottom: auto !important;
    height: calc(100% + 2px) !important;
    background-color: #fff !important;
    background-position: center top !important;
    background-size: 1728px 727px !important;
    background-repeat: no-repeat !important;
  }

  .sub-page.about-page .about-cta::after {
    display: none !important;
    content: none !important;
  }

  .sub-page.services-page .services-cta {
    z-index: 2 !important;
    overflow: visible !important;
  }

  .sub-page.services-page .services-cta .service-photo {
    top: 0 !important;
    bottom: 0 !important;
    height: 100% !important;
  }

  .sub-page.services-page .services-cta::before {
    left: 0 !important;
    right: auto !important;
    top: auto !important;
    bottom: 0 !important;
    display: block !important;
    width: 1728px !important;
    height: 58px !important;
    border-radius: 0 !important;
    background: url("/assets/section-curve-exact.svg") center / 1728px 58px no-repeat !important;
    box-shadow: 0 3px 0 #fff !important;
    clip-path: none !important;
  }

  .sub-page.contacts-page::before {
    top: 596px !important;
    height: 525px !important;
    background:
      linear-gradient(
        180deg,
        #fff 0%,
        rgba(255, 255, 255, .96) 10%,
        rgba(255, 255, 255, .84) 28%,
        rgba(255, 255, 255, .56) 54%,
        rgba(255, 255, 255, .22) 80%,
        rgba(255, 255, 255, 0) 100%
      ),
      url("/assets/map-bg-wide.webp") center / cover no-repeat !important;
  }

  .gallery-page .gallery-arrow {
    overflow: hidden !important;
    border-radius: 50% !important;
    background: transparent !important;
    background-image: none !important;
  }

  .gallery-page .gallery-arrow img {
    display: block !important;
    border-radius: 50% !important;
    background: transparent !important;
  }

  .contacts-page .contact-socials > .contact-social-icon {
    display: grid;
    width: auto;
    height: auto;
    place-items: center;
  }

  .contacts-page .contact-socials > .contact-social-icon:nth-child(2) img {
    width: 63px;
    height: 63px;
  }

  .contacts-page .contact-socials > .contact-social-icon:nth-child(3) img {
    width: 62px;
    height: 63px;
  }
}

@media (max-width: 700px) {
  .sub-page .hero-sub {
    overflow: visible !important;
  }

  .sub-page .hero-sub > .white-curve {
    left: 0 !important;
    right: 0 !important;
    top: auto !important;
    bottom: -2px !important;
    display: block !important;
    width: 100% !important;
    height: 34px !important;
    border-radius: 0 !important;
    background: url("/assets/section-curve-exact.svg") center / 100% 34px no-repeat !important;
    box-shadow: 0 3px 0 #fff !important;
    clip-path: none !important;
  }

  .sub-page.about-page .about-cta {
    z-index: 2 !important;
    overflow: visible !important;
  }

  .sub-page.about-page .about-cta .service-photo {
    top: 0 !important;
    bottom: auto !important;
    height: calc(100% + 2px) !important;
    background-color: #fff !important;
    background-position: center top !important;
    background-size: 100% calc(100% - 2px) !important;
    background-repeat: no-repeat !important;
  }

  .sub-page.about-page .about-cta::after {
    display: none !important;
    content: none !important;
  }

  .sub-page.services-page .services-cta {
    z-index: 2 !important;
    overflow: visible !important;
  }

  .sub-page.services-page .services-cta .service-photo {
    top: 0 !important;
    bottom: 0 !important;
    height: 100% !important;
    background-position: center top !important;
    background-size: auto 100% !important;
    background-repeat: no-repeat !important;
  }

  .sub-page.services-page .services-cta::before {
    left: 0 !important;
    right: 0 !important;
    top: auto !important;
    bottom: -2px !important;
    display: block !important;
    width: 100% !important;
    height: 42px !important;
    border-radius: 0 !important;
    background: url("/assets/section-curve-exact.svg") center / 100% 42px no-repeat !important;
    box-shadow: 0 3px 0 #fff !important;
    clip-path: none !important;
  }

  .sub-page .map-section {
    margin-top: -2px !important;
  }

  .sub-page .map-section .map-bg {
    top: -2px !important;
    height: 352px !important;
    background-image:
      linear-gradient(
        180deg,
        #fff 0%,
        rgba(255, 255, 255, .95) 12%,
        rgba(255, 255, 255, .78) 32%,
        rgba(255, 255, 255, .48) 58%,
        rgba(255, 255, 255, .15) 82%,
        rgba(255, 255, 255, 0) 100%
      ),
      url("/assets/map-bg-wide.webp") !important;
    background-position: center top !important;
    background-size: auto 352px !important;
    background-repeat: no-repeat !important;
  }

  .faq-page .faq-list.chat-ready article .faq-question,
  .faq-page .faq-list.chat-ready article .faq-answer,
  .faq-page .faq-list article .faq-question,
  .faq-page .faq-list article .faq-answer {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }

  .faq-page .faq-list article .faq-answer p,
  .faq-page .faq-list.chat-ready article .faq-answer p,
  .faq-page .faq-list article.typing .faq-answer p {
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
  }

  .faq-page .faq-typing {
    display: none !important;
  }

  .contacts-page .contact-socials > .contact-social-icon {
    display: grid;
    width: 54px;
    height: 54px;
    place-items: center;
  }
}
