/* Keep the existing colors/layout, while making small text and focus readable. */
.callback .callback-form > span { color: #737373; }
.footer .footer-copy { color: #aaa; }
.main-panel_card > div > img,
.advantages-card__head > img { object-fit: contain; }
:where(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 3px solid #5a207e;
  outline-offset: 4px;
}
.footer :focus-visible { outline-color: #fff; }
@media (max-width: 991px) {
  .navigation :focus-visible { outline-color: #fff; }
}
.range:focus-within { outline: 3px solid #5a207e; outline-offset: 5px; }
.overlay-close { cursor: pointer; }

.menu .services-toggle { font: inherit; color: inherit; text-align: inherit; padding: 0; border: 0; background: transparent; cursor: pointer; }
.skip-link { position: fixed; top: -100px; left: 12px; z-index: 10000; background: #fff; color: #442068; padding: 12px; }
.skip-link:focus { top: 12px; }
.menu > ul > li > .services-toggle { color: #fff; font-size: 20px; font-weight: 500; }
.navigation :focus-visible { outline-color: #fff; }
@media (min-width: 992px) { .menu > ul > li > .services-toggle { font-size: 16px; } }

/* Visible neighbouring promotion cards need readable text as they move.
   Keep the card movement, but do not fade their text through low contrast. */
.deal .deal-slider .swiper-slide { transition-property: transform, top; }
.deal .deal-slider .swiper-slide-prev,
.deal .deal-slider .swiper-slide-next { opacity: 1; }

/* Preserve the intrinsic proportions of technology illustrations. */
.howTabs-technology-header .howTabs-img img { height: auto; }

/* Promotion titles follow the page H1 while retaining the existing card style. */
.dealPage-card h2 {
  font-weight: 400;
  font-size: 24px;
  line-height: 100%;
  margin: 0 0 20px;
  color: #fff;
  text-align: left;
}

/* Reserve the map's final height before third-party content loads. */
.about-map { min-height: 400px; }
.about-map iframe { display: block; width: 100%; height: 400px; border: 0; }
.about-block h2 {
  font-size: 16px;
  font-weight: 400;
  line-height: normal;
  margin: 0 0 5px;
  text-align: start;
}
#inputResult h2, #inputResult h3 {
  font-weight: 700;
  line-height: normal;
  margin: 0;
  text-align: start;
}
#inputResult h2 { font-size: 16px; }
#inputResult h3 { font-size: 13.28px; }
