/* Company family */
.company-page--about .ui-marketing-hero__overlay {
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.5) 43%, rgba(0, 0, 0, 0) 57%, rgba(0, 0, 0, 0) 100%);
}

.company-page--about .ui-marketing-hero__inner {
  align-items: flex-start;
  padding-top: 177px;
}

.company-page--about .ui-marketing-hero__content {
  width: 759px;
}

.company-page--about .ui-marketing-hero h1 {
  max-width: 704px;
}

.company-page--about .ui-marketing-hero__text {
  max-width: 565px;
  margin-top: 18px !important;
  font-size: 24px;
  font-weight: 500;
  line-height: 36px;
}

.company-page--about .ui-media-feature--company-intro {
  min-height: 629px;
  padding: 60px 0 69px;
}

.company-page--about .ui-media-feature--company-intro .ui-media-feature__inner {
  grid-template-columns: minmax(0, 721px) 367px;
  gap: 53px;
  margin-top: 60px;
}

.company-page--about .ui-media-feature--company-intro .ui-media-feature__media {
  width: 367px;
  height: 355px;
  border-radius: 7px;
}

.company-page--about .ui-media-feature--company-intro .ui-media-feature__copy {
  color: #1b1d21;
}

.ui-business-area-grid {
  min-height: 596px;
  padding: 60px 0 106px;
  background: var(--ui-grey);
}

.ui-business-area-grid--white {
  background: var(--ui-white);
}

.ui-business-area-grid h2,
.ui-team h2,
.ui-image-strip--with-heading h2 {
  font-size: 34px;
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: 0.25px;
  text-align: center;
}

.ui-business-area-grid__intro {
  margin-top: 29px !important;
  font-size: 18px;
  font-weight: 400;
  line-height: 27px;
  letter-spacing: 0.5px;
}

.ui-business-area-grid__items {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 22px;
  padding: 0;
  margin: 95px 0 0;
  list-style: none;
}

.ui-business-area-grid__item {
  min-width: 0;
}

.ui-business-area-grid__item::before,
.ui-team__member::before {
  display: none;
  content: none;
}

.ui-business-area-grid__link {
  display: flex;
  min-height: 149px;
  flex-direction: column;
  align-items: center;
  color: var(--ui-black) !important;
  text-align: center;
  text-decoration: none;
}

.ui-business-area-grid__link:hover .ui-business-area-grid__label,
.ui-business-area-grid__link:focus-visible .ui-business-area-grid__label {
  color: var(--ui-red);
}

.ui-business-area-grid__link:focus-visible {
  border-radius: 6px;
  outline: 3px solid var(--ui-red);
  outline-offset: 6px;
}

.ui-business-area-grid__icon {
  display: flex;
  width: 100%;
  height: 69px;
  align-items: flex-end;
  justify-content: center;
}

.ui-business-area-grid__icon img {
  display: block;
  width: auto;
  max-width: 85px;
  height: auto;
  max-height: 69px;
}

.ui-business-area-grid__label {
  margin-top: 16px;
  font-size: 24px;
  font-weight: 700;
  line-height: 32px;
  transition: color 160ms ease;
}

.ui-business-area-grid__label > span {
  display: block;
}

.ui-team {
  padding-top: 50px;
  background: var(--ui-white);
}

.ui-team__members {
  width: min(calc(100% - 64px), 1140px);
  padding: 0;
  margin-top: 0;
  margin-bottom: 0;
  list-style: none;
}

.ui-team__member {
  padding: 44px 0;
  border-bottom: 1px solid #595959;
}

.ui-team__article {
  display: grid;
  grid-template-columns: 548px 550px;
  gap: 53px;
  align-items: start;
}

.ui-team__media {
  width: 548px;
  height: 439px;
  overflow: hidden;
}

.ui-team__image {
  object-fit: cover;
  object-position: center;
}

.ui-team__member:nth-child(3) .ui-team__image,
.ui-team__member:nth-child(4) .ui-team__image {
  height: 124.9%;
  transform: translateY(-2.65%);
}

.ui-team__member:nth-child(5) .ui-team__media {
  height: 449px;
}

.ui-team__member:nth-child(5) .ui-team__image {
  height: 122.1%;
  transform: translateY(-2.58%);
}

.ui-team h3 {
  font-size: 34px;
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: -0.75px;
}

.ui-team__bio {
  margin-top: 32px;
  color: #1b1d21;
}

.ui-team__bio p {
  font-size: 18px;
  font-weight: 400;
  line-height: 27px;
  letter-spacing: 0.5px;
}

.ui-team__bio p + p {
  margin-top: 27px !important;
}

.ui-team__bio a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.ui-team__bio a:focus-visible {
  border-radius: 2px;
  outline: 3px solid var(--ui-red);
  outline-offset: 3px;
}

.ui-history--timeline {
  min-height: 727px;
  padding: 60px 0 45px;
}

.ui-history--timeline .ui-history__timeline {
  display: grid;
  gap: 8px;
  padding: 0;
  margin: 52px 0 0;
  list-style: none;
}

.ui-history--timeline .ui-history__timeline li {
  display: grid;
  grid-template-columns: 13px minmax(0, 1fr);
  gap: 8px;
  align-items: start;
  font-size: 18px;
  font-weight: 400;
  line-height: 27px;
  letter-spacing: 0.5px;
}

.ui-history--timeline .ui-history__timeline li::before {
  display: none;
  content: none;
  background: none;
}

.ui-history--timeline .ui-history__timeline-marker {
  display: block;
  width: 13px;
  height: 13px;
  margin-top: 5px;
  border-radius: 3px;
  background: var(--ui-red);
}

.ui-history--timeline .ui-history__timeline strong {
  font-weight: 700;
}

.ui-image-strip--with-heading {
  padding-top: 58px;
}

.ui-image-strip--with-heading .ui-image-strip__track {
  padding-top: 51px;
  padding-bottom: 76px;
}

.company-page--about .ui-image-strip--with-heading {
  margin-bottom: -36px;
}

@media (min-width: 1024px) {
  .ui-team__member:nth-child(3) {
    padding-bottom: 13px;
  }
}

@media (min-width: 1024px) and (max-width: 1359px) {
  .company-page .ui-container,
  .company-page .ui-container--wide {
    width: calc(100% - 80px);
  }

  .company-page .ui-team__members {
    width: calc(100% - 80px);
  }

  .company-page--about .ui-media-feature--company-intro .ui-media-feature__inner {
    grid-template-columns: minmax(0, 1fr) 367px;
    gap: 48px;
  }

  .ui-team__article {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 48px;
  }

  .ui-team__media {
    width: 100%;
    height: auto;
    aspect-ratio: 548 / 439;
  }
}

@media (max-width: 1023px) {
  .company-page--about .ui-image-strip--with-heading {
    margin-bottom: 0;
  }

  .company-page--about .ui-marketing-hero__inner {
    padding-top: 140px;
  }

  .company-page--about .ui-marketing-hero__content {
    width: 66%;
  }

  .company-page--about .ui-marketing-hero__text {
    font-size: 20px;
    line-height: 30px;
  }

  .company-page--about .ui-media-feature--company-intro {
    min-height: 0;
    padding: 48px 0 50px;
  }

  .company-page--about .ui-media-feature--company-intro .ui-media-feature__inner {
    grid-template-columns: minmax(0, 1fr) minmax(260px, 42%);
    gap: 32px;
    margin-top: 36px;
  }

  .company-page--about .ui-media-feature--company-intro .ui-media-feature__media {
    width: 100%;
    height: auto;
    aspect-ratio: 367 / 355;
  }

  .ui-business-area-grid {
    min-height: 0;
    padding: 48px 0 54px;
  }

  .ui-business-area-grid__intro {
    font-size: 16px;
    line-height: 24px;
  }

  .ui-business-area-grid__items {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 44px 24px;
    margin-top: 54px;
  }

  .ui-business-area-grid__item {
    grid-column: span 2;
  }

  .ui-business-area-grid__item:nth-child(4) {
    grid-column: 2 / span 2;
  }

  .ui-business-area-grid__item:nth-child(5) {
    grid-column: 4 / span 2;
  }

  .ui-business-area-grid__label {
    font-size: 20px;
    line-height: 28px;
  }

  .ui-team {
    padding-top: 48px;
  }

  .ui-team__member {
    padding: 40px 0;
  }

  .ui-team__article {
    grid-template-columns: minmax(0, 46%) minmax(0, 54%);
    gap: 32px;
  }

  .ui-team__media {
    width: 100%;
    height: auto;
    aspect-ratio: 548 / 439;
  }

  .ui-team__member:nth-child(5) .ui-team__media {
    height: auto;
  }

  .ui-team h3 {
    font-size: 30px;
  }

  .ui-team__bio {
    margin-top: 24px;
  }

  .ui-team__bio p {
    font-size: 16px;
    line-height: 24px;
  }

  .ui-team__bio p + p {
    margin-top: 20px !important;
  }

  .ui-history--timeline {
    min-height: 0;
    padding: 48px 0 50px;
  }

  .ui-history--timeline .ui-history__timeline {
    margin-top: 40px;
  }

  .ui-history--timeline .ui-history__timeline li {
    font-size: 16px;
    line-height: 24px;
  }

  .ui-image-strip--with-heading {
    padding-top: 48px;
  }

  .ui-image-strip--with-heading .ui-image-strip__track {
    padding-top: 36px;
    padding-bottom: 50px;
  }
}

@media (max-width: 767px) {
  .company-page--about .ui-media-feature--company-intro .ui-media-feature__inner,
  .ui-team__article {
    grid-template-columns: 1fr;
  }

  .company-page--about .ui-media-feature--company-intro .ui-media-feature__media {
    max-width: 367px;
    margin: 0 auto;
  }

  .ui-team__media {
    max-width: 548px;
    margin: 0 auto;
  }

  .ui-business-area-grid__items {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 36px 20px;
    margin-top: 40px;
  }

  .ui-business-area-grid__item,
  .ui-business-area-grid__item:nth-child(4) {
    grid-column: auto;
  }

  .ui-business-area-grid__item:nth-child(5) {
    grid-column: 1 / -1;
  }
}

@media (max-width: 600px) {
  .company-page .ui-team__members {
    width: calc(100% - 40px);
  }

  .company-page--about .ui-marketing-hero__inner {
    padding-top: 116px;
  }

  .company-page--about .ui-marketing-hero__content {
    width: 100%;
  }

  .company-page--about .ui-marketing-hero__overlay {
    background: linear-gradient(90deg, rgba(0, 0, 0, 0.82) 0%, rgba(0, 0, 0, 0.62) 75%, rgba(0, 0, 0, 0.3) 100%);
  }

  .company-page--about .ui-marketing-hero__text {
    max-width: 340px;
    font-size: 16px;
    line-height: 24px;
  }

  .company-page--about .ui-media-feature--company-intro {
    padding: 40px 0 42px;
  }

  .company-page--about .ui-media-feature--company-intro .ui-media-feature__inner {
    gap: 30px;
    margin-top: 28px;
  }

  .ui-business-area-grid,
  .ui-history--timeline {
    padding-top: 40px;
    padding-bottom: 44px;
  }

  .ui-business-area-grid h2,
  .ui-team h2,
  .ui-image-strip--with-heading h2 {
    font-size: 28px;
    line-height: 35px;
  }

  .ui-business-area-grid__intro {
    margin-top: 22px !important;
  }

  .ui-business-area-grid__items {
    gap: 32px 20px;
  }

  .ui-business-area-grid__link {
    min-height: 128px;
  }

  .ui-business-area-grid__icon {
    height: 60px;
  }

  .ui-business-area-grid__icon img {
    max-width: 74px;
    max-height: 60px;
  }

  .ui-business-area-grid__label {
    margin-top: 14px;
    font-size: 18px;
    line-height: 24px;
  }

  .ui-team {
    padding-top: 40px;
  }

  .ui-team__member {
    padding: 32px 0;
  }

  .ui-team__article {
    gap: 28px;
  }

  .ui-team h3 {
    font-size: 28px;
    line-height: 35px;
  }

  .ui-team__bio {
    margin-top: 20px;
  }

  .ui-team__member:nth-child(3) .ui-team__image,
  .ui-team__member:nth-child(4) .ui-team__image,
  .ui-team__member:nth-child(5) .ui-team__image {
    height: 124.9%;
    transform: translateY(-2.65%);
  }

  .ui-history--timeline .ui-history__timeline {
    gap: 10px;
    margin-top: 32px;
  }

  .ui-history--timeline .ui-history__timeline li {
    grid-template-columns: 11px minmax(0, 1fr);
    font-size: 14px;
    line-height: 20px;
  }

  .ui-history--timeline .ui-history__timeline-marker {
    width: 11px;
    height: 11px;
    margin-top: 4px;
  }

  .ui-image-strip--with-heading {
    padding-top: 40px;
  }

  .ui-image-strip--with-heading .ui-image-strip__track {
    padding-top: 30px;
    padding-bottom: 42px;
  }
}

/* Partner page */
.company-page--partner {
  background: var(--ui-grey);
}

.ui-partner-list {
  padding: 0;
  margin: 0;
  list-style: none;
}

.ui-partner-list__item {
  display: flex;
  min-height: 352px;
  align-items: center;
  padding: 0;
  margin: 0;
  background: var(--ui-white);
}

.ui-partner-list__item:nth-child(even) {
  background: var(--ui-grey);
}

.ui-partner-list__item:nth-child(1) {
  min-height: 496px;
}

.ui-partner-list__item:nth-child(2) {
  min-height: 426px;
}

.ui-partner-list__item:nth-child(3) {
  min-height: 338px;
}

.ui-partner-list__item:nth-child(6),
.ui-partner-list__item:nth-child(8) {
  min-height: 415px;
}

.ui-partner-list__item::before {
  display: none;
  content: none;
  background: none;
}

.ui-partner-list__inner {
  display: grid;
  width: min(calc(100% - 64px), 1130px);
  grid-template-columns: 344px 592px;
  gap: 194px;
  align-items: start;
  padding: 32px 0;
  margin: 0 auto;
}

.ui-partner-list__logo-link {
  display: flex;
  width: 344px;
  height: 198px;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border-radius: 8px;
}

.ui-partner-list__logo-link:focus-visible {
  outline: 3px solid var(--ui-red);
  outline-offset: 5px;
}

.ui-partner-list__logo {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.ui-partner-list__content {
  width: 592px;
  color: var(--ui-black);
}

.ui-partner-list__content h2 {
  font-size: 34px;
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: 0.25px;
}

.ui-partner-list__content p {
  margin-top: 16px !important;
  font-size: 18px;
  font-weight: 400;
  line-height: 27px;
  letter-spacing: 0.5px;
}

.ui-partner-list__content p + p {
  margin-top: 0 !important;
}

@media (min-width: 1024px) and (max-width: 1359px) {
  .ui-partner-list__inner {
    width: calc(100% - 80px);
    grid-template-columns: minmax(280px, 344px) minmax(0, 592px);
    gap: clamp(48px, 8vw, 120px);
  }

  .ui-partner-list__logo-link,
  .ui-partner-list__content {
    width: 100%;
  }
}

@media (max-width: 1023px) {
  .ui-partner-list__item,
  .ui-partner-list__item:nth-child(n) {
    min-height: 0;
  }

  .ui-partner-list__inner {
    width: calc(100% - 64px);
    grid-template-columns: minmax(220px, 34%) minmax(0, 1fr);
    gap: 48px;
    padding: 56px 0;
  }

  .ui-partner-list__logo-link {
    width: 100%;
    height: auto;
    aspect-ratio: 344 / 198;
  }

  .ui-partner-list__content {
    width: auto;
  }

  .ui-partner-list__content h2 {
    font-size: 30px;
  }

  .ui-partner-list__content p {
    font-size: 16px;
    line-height: 24px;
  }
}

@media (max-width: 767px) {
  .ui-partner-list__inner {
    width: calc(100% - 48px);
    grid-template-columns: minmax(0, 1fr);
    gap: 32px;
    padding: 48px 0;
  }

  .ui-partner-list__logo-link {
    width: min(100%, 344px);
    margin: 0 auto;
  }

  .ui-partner-list__content {
    max-width: 592px;
    margin: 0 auto;
  }
}

@media (max-width: 600px) {
  .ui-partner-list__inner {
    width: calc(100% - 40px);
    gap: 28px;
    padding: 40px 0;
  }

  .ui-partner-list__content h2 {
    font-size: 28px;
    line-height: 35px;
  }
}
