/* Fixes intentionally scoped to the About page only. */

/* Keep the About hero image behind its heading without distortion. */
.about-page .s-hm {
  position: relative;
  overflow: hidden;
}
.about-page .s-hm .s-o,
.about-page .s-hm .s-bg,
.about-page .s-hm .s-bg-l {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.about-page .s-hm .s-bg-l picture,
.about-page .s-hm .s-bg-l img {
  display: block;
  width: 100%;
  height: 100%;
}
.about-page .s-hm .s-bg-l img {
  object-fit: cover;
  object-position: center;
}
.about-page .s-hm .h-c {
  position: relative;
  z-index: 2;
  background: transparent !important;
}

/* General content images retain their natural proportions. */
.about-page .b-img .b-img-w,
.about-page .b-img .b-img-c,
.about-page .b-img picture {
  width: 100%;
}
.about-page .b-img .b-img-c {
  box-sizing: border-box;
}
.about-page .b-img .b-img-c img {
  max-width: 100%;
}

/* Team portraits: smaller, centered, and proportional. */
.about-page .mt.imageLeftFloat .mt-item > .b-img.wnd-type-image {
  width: 150px !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.about-page .mt.imageLeftFloat .mt-item > .b-img.wnd-type-image .b-img-w,
.about-page .mt.imageLeftFloat .mt-item > .b-img.wnd-type-image .b-img-c {
  width: 100% !important;
}
.about-page .mt.imageLeftFloat .mt-item > .b-img.wnd-type-image img {
  object-fit: contain !important;
  object-position: center !important;
}

@media (max-width: 767px) {
  .about-page .mt.imageLeftFloat .mt-item > .b-img.wnd-type-image {
    width: 130px !important;
  }
}

/* v4: keep the full heads visible in the wide About hero. */
.about-page .s-hm .s-bg-l img {
  object-position: center top !important;
}

/* v4: team member cards need their own vertical space; do not let portraits float into the next row. */
.about-page .mt.imageLeftFloat .mt-container {
  align-items: stretch;
}
.about-page .mt.imageLeftFloat .mt-item {
  box-sizing: border-box;
  display: flex !important;
  align-items: center;
  gap: 16px;
  min-height: 174px;
  padding: 12px !important;
}
.about-page .mt.imageLeftFloat .mt-item > .b-img.wnd-type-image {
  float: none !important;
  flex: 0 0 140px;
  width: 140px !important;
  height: 140px !important;
  margin: 0 !important;
  padding: 0 !important;
}
.about-page .mt.imageLeftFloat .mt-item > .b-img.wnd-type-image .b-img-w,
.about-page .mt.imageLeftFloat .mt-item > .b-img.wnd-type-image .b-img-c {
  width: 140px !important;
  height: 140px !important;
}
.about-page .mt.imageLeftFloat .mt-item > .b-img.wnd-type-image .b-img-c {
  padding-bottom: 0 !important;
}
.about-page .mt.imageLeftFloat .mt-item > .b-text {
  min-width: 0;
  flex: 1 1 auto;
}
.about-page .mt.imageLeftFloat .mt-item > .b-text .b-text-c {
  padding: 0 !important;
}

@media (max-width: 767px) {
  .about-page .mt.imageLeftFloat .mt-item {
    min-height: 154px;
    gap: 12px;
    padding: 10px 4px !important;
  }
  .about-page .mt.imageLeftFloat .mt-item > .b-img.wnd-type-image,
  .about-page .mt.imageLeftFloat .mt-item > .b-img.wnd-type-image .b-img-w,
  .about-page .mt.imageLeftFloat .mt-item > .b-img.wnd-type-image .b-img-c {
    flex-basis: 120px;
    width: 120px !important;
    height: 120px !important;
  }
}

/* About page only: darken the hero background for better text/menu contrast. */
.about-page .s-hm .s-bg-l {
  position: absolute;
}
.about-page .s-hm .s-bg-l::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: rgba(0, 0, 0, 0.42);
  pointer-events: none;
}
.about-page .s-hm .s-bg-l picture {
  position: relative;
  z-index: 0;
}

/* About page only: keep the main navigation text white. */
.about-page #menu .menu-item,
.about-page #menu .menu-item:link,
.about-page #menu .menu-item:visited,
.about-page #menu .menu-item:hover,
.about-page #menu .menu-item:focus,
.about-page #menu .menu-item:active,
.about-page #menu .menu-item-text,
.about-page #menu .more-text {
  color: #fff !important;
}

/* About page only: tighten spacing around the Core Business image. */
.about-page #wnd_ImageBlock_68171776822362581302 {
  padding-bottom: 0 !important;
}
.about-page #wnd_ImageBlock_68171776822362581302 + .cw {
  margin-top: 0 !important;
}
.about-page #wnd_ImageBlock_41801776155217466 {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
.about-page #wnd_ImageBlock_41801776155217466 + .b-hr-line {
  margin-top: 0 !important;
}

@media (max-width: 767px) {
  .about-page #wnd_ImageBlock_68171776822362581302,
  .about-page #wnd_ImageBlock_41801776155217466 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
}


/* 2026-09 requested content/layout adjustments. */
/* Home page: service-item descriptions should be left aligned. */
.home-page .home-services-grid .mt-item .b-text p {
  text-align: left !important;
}

/* Services page: keep the occupational-health-management-system label on one line,
   while preserving the same left-column alignment as the rows above and below. */
.service-system-label,
.service-system-label * {
  white-space: nowrap !important;
}

/* Technology tools page: both contact lines use the same left edge and type size. */
.technology-tools-page .tech-contact {
  font-size: 1rem;
  line-height: 1.65;
  text-align: left;
}
.technology-tools-page .tech-contact p {
  margin: 0 0 0.35em 0 !important;
  padding: 0 !important;
  text-align: left !important;
  font-size: inherit !important;
}
.technology-tools-page .tech-contact a {
  font-size: inherit !important;
}
