@media (max-width: 630px) {
  .features-list-mobile-top {
    display: flex;
  }
}

.yandex-benefits-section {
  padding: 0;
}

@media (min-width: 1616px) {
  #header-icon.icon-small.yandex {
    top: -8px !important;
  }
}

.testimonials-section,
.onetimeservices-section-wrapper {
  padding: 0;
}

/* business improvement section */
.step-card-item.card-05 {
  order: 4;
}

.step-card-item.card-06 {
  order: 5;
}

.step-card-item.card-07 {
  order: 6;
}

.step-card-item.card-08 {
  order: 7;
}

.step-title-h5.title-05,
.step-title-h5.title-06,
.step-title-h5.title-07,
.step-title-h5.title-08 {
  height: 40px;
}

@media (min-width: 1120px) {
  .steps-container-grid {
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: thin;
    scrollbar-color: #dcdcdc transparent;
    padding-bottom: 10px;
  }

  .steps-container-grid::-webkit-scrollbar {
    height: 8px;
  }

  .steps-container-grid::-webkit-scrollbar-track {
    background: transparent;
  }

  .steps-container-grid::-webkit-scrollbar-thumb {
    background-color: #dcdcdc;
    border-radius: 4px;
  }

  .steps-container-grid::-webkit-scrollbar-thumb:hover {
    background-color: #c0c0c0;
  }
}

@media (min-width: 1120px) and (max-width: 1616px) {
  .steps-container-grid {
    gap: 90px;
    width: 1100px;
  }
}

@media (min-width: 1616px) {
  .steps-container-grid {
    gap: 107px;
  }
}

@media (max-width: 768px) {
  .step-content-wrapper.content-05,
  .step-content-wrapper.content-06,
  .step-content-wrapper.content-07,
  .step-content-wrapper.content-08 {
    height: auto;
  }

  .step-description-text.desc-05,
  .step-description-text.desc-06,
  .step-description-text.desc-07,
  .step-description-text.desc-08 {
    height: auto;
  }

  .step-title-h5.title-05,
  .step-title-h5.title-06,
  .step-title-h5.title-07,
  .step-title-h5.title-08 {
    height: auto;
  }
}

@media (min-width: 768px) and (max-width: 1120px) {
  .step-card-item.card-05,
  .step-card-item.card-06,
  .step-card-item.card-07,
  .step-card-item.card-08 {
    height: auto;
  }

  .step-content-wrapper.content-05,
  .step-content-wrapper.content-06,
  .step-content-wrapper.content-07,
  .step-content-wrapper.content-08 {
    height: auto;
  }

  .step-description-text.desc-05,
  .step-description-text.desc-06,
  .step-description-text.desc-07,
  .step-description-text.desc-08 {
    height: auto;
  }
}

@media (min-width: 1120px) and (max-width: 1616px) {
  .step-title-h5.title-05,
  .step-title-h5.title-06,
  .step-title-h5.title-07,
  .step-title-h5.title-08 {
    height: 34px;
  }
}

@media (min-width: 1120px) {
  .business-improvement-section {
    overflow: hidden;
  }

  .business-improvement-frame {
    overflow: hidden;
    height: 490px;
  }

  .steps-container-grid {
    width: 100vw;
    max-width: none;
    margin-left: calc(-50vw + 50%);
    padding-left: calc(50vw - 50%);
    padding-right: calc(50vw - 50%);
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
    -ms-overflow-style: none;
    padding-bottom: 10px;
  }

  .steps-container-grid::-webkit-scrollbar {
    display: none;
  }
}

@media (min-width: 1120px) and (max-width: 1616px) {
  .business-improvement-frame .divider-line {
    width: 1250px;
    left: 11px;
    top: 361px;
  }

  .process-header-wrapper {
    gap: 17px;
    width: 1100px;
    height: 221px;
  }

  .main-title-h1 {
    width: 1100px;
    height: 124px;
  }

  .business-improvement-section {
    padding: 90px 0;
  }

  .header-text-container {
    gap: 364px;
    width: 1100px;
    height: 80px;
  }

  .blue-badge svg:nth-child(1) {
    margin-right: -8px;
  }

  .description-text-large {
    width: 567px;
    height: 80px;
    font-size: 22px;
  }

  .steps-container-grid {
    gap: 90px;
    top: 261px;
    position: absolute;
    left: 0;
  }

  .step-card-item {
    gap: 25px;
    width: 214px;
  }

  .step-heading-wrapper {
    gap: 17px;
    width: 214px;
    height: 64px;
  }

  .number-badge-circle {
    padding: 16px 13px;
    width: 65px;
    height: 64px;
    border-radius: 32px;
  }

  .badge-number-text {
    width: 19px;
    height: 17px;
    font-size: 17px;
  }

  .step-title-h5 {
    width: 136px;
    font-size: 18px;
  }

  .step-title-h5.title-01 {
    height: 17px;
  }

  .step-title-h5.title-02,
  .step-title-h5.title-03,
  .step-title-h5.title-04,
  .step-title-h5.title-05,
  .step-title-h5.title-06,
  .step-title-h5.title-07,
  .step-title-h5.title-08 {
    height: 34px;
  }

  .step-content-wrapper {
    gap: 29px;
    width: 214px;
  }

  .ellipse-indicator-container {
    width: 22px;
    height: 22px;
    border-radius: 11px;
    margin-top: 2px;
  }

  .ellipse-dot {
    width: 13px;
    height: 13px;
  }

  .step-description-text {
    width: 214px;
    font-size: 14px;
  }
}

@media (min-width: 1616px) {
  .business-improvement-section {
    padding: 110px 0;
  }

  .steps-container-grid {
    gap: 107px;
    position: absolute;
    left: 0;
    top: 312px;
  }

  .business-improvement-frame .divider-line {
    left: 4px;
    top: 446px;
    width: 1580px;
  }

  .business-improvement-frame {
    height: 610px;
  }
}

@media (max-width: 768px) {
  .step-heading-wrapper {
    height: 60px;
  }

  .hero {
    padding: 1rem 0 0 0;
  }

  .onetimeservices-cards-grid-container {
    margin-bottom: 0;
  }
}

@media (min-width: 768px) and (max-width: 1120px) {
  .step-content-wrapper {
    height: 180px;
  }
}

@media (min-width: 1616px) {
  .our-roles-card {
    height: 460px;
  }

  .business-improvement-section {
    padding-bottom: 30px !important;
  }
}

.is-margin-top > * {
  margin: 0 auto;
}

@media (max-width: 1616px) {
  .our-roles-card {
    height: 460px;
  }

  .faq-header-text-container {
    gap: 14px;
  }

  #header-icon.icon-small.yandex {
    top: -6px !important;
  }

  .business-improvement-section {
    padding-bottom: 0;
  }
}

.faq-main-section-wrapper .container {
  padding-top: 0;
  padding-bottom: 0;
}

.seo-section {
  padding: 0;
}

@media (max-width: 720px) {
  .portfolio-section-wrapper {
    padding-bottom: 70px;
  }

  #header-icon.icon-small.yandex {
    top: -3px !important;
    width: 28px;
    left: -6px;
  }
}

.hero-title-block h1 {
  display: inline !important;
}

@media (max-width: 400px) {
  .hero-title-block {
    max-width: 310px;
  }
}

.seo-section {
  margin-bottom: 80px;
}

.hero-description {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  width: 295px;
}

@media (max-width: 1616px) {
  .hero-description {
    width: 100%;
    max-width: 270px;
  }
}

/* seo map section */
.seo-map-section {
  width: 100%;
  position: relative;
}

.seo-map-top {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 32px;
  padding: 0 40px;
}

.seo-map-heading {
  max-width: 814px;
  text-align: center;
}

.seo-map-paragraph {
  font-size: clamp(15px, 1.3vw, 18px);
  line-height: 28px;
  text-align: center;
  color: #6a7282;
  max-width: 733px;
}

.seo-map-btn {
  gap: 6px;
  padding: 6px 14px;
}

.seo-map-btn span {
  font-size: 14px;
  color: #fff;
}

.seo-map-area {
  position: relative;
  width: 100%;
  margin-top: 32px;
  overflow: hidden;
}

.seo-map-area img {
  width: 100%;
  display: block;
  object-fit: contain;
  border-radius: 8px;
}

.seo-map-pin-layer {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.seo-map-city-wrapper {
  position: absolute;
  transform: translate(-50%, -50%);
  cursor: pointer;
  z-index: 5;
  pointer-events: all;
}

.seo-map-city-wrapper::before {
  content: '';
  position: absolute;
  left: 50%;
  top: 50%;
  width: 0;
  height: 3px;
  background: #0c47a0;
  opacity: 0;
  transform-origin: left center;
  transition:
    width 0.5s ease,
    opacity 0.5s ease;
  z-index: 4;
}

.seo-map-city-indicator {
  position: relative;
  width: 62px;
  height: 62px;
}

.seo-map-city-indicator-small {
  position: relative;
  width: 38px;
  height: 38px;
}

.seo-map-indicator-inner {
  position: absolute;
  left: 25.14%;
  right: 24.86%;
  top: 25.14%;
  bottom: 24.86%;
  background: #fd5656;
  border-radius: 50%;
  transform: rotate(-89.68deg);
  transition: background 0.3s ease;
}

.seo-map-indicator-ring {
  position: absolute;
  left: 0%;
  right: 0%;
  top: 0%;
  bottom: 0%;
  opacity: 0.49;
  border: 3px solid #fd5656;
  border-radius: 50%;
  transform: rotate(-89.68deg);
  transition:
    border-color 0.3s ease,
    opacity 0.3s ease,
    transform 0.3s ease;
}

.seo-map-city-label {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(0, -50%);
  color: #0c47a0;
  font-family: 'Roboto', sans-serif;
  font-size: 24px;
  font-weight: 400;
  white-space: nowrap;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.5s ease 0.2s;
  margin-left: 80px;
  margin-top: -15px;
  z-index: 6;
}

.seo-map-city-wrapper--pulsing {
  pointer-events: all;
}

.seo-map-city-wrapper--pulsing .seo-map-indicator-ring {
  animation: seo-map-pulse-ring 2s ease-in-out infinite;
}

.seo-map-city-wrapper--pulsing:hover::before {
  width: 170px;
  opacity: 1;
}

.seo-map-city-wrapper--pulsing:hover .seo-map-city-label {
  opacity: 1;
}

.seo-map-city-wrapper--pulsing:hover .seo-map-indicator-inner {
  background: #0c47a0;
}

.seo-map-city-wrapper--pulsing:hover .seo-map-indicator-ring {
  border-color: #0c47a0;
  opacity: 0.49;
  animation: none;
  transform: scale(0.85) rotate(-89.68deg);
}

.seo-map-city-wrapper--hovered .seo-map-indicator-inner {
  background: #0c47a0;
}

@keyframes seo-map-pulse-ring {
  0%,
  100% {
    transform: scale(0.8) rotate(-89.68deg);
    opacity: 0.49;
  }
  50% {
    transform: scale(1.02) rotate(-89.68deg);
    opacity: 0.2;
  }
}

.seo-map-cards {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  gap: clamp(16px, 5vw, 119px);
  justify-content: center;
  position: relative;
  z-index: 2;
  top: -220px;
  margin-top: -40px;
  padding: 0 20px;
}

.seo-map-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 20px;
  gap: 13px;
  width: 291px;
  min-height: 126px;
  background: #fff;
  border: 1px solid #939393;
  border-radius: 8px;
  flex-shrink: 0;
}

.seo-map-card--highlight {
  background: linear-gradient(90deg, #434343 0%, #4258be 100%);
}

.seo-map-card-group {
  display: flex;
  flex-direction: column;
  gap: 6px;
  width: 100%;
}

.seo-map-card-label {
  font-weight: 500;
  font-size: 14px;
  color: #939393;
  line-height: 100%;
}

.seo-map-card--highlight .seo-map-card-label {
  color: #fff;
}

.seo-map-card-value {
  font-weight: 500;
  font-size: 20px;
  color: #393939;
  line-height: 100%;
}

.seo-map-card--highlight .seo-map-card-value {
  color: #fff;
}

.seo-map-card-value--small {
  font-size: 14px;
}

@media (min-width: 1616px) {
  .seo-map-paragraph {
    font-size: 19px;
    max-width: 780px;
  }

  .seo-map-btn span {
    font-size: 16px;
  }

  .seo-map-btn {
    padding: 9px 14px;
  }

  .seo-map-card-label {
    font-size: 16px;
  }

  .map-phone {
    margin-top: 24px;
  }

  .map-address {
    font-size: 18px;
    margin-top: 20px;
  }

  .seo-map-city-wrapper--pulsing {
    left: 48.3%;
    top: 19%;
  }

  .first-indicator {
    top: 60px !important;
    right: 760px !important;
  }

  .second-indicator {
    top: 132px !important;
    right: 470px !important;
  }
}

@media (max-width: 1616px) {
  .seo-map-paragraph {
    font-size: 17px;
    max-width: 780px;
  }

  .seo-map-heading {
    max-width: 500px;
  }

  .seo-map-btn span {
    font-size: 14.4px;
  }

  .seo-map-btn {
    padding: 7px 14px;
  }

  .seo-map-card-label {
    font-size: 14px;
  }

  .seo-map-card-value {
    font-size: 16px;
  }

  .seo-map-card {
    height: 100px;
    min-height: 110px;
  }

  .seo-map-card-group {
    gap: 2px;
  }

  .email-area {
    margin-top: -5px;
  }

  .seo-map-cards {
    top: -160px;
  }

  .map-phone {
    margin-top: 10px;
  }

  .map-address {
    font-size: 16px;
    margin-top: 24px;
  }

  .seo-map-city-wrapper--pulsing {
    left: 48.3%;
    top: 19%;
  }

  .first-indicator {
    top: 60px !important;
    right: 760px !important;
  }

  .second-indicator {
    top: 106px !important;
    right: 350px !important;
  }
}

@media (max-width: 1344px) {
  .seo-map-city-wrapper--pulsing:hover::before {
    width: 100px;
  }

  .second-indicator {
    top: 98px !important;
    right: 330px !important;
  }
}

@media (max-width: 1100px) {
  .second-indicator {
    top: 88px !important;
    right: 270px !important;
  }
}

@media (max-width: 968px) {
  .seo-map-area {
    margin-top: 16px;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    width: 100vw;
    height: 320px;
    overflow: hidden;
  }

  .seo-map-area img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center top;
    border-radius: 0;
  }

  .seo-map-cards {
    flex-direction: column;
    gap: 16px;
    margin-top: -80px;
    margin-bottom: 16px;
    padding: 0;
    align-items: stretch;
    position: relative;
    z-index: 2;
    order: 0;
    top: -20px;
    padding: 0 20px;
  }

  .seo-map-card-label {
    font-size: 15px;
  }

  .seo-map-card {
    min-height: 120px;
  }

  .seo-map-card-group {
    gap: 4px;
  }

  .map-address {
    font-size: 19px;
    margin-bottom: auto;
  }

  .seo-map-btn span {
    font-size: 14px;
  }

  .seo-map-card {
    width: 100%;
    height: auto;
  }

  .map-phone {
    font-size: 20px;
  }

  .first-indicator {
    left: 51% !important;
  }

  .second-indicator {
    top: 88px !important;
    right: 27% !important;
  }

  .email-area {
    margin-top: 0;
  }

  .seo-telegram,
  .seo-mail {
    font-size: 19px;
  }

  .seo-map-city-wrapper::before {
    height: 2px;
  }

  .seo-map-city-wrapper--pulsing:hover::before {
    width: 90px;
  }

  .seo-map-city-label {
    font-size: 13px;
  }

  .seo-map-city-indicator {
    width: 50px;
    height: 50px;
  }

  .seo-map-city-indicator-small {
    width: 26px;
    height: 26px;
  }

  .seo-map-indicator-ring {
    border-width: 2px;
  }
}

@media (max-width: 480px) {
  .seo-map-city-wrapper::before {
    height: 2px;
  }

  .seo-map-city-wrapper--pulsing:hover::before {
    width: 80px;
  }

  .seo-map-city-label {
    font-size: 12px;
  }

  .seo-map-city-indicator {
    width: 40px;
    height: 40px;
  }

  .seo-map-top {
    padding: 0;
  }

  .seo-map-heading {
    width: 100%;
    font-size: 30px;
    overflow-wrap: break-word;
    white-space: normal;
    text-align: left;
  }

  .seo-map-paragraph {
    text-align: left;
  }

  .second-indicator {
    top: 83px !important;
    right: 82px !important;
    pointer-events: none;
  }

  .first-indicator {
    top: 44px !important;
    right: 780px !important;
    pointer-events: none;
  }

  .hero-title-block {
    max-width: 500px;
  }

  .industries-heading {
    font-size: 2rem;
  }

  .seobrain-seo-section {
    padding: 0;
  }
}

@media (max-width: 400px) {
  .hero-title-block h1 {
    font-size: 28.8px;
  }
}

@media (max-width: 768px) {
  .yandex-hero-image {
    object-position: 23% center;
  }
}

.team-information-container {
  margin-bottom: 0;
  margin-top: 5px;
}
