.center-logos {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

/* About Us - What Makes Us Different background image & styles */
.vc_custom_1750141928718 {
  margin-right: 10% !important;
  margin-bottom: 50px !important;
  margin-left: 10% !important;
  padding-top: 110px !important;
  padding-bottom: 110px !important;
  min-height: 470px !important;
  background-image: url(../images/Abut-Us-2-scaled.webp) !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  box-sizing: border-box !important;
}

.vc_custom_1750141928718 .vc_separator {
  display: none !important;
}

.page-id-142 .emsWho,
.vc_custom_1750141928718 .emsWho {
  background: #ffffff !important;
  padding: 48px 44px !important;
  font-size: 19px !important;
  line-height: 29px !important;
  border-top: 10px solid #e53935 !important;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08) !important;
}

.page-id-142 .wpb_text_column.wpb_content_element.emsWho p,
.vc_custom_1750141928718 .wpb_text_column.wpb_content_element.emsWho p {
  text-align: -webkit-center;
  text-align: center;
  margin: 0;
}

/* Health & Safety specific reset */
.page-id-1851 .emsWho {
  border-top: none !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* About Us - Timeline of key projects */
#site .vc_section.bg-primary.shape-1:before {
  top: 480px !important;
  bottom: 0 !important;
  height: auto !important;
  background: #ffffff !important;
}

@media only screen and (min-width: 1025px) {
  #site .vc_section.bg-primary.shape-1:before {
    top: auto !important;
    bottom: 0 !important;
    height: 280px !important;
    background: #ffffff !important;
  }
}

/*images height*/
#site .elements-carousel.timeline img {
  height: 178px;
}

.vc_custom_1750135978636 {
  padding-top: 10px !important;
}

/* About page: team photo fills the text column so its edges line up with the title and text (2026-11-05) */
.page-id-142 .vc_custom_1750135978636 .wpb_single_image .vc_figure,
.page-id-142 .vc_custom_1750135978636 .wpb_single_image .vc_single_image-wrapper,
.page-id-142 .vc_custom_1750135978636 .wpb_single_image .vc_single_image-img { display: block; width: 100%; max-width: 100%; }
.page-id-142 .vc_custom_1750135978636 .wpb_single_image .vc_single_image-img { height: auto; }

.vc_custom_1750164805718 {
  padding-top: 80px !important;
}

.vc_custom_1581155987919 {
  padding-top: 60px !important;
}

.vc_custom_1752744493063 {
  padding-top: 2% !important;
}

.vc_custom_1750165020805 {
  padding-top: 2% !important;
}

@media only screen and (min-width: 320px) and (max-width: 991px) {
  .vc_custom_1750141928718 {
    margin-right: 15px !important;
    margin-left: 15px !important;
    margin-bottom: 40px !important;
    padding-top: 30px !important;
    padding-bottom: 30px !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
    min-height: auto !important;
    background-position: center center !important;
    background-size: cover !important;
  }

  .vc_custom_1750141928718 .wpb_column.vc_col-sm-4 {
    display: none !important;
  }

  .vc_custom_1750141928718 .wpb_column.vc_col-sm-8 {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
  }

  .page-id-142 .emsWho,
  .vc_custom_1750141928718 .emsWho {
    padding: 24px 18px !important;
    font-size: 15px !important;
    line-height: 23px !important;
    margin: 0 !important;
  }

  .vc_sep_width_10 {
    width: 30% !important;
  }
}

/* Global Container Reset on Tablet & Mobile (<= 1024px) */
@media only screen and (max-width: 1024px) {

  html,
  body {
    overflow-x: hidden !important;
    max-width: 100% !important;
  }

  .wrap,
  .content>.vc_row>.row-inner,
  .content>.vc_section>.vc_row>.row-inner,
  .vc_row>.row-inner,
  .row-inner {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
}

/* Management Page (page-id-363) Responsive Layout */
.page-id-363 .content-body {
  padding-bottom: 60px;
}

/* Tablet View (768px – 1024px) */
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .page-id-363 #people p.vc_custom_heading {
    font-size: 19px !important;
    line-height: 28px !important;
    text-align: center !important;
    padding: 0 20px !important;
    margin: 0 auto !important;
    max-width: 800px !important;
  }

  .page-id-363 #people .vc_empty_space {
    height: 35px !important;
  }

  .page-id-363 .content>.vc_row .row-inner,
  .page-id-363 .vc_row.wpb_row .row-inner {
    display: flex !important;
    flex-wrap: wrap !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding: 0 20px !important;
    box-sizing: border-box !important;
  }

  .page-id-363 .content>.vc_row .row-inner>.wpb_column.vc_col-sm-3,
  .page-id-363 .wpb_column.vc_col-sm-3 {
    width: 50% !important;
    max-width: 50% !important;
    flex: 0 0 50% !important;
    box-sizing: border-box !important;
    padding: 0 15px 30px 15px !important;
    float: left;
  }

  /* Hide empty placeholder columns */
  .page-id-363 .wpb_column.vc_col-sm-3:empty,
  .page-id-363 .wpb_column.vc_col-sm-3:not(:has(.member)) {
    display: none !important;
  }

  .page-id-363 .vc_custom_1712923319184,
  .page-id-363 .vc_custom_1712923328161,
  .page-id-363 .vc_custom_1712923334736,
  .page-id-363 .vc_custom_1750072961452 {
    padding-top: 0 !important;
  }

  .page-id-363 .member.style2 {
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1) !important;
    padding-bottom: 15px !important;
  }

  .page-id-363 .member.style2 .member-info {
    padding: 0 !important;
    margin-top: 0 !important;
  }

  .page-id-363 .member.style2 .member-name {
    font-size: 20px !important;
    line-height: 1.3 !important;
    margin: 0 0 6px 0 !important;
    color: #111111 !important;
  }

  .page-id-363 .member.style2 .member-subtitle {
    font-size: 13px !important;
    line-height: 18px !important;
    letter-spacing: 0.5px !important;
    text-transform: uppercase !important;
    color: #777777 !important;
    opacity: 0.8 !important;
  }
}

/* Mobile View (< 768px) */
@media only screen and (max-width: 767px) {
  .page-id-363 #people p.vc_custom_heading {
    font-size: 16px !important;
    line-height: 24px !important;
    text-align: center !important;
    padding: 0 15px !important;
    margin: 0 auto !important;
  }

  .page-id-363 #people .vc_empty_space {
    height: 25px !important;
  }

  .page-id-363 .content>.vc_row .row-inner,
  .page-id-363 .vc_row.wpb_row .row-inner {
    display: flex !important;
    flex-wrap: wrap !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding: 0 10px !important;
    box-sizing: border-box !important;
  }

  .page-id-363 .content>.vc_row .row-inner>.wpb_column.vc_col-sm-3,
  .page-id-363 .wpb_column.vc_col-sm-3 {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    box-sizing: border-box !important;
    padding: 0 10px 20px 10px !important;
    float: none !important;
  }

  /* Hide empty placeholder columns */
  .page-id-363 .wpb_column.vc_col-sm-3:empty,
  .page-id-363 .wpb_column.vc_col-sm-3:not(:has(.member)) {
    display: none !important;
  }

  .page-id-363 .vc_custom_1712923319184,
  .page-id-363 .vc_custom_1712923328161,
  .page-id-363 .vc_custom_1712923334736,
  .page-id-363 .vc_custom_1750072961452 {
    padding-top: 0 !important;
  }

  .page-id-363 .member.style2 {
    border-bottom: 1px solid rgba(0, 0, 0, 0.1) !important;
    padding-bottom: 14px !important;
    margin-bottom: 0 !important;
  }

  .page-id-363 .member.style2 .member-info {
    padding: 0 !important;
    margin-top: 0 !important;
  }

  .page-id-363 .member.style2 .member-name {
    font-size: 19px !important;
    line-height: 1.3 !important;
    margin: 0 0 4px 0 !important;
    color: #111111 !important;
  }

  .page-id-363 .member.style2 .member-subtitle {
    font-size: 13px !important;
    line-height: 18px !important;
    letter-spacing: 0.5px !important;
    text-transform: uppercase !important;
    color: #777777 !important;
    opacity: 0.8 !important;
  }
}

/* Careers Page (page-id-1734) Responsive Styles */
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .page-id-1734 #safety.vc_section {
    padding-top: 40px !important;
    padding-bottom: 20px !important;
    background-size: 140px !important;
    background-position: right bottom !important;
  }

  .page-id-1734 #site .iconlist.columns-3 {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .page-id-1734 #site .iconlist.columns-3 li {
    width: 33.3333% !important;
    max-width: 33.3333% !important;
    flex: 1 1 33.3333% !important;
    box-sizing: border-box !important;
    padding: 0 20px 90px 20px !important;
    margin: 0 !important;
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    float: none !important;
  }

  .page-id-1734 #site .iconlist.columns-3 li:after {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    bottom: 30px !important;
    right: 0 !important;
    left: auto !important;
    width: 1px !important;
    height: auto !important;
    background: rgba(0, 0, 0, 0.1) !important;
    display: block !important;
  }

  .page-id-1734 #site .iconlist.columns-3 li:last-child:after,
  .page-id-1734 #site .iconlist.columns-3 li:nth-child(3n):after {
    display: none !important;
  }

  .page-id-1734 #site .iconlist.iconlist-icon-large li:before {
    font-size: 1.8rem !important;
    margin-bottom: 12px !important;
    color: #888888 !important;
    opacity: 0.5 !important;
  }

  .page-id-1734 #site .iconlist.columns-3 li h3 {
    font-size: 18px !important;
    line-height: 24px !important;
    font-weight: 700 !important;
    margin-bottom: 12px !important;
    color: #111111 !important;
  }

  .page-id-1734 #site .iconlist.columns-3 li p,
  .page-id-1734 #site .iconlist.columns-3 li p span {
    font-size: 13.5px !important;
    line-height: 21px !important;
    color: #7f7f7f !important;
  }

  .page-id-1734 #site .iconlist.iconlist-icon-large li .iconlist-item-icon {
    position: absolute !important;
    bottom: 15px !important;
    left: 20px !important;
    margin: 0 !important;
    max-width: 55px !important;
    width: 55px !important;
  }

  .page-id-1734 .vc_custom_1615889141452 {
    padding: 40px 30px !important;
    border-radius: 0 50px !important;
    margin: 30px auto !important;
  }

  .page-id-1734 .brd-cls h3 {
    font-size: 24px !important;
    line-height: 30px !important;
  }

  .page-id-1734 .box-wrapper {
    font-size: 15px !important;
    line-height: 25px !important;
  }
}

@media only screen and (max-width: 767px) {
  .page-id-1734 #safety.vc_section {
    padding-top: 30px !important;
    padding-bottom: 10px !important;
    background-size: 100px !important;
    background-position: right bottom !important;
  }

  .page-id-1734 #site .iconlist.columns-3 {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .page-id-1734 #site .iconlist.columns-3 li {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    padding: 0 5px 85px 5px !important;
    margin: 0 0 35px 0 !important;
    position: relative !important;
    display: block !important;
    float: none !important;
  }

  .page-id-1734 #site .iconlist.columns-3 li:after {
    content: "" !important;
    position: absolute !important;
    bottom: 0 !important;
    top: auto !important;
    left: 5px !important;
    right: 5px !important;
    width: auto !important;
    height: 1px !important;
    background: rgba(0, 0, 0, 0.1) !important;
    display: block !important;
  }

  .page-id-1734 #site .iconlist.columns-3 li:last-child:after {
    display: none !important;
  }

  .page-id-1734 #site .iconlist.iconlist-icon-large li:before {
    font-size: 1.8rem !important;
    margin-bottom: 10px !important;
    color: #888888 !important;
    opacity: 0.5 !important;
    display: block !important;
  }

  .page-id-1734 #site .iconlist.columns-3 li h3 {
    font-size: 19px !important;
    line-height: 25px !important;
    font-weight: 700 !important;
    margin-bottom: 10px !important;
    color: #111111 !important;
  }

  .page-id-1734 #site .iconlist.columns-3 li p,
  .page-id-1734 #site .iconlist.columns-3 li p span {
    font-size: 14px !important;
    line-height: 22px !important;
    color: #7f7f7f !important;
  }

  .page-id-1734 #site .iconlist.iconlist-icon-large li .iconlist-item-icon {
    position: absolute !important;
    bottom: 15px !important;
    left: 5px !important;
    margin: 0 !important;
    max-width: 55px !important;
    width: 55px !important;
  }

  .page-id-1734 .vc_custom_1615889141452 {
    padding: 30px 20px !important;
    border-radius: 0 35px !important;
    margin: 20px auto !important;
  }

  .page-id-1734 .brd-cls h3 {
    font-size: 20px !important;
    line-height: 26px !important;
  }

  .page-id-1734 .box-wrapper {
    font-size: 14px !important;
    line-height: 23px !important;
    word-break: break-word !important;
  }

  .page-id-1734 .vc_sep_width_10 {
    width: 30% !important;
  }

  .page-id-1734 .vc_section.text-area {
    background-size: 100px !important;
    background-position: right bottom !important;
  }
}

/* ==========================================================================
   PROJECTS PAGE RESPONSIVE (page-id-1073)
   ========================================================================== */

/* Container width constraint for tablet & mobile */
@media only screen and (max-width: 1024px) {
  .page-id-1073 .wrap,
  .page-id-1073 .content-body-inner,
  .page-id-1073 .content-header-inner,
  .page-id-1073 .main-content-inner,
  .page-id-1073 .content > .vc_row > .row-inner,
  .page-id-1073 .vc_section > .vc_row > .row-inner,
  .page-id-1073 .row-inner {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
}

/* Projects Page Tablet (768px - 1024px) */
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .page-id-1073 .content-header-inner.wrap,
  .page-id-1073 .content-body-inner.wrap {
    padding-left: 30px !important;
    padding-right: 30px !important;
    box-sizing: border-box !important;
  }

  .page-id-1073 .content-header {
    padding: 40px 0 30px !important;
  }

  .page-id-1073 .vc_custom_1712923743213,
  .page-id-1073 .vc_section:first-of-type {
    padding-top: 35px !important;
    padding-bottom: 20px !important;
  }

  .page-id-1073 .vc_custom_1712923743213 .row-inner,
  .page-id-1073 .vc_section:first-of-type .row-inner {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
    gap: 30px !important;
  }

  .page-id-1073 .vc_custom_1712923743213 .wpb_column.vc_col-sm-6,
  .page-id-1073 .vc_section:first-of-type .wpb_column.vc_col-sm-6 {
    width: 50% !important;
    max-width: 50% !important;
    flex: 0 0 50% !important;
    padding: 0 !important;
    float: left !important;
    box-sizing: border-box !important;
  }

  .page-id-1073 .vc_custom_1712923743213 .vc_custom_heading,
  .page-id-1073 .vc_section:first-of-type .vc_custom_heading {
    font-size: 28px !important;
    line-height: 36px !important;
    font-weight: 700 !important;
    color: #0a0a0a !important;
    margin-bottom: 0 !important;
  }

  .page-id-1073 .vc_custom_1712923743213 .wpb_text_column p span,
  .page-id-1073 .vc_section:first-of-type .wpb_text_column p span {
    font-size: 15px !important;
    line-height: 24px !important;
    color: #777777 !important;
  }

  .page-id-1073 .vc_custom_1582337266966 {
    padding-top: 20px !important;
  }

  .page-id-1073 #site .projects-shortcode .projects-items {
    display: flex !important;
    flex-wrap: wrap !important;
    margin-left: -15px !important;
    margin-right: -15px !important;
    position: static !important;
    height: auto !important;
    width: calc(100% + 30px) !important;
  }

  .page-id-1073 #site .projects-shortcode .projects-items .project {
    width: 50% !important;
    max-width: 50% !important;
    flex: 0 0 50% !important;
    box-sizing: border-box !important;
    padding: 0 15px 40px 15px !important;
    float: left !important;
    position: static !important;
    top: auto !important;
    left: auto !important;
    transform: none !important;
    display: block !important;
  }

  .page-id-1073 #site .project-inner {
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
  }

  .page-id-1073 #site .project-thumbnail {
    margin-bottom: 16px !important;
  }

  .page-id-1073 #site .project-thumbnail img {
    width: 100% !important;
    height: auto !important;
    display: block !important;
    border-radius: 0 !important;
  }

  .page-id-1073 #site .project-title {
    font-size: 22px !important;
    line-height: 28px !important;
    font-weight: 700 !important;
    color: #000000 !important;
    text-transform: uppercase !important;
    margin: 0 0 16px 0 !important;
    letter-spacing: 0.5px !important;
  }

  .page-id-1073 #site .project-info-list {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px 20px !important;
    margin-bottom: 20px !important;
  }

  .page-id-1073 #site .project-info-list .item {
    min-width: 0 !important;
    width: 100% !important;
    margin: 0 !important;
  }

  .page-id-1073 #site .project-info-list .item h6 {
    font-size: 11.5px !important;
    line-height: 15px !important;
    color: #34b8e1 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.6px !important;
    margin: 0 0 4px 0 !important;
    font-weight: 600 !important;
  }

  .page-id-1073 #site .project-info-list .item p {
    font-size: 14.5px !important;
    line-height: 20px !important;
    color: #333333 !important;
    margin: 0 !important;
    font-weight: 400 !important;
  }

  .page-id-1073 #site .project-readmore {
    margin-top: auto !important;
  }

  .page-id-1073 #site .project-readmore .button {
    background-color: #c02026 !important;
    color: #ffffff !important;
    width: 100% !important;
    text-align: center !important;
    padding: 13px 20px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    display: block !important;
    box-sizing: border-box !important;
    border: none !important;
    border-radius: 0 !important;
    transition: background-color 0.3s ease !important;
  }

  .page-id-1073 #site .project-readmore .button:hover {
    background-color: #a0181d !important;
  }
}

/* Projects Page Mobile (< 768px) */
@media only screen and (max-width: 767px) {
  .page-id-1073 .content-header-inner.wrap,
  .page-id-1073 .content-body-inner.wrap {
    padding-left: 20px !important;
    padding-right: 20px !important;
    box-sizing: border-box !important;
  }

  .page-id-1073 .content-header {
    padding: 30px 0 20px !important;
  }

  .page-id-1073 .vc_custom_1712923743213,
  .page-id-1073 .vc_section:first-of-type {
    padding-top: 25px !important;
    padding-bottom: 10px !important;
  }

  .page-id-1073 .vc_custom_1712923743213 .row-inner,
  .page-id-1073 .vc_section:first-of-type .row-inner {
    display: block !important;
  }

  .page-id-1073 .vc_custom_1712923743213 .wpb_column.vc_col-sm-6,
  .page-id-1073 .vc_section:first-of-type .wpb_column.vc_col-sm-6 {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    float: none !important;
    box-sizing: border-box !important;
  }

  .page-id-1073 .vc_custom_1712923743213 .vc_custom_heading,
  .page-id-1073 .vc_section:first-of-type .vc_custom_heading {
    font-size: 24px !important;
    line-height: 32px !important;
    font-weight: 700 !important;
    color: #0a0a0a !important;
    margin-bottom: 14px !important;
  }

  .page-id-1073 .vc_custom_1712923743213 .wpb_text_column p span,
  .page-id-1073 .vc_section:first-of-type .wpb_text_column p span {
    font-size: 14px !important;
    line-height: 22px !important;
    color: #777777 !important;
  }

  .page-id-1073 .vc_custom_1582337266966 {
    padding-top: 15px !important;
  }

  .page-id-1073 #site .projects-shortcode .projects-items {
    display: block !important;
    margin: 0 !important;
    position: static !important;
    height: auto !important;
    width: 100% !important;
  }

  .page-id-1073 #site .projects-shortcode .projects-items .project {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 0 35px 0 !important;
    margin-bottom: 25px !important;
    float: none !important;
    position: static !important;
    top: auto !important;
    left: auto !important;
    transform: none !important;
    display: block !important;
    box-sizing: border-box !important;
    border-bottom: 1px solid #eeeeee !important;
  }

  .page-id-1073 #site .projects-shortcode .projects-items .project:last-child {
    border-bottom: none !important;
  }

  .page-id-1073 #site .project-inner {
    width: 100% !important;
  }

  .page-id-1073 #site .project-thumbnail {
    margin-bottom: 15px !important;
  }

  .page-id-1073 #site .project-thumbnail img {
    width: 100% !important;
    height: auto !important;
    display: block !important;
    border-radius: 0 !important;
  }

  .page-id-1073 #site .project-title {
    font-size: 20px !important;
    line-height: 26px !important;
    font-weight: 700 !important;
    color: #000000 !important;
    text-transform: uppercase !important;
    margin: 0 0 14px 0 !important;
    letter-spacing: 0.5px !important;
  }

  .page-id-1073 #site .project-info-list {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 10px 16px !important;
    margin-bottom: 18px !important;
  }

  .page-id-1073 #site .project-info-list .item {
    min-width: 0 !important;
    width: 100% !important;
    margin: 0 !important;
  }

  .page-id-1073 #site .project-info-list .item h6 {
    font-size: 11px !important;
    line-height: 14px !important;
    color: #34b8e1 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    margin: 0 0 3px 0 !important;
    font-weight: 600 !important;
  }

  .page-id-1073 #site .project-info-list .item p {
    font-size: 13.5px !important;
    line-height: 18px !important;
    color: #333333 !important;
    margin: 0 !important;
    font-weight: 400 !important;
  }

  .page-id-1073 #site .project-readmore .button {
    background-color: #c02026 !important;
    color: #ffffff !important;
    width: 100% !important;
    text-align: center !important;
    padding: 12px 20px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    display: block !important;
    box-sizing: border-box !important;
    border: none !important;
    border-radius: 0 !important;
    transition: background-color 0.3s ease !important;
  }

  .page-id-1073 #site .project-readmore .button:hover {
    background-color: #a0181d !important;
  }
}

/* ==========================================================================
   SINGLE PROJECT DETAIL PAGES RESPONSIVE (single-nproject)
   ========================================================================== */

/* Container width constraint for tablet & mobile */
@media only screen and (max-width: 1024px) {
  .single-nproject .wrap,
  .single-nproject .content-body-inner,
  .single-nproject .content-header-inner,
  .single-nproject .main-content-inner,
  .single-nproject .content,
  .single-nproject .main-content {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
}

/* Single Project Tablet (768px - 1024px) */
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .single-nproject .content-header-inner.wrap,
  .single-nproject .content-body-inner.wrap {
    padding-left: 30px !important;
    padding-right: 30px !important;
    box-sizing: border-box !important;
  }

  .single-nproject .content-header {
    padding: 40px 0 25px !important;
  }

  .single-nproject .page-title h1,
  .single-nproject .page-title-inner {
    font-size: 32px !important;
    line-height: 40px !important;
  }

  /* Main Top Project Section */
  .single-nproject .main-content .project-inner {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
  }

  .single-nproject .main-content .project-inner .project-info-list {
    width: 100% !important;
    margin: 0 0 30px 0 !important;
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 14px 24px !important;
  }

  .single-nproject .main-content .project-inner .project-info-list .item {
    min-width: 0 !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .single-nproject .main-content .project-inner .project-info-list .item h6 {
    font-size: 11.5px !important;
    line-height: 15px !important;
    color: #34b8e1 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.6px !important;
    margin: 0 0 4px 0 !important;
    font-weight: 600 !important;
  }

  .single-nproject .main-content .project-inner .project-info-list p {
    font-size: 15px !important;
    line-height: 22px !important;
    color: #333333 !important;
    margin: 0 !important;
    font-weight: 400 !important;
  }

  .single-nproject .project-content {
    width: 100% !important;
    margin: 0 !important;
    overflow: visible !important;
  }

  .single-nproject .project-thumbnail {
    margin-bottom: 25px !important;
    width: 100% !important;
  }

  .single-nproject .project-thumbnail img {
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
    display: block !important;
    border-radius: 0 !important;
    object-fit: cover !important;
  }

  .single-nproject .project-detail {
    font-size: 15px !important;
    line-height: 25px !important;
    margin-bottom: 30px !important;
  }

  /* Related Projects Section */
  .single-nproject .projects-related {
    padding: 50px 0 40px !important;
    overflow: hidden !important;
    clear: both !important;
  }

  .single-nproject .projects-related-title {
    font-size: 24px !important;
    line-height: 30px !important;
    margin: 0 0 25px 0 !important;
    padding-top: 20px !important;
    color: #000000 !important;
    font-weight: 700 !important;
  }

  .single-nproject .projects-related-wrap {
    display: flex !important;
    flex-wrap: wrap !important;
    margin-left: -15px !important;
    margin-right: -15px !important;
    position: static !important;
    height: auto !important;
    width: calc(100% + 30px) !important;
  }

  .single-nproject .projects-related-wrap .project {
    width: 50% !important;
    max-width: 50% !important;
    flex: 0 0 50% !important;
    box-sizing: border-box !important;
    padding: 0 15px 30px 15px !important;
    position: static !important;
    top: auto !important;
    left: auto !important;
    transform: none !important;
    display: block !important;
    float: left !important;
  }

  .single-nproject .projects-related-wrap .project .project-inner {
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    background: #c02026 !important;
    overflow: hidden !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08) !important;
  }

  .single-nproject .projects-related-wrap .project .project-inner img {
    filter: none !important;
    -webkit-filter: none !important;
    width: 100% !important;
    height: 220px !important;
    object-fit: cover !important;
    display: block !important;
  }

  .single-nproject .projects-related-wrap .project .project-info {
    padding: 22px 20px 25px !important;
    background: #c02026 !important;
    flex-grow: 1 !important;
    display: flex !important;
    flex-direction: column !important;
  }

  .single-nproject .projects-related-wrap .project .project-title {
    font-size: 20px !important;
    line-height: 26px !important;
    font-weight: 700 !important;
    color: #000000 !important;
    text-transform: uppercase !important;
    margin: 0 0 16px 0 !important;
    letter-spacing: 0.5px !important;
  }

  .single-nproject .projects-related-wrap .project-info-list {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px 18px !important;
    margin-bottom: 0 !important;
  }

  .single-nproject .projects-related-wrap .project-info-list .item {
    min-width: 0 !important;
    width: 100% !important;
    margin: 0 !important;
  }

  .single-nproject .projects-related-wrap .project-info-list .item h6 {
    font-size: 11.5px !important;
    line-height: 15px !important;
    color: #34b8e1 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.6px !important;
    margin: 0 0 4px 0 !important;
    font-weight: 600 !important;
  }

  .single-nproject .projects-related-wrap .project-info-list .item p {
    font-size: 14px !important;
    line-height: 19px !important;
    color: #000000 !important;
    margin: 0 !important;
    font-weight: 400 !important;
  }
}

/* Single Project Mobile (< 768px) */
@media only screen and (max-width: 767px) {
  .single-nproject .content-header-inner.wrap,
  .single-nproject .content-body-inner.wrap {
    padding-left: 20px !important;
    padding-right: 20px !important;
    box-sizing: border-box !important;
  }

  .single-nproject .content-header {
    padding: 30px 0 20px !important;
  }

  .single-nproject .page-title h1,
  .single-nproject .page-title-inner {
    font-size: 24px !important;
    line-height: 32px !important;
  }

  /* Main Top Project Section */
  .single-nproject .main-content .project-inner {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
  }

  .single-nproject .main-content .project-inner .project-info-list {
    width: 100% !important;
    margin: 0 0 25px 0 !important;
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 10px 16px !important;
  }

  .single-nproject .main-content .project-inner .project-info-list .item {
    min-width: 0 !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .single-nproject .main-content .project-inner .project-info-list .item h6 {
    font-size: 11px !important;
    line-height: 14px !important;
    color: #34b8e1 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    margin: 0 0 3px 0 !important;
    font-weight: 600 !important;
  }

  .single-nproject .main-content .project-inner .project-info-list p {
    font-size: 13.5px !important;
    line-height: 18px !important;
    color: #333333 !important;
    margin: 0 !important;
    font-weight: 400 !important;
  }

  .single-nproject .project-content {
    width: 100% !important;
    margin: 0 !important;
    overflow: visible !important;
  }

  .single-nproject .project-thumbnail {
    margin-bottom: 20px !important;
    width: 100% !important;
  }

  .single-nproject .project-thumbnail img {
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
    display: block !important;
    border-radius: 0 !important;
    object-fit: cover !important;
  }

  .single-nproject .project-detail {
    font-size: 14px !important;
    line-height: 23px !important;
    margin-bottom: 25px !important;
  }

  /* Related Projects Section */
  .single-nproject .projects-related {
    padding: 35px 0 25px !important;
    overflow: hidden !important;
    clear: both !important;
  }

  .single-nproject .projects-related-title {
    font-size: 20px !important;
    line-height: 26px !important;
    margin: 0 0 20px 0 !important;
    padding-top: 15px !important;
    color: #000000 !important;
    font-weight: 700 !important;
  }

  .single-nproject .projects-related-wrap {
    display: block !important;
    margin: 0 !important;
    position: static !important;
    height: auto !important;
    width: 100% !important;
  }

  .single-nproject .projects-related-wrap .project {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 0 25px 0 !important;
    margin-bottom: 20px !important;
    position: static !important;
    top: auto !important;
    left: auto !important;
    transform: none !important;
    display: block !important;
    float: none !important;
    box-sizing: border-box !important;
  }

  .single-nproject .projects-related-wrap .project .project-inner {
    width: 100% !important;
    background: #c02026 !important;
    overflow: hidden !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08) !important;
  }

  .single-nproject .projects-related-wrap .project .project-inner img {
    filter: none !important;
    -webkit-filter: none !important;
    width: 100% !important;
    height: 190px !important;
    object-fit: cover !important;
    display: block !important;
  }

  .single-nproject .projects-related-wrap .project .project-info {
    padding: 18px 16px 22px !important;
    background: #c02026 !important;
  }

  .single-nproject .projects-related-wrap .project .project-title {
    font-size: 18px !important;
    line-height: 24px !important;
    font-weight: 700 !important;
    color: #000000 !important;
    text-transform: uppercase !important;
    margin: 0 0 14px 0 !important;
    letter-spacing: 0.5px !important;
  }

  .single-nproject .projects-related-wrap .project-info-list {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 10px 14px !important;
    margin-bottom: 0 !important;
  }

  .single-nproject .projects-related-wrap .project-info-list .item {
    min-width: 0 !important;
    width: 100% !important;
    margin: 0 !important;
  }

  .single-nproject .projects-related-wrap .project-info-list .item h6 {
    font-size: 11px !important;
    line-height: 14px !important;
    color: #34b8e1 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    margin: 0 0 3px 0 !important;
    font-weight: 600 !important;
  }

  .single-nproject .projects-related-wrap .project-info-list .item p {
    font-size: 13.5px !important;
    line-height: 18px !important;
    color: #000000 !important;
    margin: 0 !important;
    font-weight: 400 !important;
  }
}

/* ==========================================================================
   SUSTAINABILITY PAGE RESPONSIVE (page-id-2792)
   ========================================================================== */

/* Container width constraint for tablet & mobile */
@media only screen and (max-width: 1024px) {
  .page-id-2792 .wrap,
  .page-id-2792 .content-body-inner,
  .page-id-2792 .content-header-inner,
  .page-id-2792 .main-content-inner,
  .page-id-2792 .content,
  .page-id-2792 .main-content {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
}

/* Sustainability Page Tablet (768px - 1024px) */
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .page-id-2792 .content-header-inner.wrap,
  .page-id-2792 .content-body-inner.wrap {
    padding-left: 30px !important;
    padding-right: 30px !important;
    box-sizing: border-box !important;
  }

  .page-id-2792 .content-header {
    padding: 40px 0 25px !important;
  }

  .page-id-2792 .page-title h1,
  .page-id-2792 .page-title-inner {
    font-size: 32px !important;
    line-height: 40px !important;
  }

  .page-id-2792 .sustainability-page .ems-container {
    padding-left: 0 !important;
    padding-right: 0 !important;
    max-width: 100% !important;
  }

  .page-id-2792 .sustainability-page .hero-section {
    min-height: 420px !important;
    border-radius: 1.25rem !important;
    margin-bottom: 2rem !important;
  }

  .page-id-2792 .sustainability-page .hero-text {
    padding: 4rem 3.5rem !important;
  }

  .page-id-2792 .sustainability-page .hero-text h1.display-4 {
    font-size: 2.3rem !important;
    line-height: 1.25 !important;
    margin-bottom: 1rem !important;
  }

  .page-id-2792 .sustainability-page .hero-text h2.h3 {
    font-size: 1.35rem !important;
    line-height: 1.35 !important;
    margin-bottom: 1rem !important;
  }

  .page-id-2792 .sustainability-page .hero-text p.lead {
    font-size: 1.05rem !important;
    line-height: 1.6 !important;
  }

  .page-id-2792 .sustainability-page .main-content-bg {
    border-radius: 1.25rem !important;
    padding: 2.5rem 2rem !important;
  }

  .page-id-2792 .sustainability-page .section-space {
    padding-top: 2.5rem !important;
    padding-bottom: 2.5rem !important;
  }

  .page-id-2792 .sustainability-page .priorities-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 2rem !important;
    margin-bottom: 2.5rem !important;
  }

  .page-id-2792 .sustainability-page .actions-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 1.25rem !important;
    margin-bottom: 2rem !important;
  }

  .page-id-2792 .sustainability-page .posters-grid {
    display: flex !important;
    justify-content: flex-start !important;
  }

  .page-id-2792 .sustainability-page .poster-card {
    max-width: 420px !important;
    width: 100% !important;
  }

  .page-id-2792 .sustainability-page .poster-img {
    width: 100% !important;
    height: auto !important;
    display: block !important;
    object-fit: contain !important;
  }

  .page-id-2792 .sustainability-page .cta-section {
    border-radius: 1.25rem !important;
    padding: 2.5rem 2rem !important;
  }

  .page-id-2792 .sustainability-page .cta-title {
    font-size: 1.7rem !important;
    line-height: 1.3 !important;
  }

  .page-id-2792 .sustainability-page .cta-btn-row {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0.75rem !important;
  }

  .page-id-2792 .sustainability-page .cta-btn-row .btn {
    font-size: 0.95rem !important;
    padding: 0.75rem 1.6rem !important;
  }
}

/* Sustainability Page Mobile (< 768px) */
@media only screen and (max-width: 767px) {
  .page-id-2792 .content-header-inner.wrap,
  .page-id-2792 .content-body-inner.wrap {
    padding-left: 20px !important;
    padding-right: 20px !important;
    box-sizing: border-box !important;
  }

  .page-id-2792 .content-header {
    padding: 30px 0 20px !important;
  }

  .page-id-2792 .page-title h1,
  .page-id-2792 .page-title-inner {
    font-size: 24px !important;
    line-height: 32px !important;
  }

  .page-id-2792 .sustainability-page .ems-container {
    padding-left: 0 !important;
    padding-right: 0 !important;
    max-width: 100% !important;
  }

  .page-id-2792 .sustainability-page .hero-section {
    min-height: 360px !important;
    border-radius: 1rem !important;
    margin-bottom: 1.5rem !important;
  }

  .page-id-2792 .sustainability-page .hero-text {
    padding: 3rem 1.75rem !important;
  }

  .page-id-2792 .sustainability-page .hero-text h1.display-4 {
    font-size: 1.75rem !important;
    line-height: 1.25 !important;
    margin-bottom: 0.75rem !important;
  }

  .page-id-2792 .sustainability-page .hero-text h2.h3 {
    font-size: 1.15rem !important;
    line-height: 1.35 !important;
    margin-bottom: 0.75rem !important;
  }

  .page-id-2792 .sustainability-page .hero-text p.lead {
    font-size: 0.95rem !important;
    line-height: 1.55 !important;
  }

  .page-id-2792 .sustainability-page .main-content-bg {
    border-radius: 1rem !important;
    padding: 1.75rem 1.25rem !important;
    margin-bottom: 1.5rem !important;
  }

  .page-id-2792 .sustainability-page .section-space {
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
  }

  .page-id-2792 .sustainability-page .section-title {
    margin-bottom: 1.2rem !important;
  }

  .page-id-2792 .sustainability-page .section-title h2 {
    font-size: 1.35rem !important;
    line-height: 1.3 !important;
    margin-bottom: 0 !important;
  }

  .page-id-2792 .sustainability-page .priorities-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
    margin-bottom: 1.75rem !important;
  }

  .page-id-2792 .sustainability-page .priority-card {
    padding: 1.25rem 1rem !important;
    border-radius: 1rem !important;
  }

  .page-id-2792 .sustainability-page .priority-icon {
    font-size: 2rem !important;
  }

  .page-id-2792 .sustainability-page .actions-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
    margin-bottom: 1.75rem !important;
  }

  .page-id-2792 .sustainability-page .action-card {
    padding: 1.1rem 1rem !important;
    margin-bottom: 0 !important;
    border-radius: 0.85rem !important;
  }

  .page-id-2792 .sustainability-page .action-icon {
    font-size: 1.6rem !important;
  }

  .page-id-2792 .sustainability-page .table-responsive {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    margin-bottom: 1rem !important;
    width: 100% !important;
  }

  .page-id-2792 .sustainability-page .progress-table {
    min-width: 440px !important;
    font-size: 13.5px !important;
  }

  .page-id-2792 .sustainability-page .progress-table th,
  .page-id-2792 .sustainability-page .progress-table td {
    padding: 0.65rem 0.85rem !important;
  }

  .page-id-2792 .sustainability-page .cert-list {
    font-size: 0.95rem !important;
  }

  .page-id-2792 .sustainability-page .cert-list li {
    margin-bottom: 0.65rem !important;
    line-height: 1.45 !important;
  }

  .page-id-2792 .sustainability-page .posters-grid {
    display: block !important;
    width: 100% !important;
  }

  .page-id-2792 .sustainability-page .poster-card {
    width: 100% !important;
    max-width: 100% !important;
    border-radius: 1rem !important;
  }

  .page-id-2792 .sustainability-page .poster-img {
    width: 100% !important;
    height: auto !important;
    display: block !important;
    object-fit: contain !important;
    border-radius: 1rem !important;
  }

  .page-id-2792 .sustainability-page .cta-section {
    border-radius: 1rem !important;
    padding: 1.75rem 1.25rem !important;
    margin-bottom: 1.5rem !important;
  }

  .page-id-2792 .sustainability-page .cta-title {
    font-size: 1.35rem !important;
    line-height: 1.3 !important;
  }

  .page-id-2792 .sustainability-page .cta-subtitle {
    font-size: 0.95rem !important;
    line-height: 1.5 !important;
    margin-bottom: 1.25rem !important;
  }

  .page-id-2792 .sustainability-page .cta-btn-row {
    display: flex !important;
    flex-direction: column !important;
    gap: 0.6rem !important;
  }

  .page-id-2792 .sustainability-page .cta-btn-row .btn {
    width: 100% !important;
    text-align: center !important;
    margin-right: 0 !important;
    font-size: 0.95rem !important;
    padding: 0.75rem 1.25rem !important;
    box-sizing: border-box !important;
  }
}
/* ---------- Home page: sections as wide as the navbar (2026-11-04) ----------
   Same 40px side gap as the full-width header/footer. Content is unchanged. */
.home .content > .vc_row > .row-inner,
.home .content > .vc_section > .vc_row > .row-inner {
  width: 100%;
  max-width: none;
  margin: 0;
  padding-left: 40px;
  padding-right: 40px;
  box-sizing: border-box;
}
@media (max-width: 767px) {
  .home .content > .vc_row > .row-inner,
  .home .content > .vc_section > .vc_row > .row-inner { padding-left: 20px; padding-right: 20px; }
}
/* Section titles: no underline bar (space kept so nothing moves) */
/* No short accent line under headings, on any page. Space is kept so the layout doesn't shift; full-width section dividers stay (2026-11-05) */
.vc_custom_heading + .vc_separator:not(.vc_sep_width_100),
.vc_custom_heading + .vc_empty_space + .vc_separator:not(.vc_sep_width_100) { visibility: hidden; }
#site .iconlist .iconlist-item-content > h1:first-child:after,
#site .iconlist .iconlist-item-content > h2:first-child:after,
#site .iconlist .iconlist-item-content > h3:first-child:after,
#site .iconlist .iconlist-item-content > h4:first-child:after,
#site .iconlist .iconlist-item-content > h5:first-child:after,
#site .iconlist .iconlist-item-content > h6:first-child:after { display: none !important; }

/* Project carousel images: keep their proportions instead of stretching (2026-11-04) */
figure.project-thumbnail img { object-fit: cover; object-position: center; }

/* Accreditations only: edge to edge, no side spacing (2026-11-04) */
.home #Accreditations > .row-inner { padding-left: 0; padding-right: 0; }
.home #Accreditations > .row-inner > .vc_column_container > .vc_column-inner { padding-left: 0; padding-right: 0; }

/* What We Do: refined card UI (2026-11-04) */
/* ===== What We Do: live card UI, refined ===== */
#site .wwd-live .iconbox{border:1px solid #e6e6e6;border-radius:0;transition:box-shadow .35s ease,border-color .35s ease}
#site .wwd-live .iconbox:hover{box-shadow:0 18px 40px rgba(0,0,0,.08);border-color:#dcdcdc}
#site .wwd-live .iconbox .box-icon svg{display:block;width:60px;height:60px;fill:none;stroke:#BD2026;stroke-width:1.5;
  stroke-linecap:round;stroke-linejoin:round;transition:transform .35s ease}
#site .wwd-live .iconbox.is-eco .box-icon svg{stroke:#47BD5A}
#site .wwd-live .iconbox:hover .box-icon svg,#site .wwd-live .iconbox.is-eco:hover .box-icon svg{stroke:#fff;transform:translateY(-4px)}
#site .wwd-live .iconbox .box-header,#site .wwd-live .iconbox .box-title{text-align:left!important;justify-content:flex-start!important}

/* inner layout: icon, title, text in one clear stack */
#site .wwd-live .iconbox{display:flex;flex-direction:column;padding:44px 40px 46px!important;min-height:400px}
#site .wwd-live .iconbox .box-header{display:flex;flex-direction:column;align-items:flex-start;margin:0 0 18px}
#site .wwd-live .iconbox .box-icon{position:static!important;order:-1;margin:0 0 30px;width:64px;height:64px;
  display:flex;align-items:center;justify-content:center;background:#f6eaea;transition:background .35s ease}
#site .wwd-live .iconbox.is-eco .box-icon{background:#e9f6eb}
#site .wwd-live .iconbox .box-icon svg{width:44px!important;height:44px!important}
#site .wwd-live .iconbox:hover .box-icon{background:rgba(255,255,255,.14)}
#site .wwd-live .iconbox .box-title{line-height:1.15!important}
#site .wwd-live .iconbox .box-content p,#site .wwd-live .iconbox .box-content>p:first-child{min-height:0;margin:0;max-width:440px}
#site .wwd-live .iconbox:hover .box-icon svg{transform:none!important}

/* section heading: centred, one colour, thin vertical line above */
.wwd-head{text-align:center;margin:0 0 56px}
.wwd-head h2.vc_custom_heading{margin:0!important;text-align:center!important;font-size:40px!important;line-height:40px!important;font-weight:500;color:#000}
.wwd-head h2 strong{font-weight:500;color:inherit}
@media (max-width:767px){.wwd-head{margin-bottom:40px}}
/* hide the partial next card beyond the content edge */
#site .wwd-live .owl-wrapper-outer{clip-path:inset(-40px 15px -60px 15px)}
/* square carousel controls */
#site .wwd-live .owl-buttons div,#site .wwd-live .owl-prev,#site .wwd-live .owl-next,
#site .wwd-live .owl-controls .owl-page span,#site .wwd-live button{border-radius:0!important}

/* ---------- Featured Case Study: original content, cleaner layout (2026-11-04) ---------- */
.home .ems-case h2.vc_custom_heading { text-align: left !important; margin: 0 0 26px !important; }
.home .ems-case .vc_separator { display: none; }
.ems-case .wpb_text_column h3 { margin: 0 0 16px; font-size: 30px; line-height: 1.2em; }
.ems-case .wpb_text_column p { font-size: 16px !important; line-height: 1.8; text-align: left; }
@media (min-width: 768px) {
  .home .ems-case > .row-inner { display: flex; flex-wrap: wrap; align-items: stretch; }
  .home .ems-case > .row-inner > .vc_column_container { float: none; }
  .home .ems-case > .row-inner > .vc_column_container:first-child .vc_column-inner,
  .home .ems-case > .row-inner > .vc_column_container:first-child .wpb_wrapper,
  .home .ems-case > .row-inner > .vc_column_container:first-child .wpb_single_image,
  .home .ems-case > .row-inner > .vc_column_container:first-child .vc_figure,
  .home .ems-case > .row-inner > .vc_column_container:first-child .vc_single_image-wrapper { height: 100%; }
  .home .ems-case > .row-inner > .vc_column_container:first-child img { width: 100%; height: 100%; object-fit: cover; }
  .home .ems-case > .row-inner > .vc_column_container:last-child > .vc_column-inner {
    height: 100%; box-sizing: border-box; padding: 64px !important; background: #f4f4f4 !important; justify-content: center; }
}
@media (max-width: 767px) {
  .home .ems-case > .row-inner > .vc_column_container:last-child > .vc_column-inner { padding: 36px 24px !important; background: #f4f4f4 !important; }
}

/* Featured Case Study: Read more button (2026-11-04) */
.ems-case .vc_btn3-container .vc_btn3 {
  display: inline-flex !important; align-items: center; gap: 16px;
  padding: 18px 32px !important; border: 0 !important; border-radius: 0 !important;
  background: #111 !important; background-image: none !important; color: #fff !important;
  font: 500 15px/1 "Jost", sans-serif !important; letter-spacing: 1.5px; text-transform: uppercase;
  box-shadow: none !important; text-shadow: none !important;
  transition: background-color .3s ease, padding .3s ease;
}
.ems-case .vc_btn3-container .vc_btn3::after {
  content: ""; width: 22px; height: 22px; flex-shrink: 0; background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Cpath d='M4 12h15M13 6l6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Cpath d='M4 12h15M13 6l6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat;
  transition: transform .3s ease;
}
.ems-case .vc_btn3-container .vc_btn3:hover,
.ems-case .vc_btn3-container .vc_btn3:focus-visible { background: #BD2026 !important; color: #fff !important; padding-right: 38px !important; }
.ems-case .vc_btn3-container .vc_btn3:hover::after { transform: translateX(6px); }

/* ---------- Our Commitments + counters/map: new look, same content (2026-11-04) ---------- */
.home #site .vc_custom_1712646890980 { background: #f2f2f2; padding-top: 90px !important; padding-bottom: 100px !important; }
.home #site .vc_custom_1712646890980 .vc_separator { display: none; }
.home #site .vc_custom_1712646890980 .iconlist { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin: 0; padding: 0; list-style: none; border: 0; }
.home #site .vc_custom_1712646890980 .iconlist li {
  position: relative; overflow: hidden; display: flex; flex-direction: column; align-items: flex-start; gap: 26px;
  width: auto !important; float: none !important; margin: 0 !important; padding: 40px 36px 44px !important;
  background: #fff; border: 1px solid #e6e6e6 !important; min-height: 230px;
  transition: transform .35s ease, box-shadow .35s ease;
}
.home #site .vc_custom_1712646890980 .iconlist li::before { content: ""; position: absolute; left: 0; top: 0; height: 4px; width: 0; background: #BD2026; transition: width .45s ease; }
.home #site .vc_custom_1712646890980 .iconlist li::after { display: none !important; }
.home #site .vc_custom_1712646890980 .iconlist li:hover { transform: translateY(-6px); box-shadow: 0 20px 44px rgba(0, 0, 0, .09); }
.home #site .vc_custom_1712646890980 .iconlist li:hover::before { width: 100%; }
.home #site .vc_custom_1712646890980 .iconlist-item-icon { position: static !important; margin: 0 !important; width: 72px; height: 72px; display: flex; align-items: center; justify-content: center; background: #f6eaea; transition: background .35s ease; }
.home #site .vc_custom_1712646890980 .iconlist li:hover .iconlist-item-icon { background: #BD2026; }
.home #site .vc_custom_1712646890980 .iconlist li:hover .iconlist-item-icon img { filter: brightness(0) invert(1); }
.home #site .vc_custom_1712646890980 .iconlist-item-icon img { width: 42px; height: 42px; margin: 0; transition: filter .35s ease; }
.home #site .vc_custom_1712646890980 .iconlist-item-content { padding: 0 !important; margin: 0 !important; }
.home #site .vc_custom_1712646890980 .iconlist-item-content strong { display: block; font-size: 24px; line-height: 1.2; font-weight: 500; color: #111; }
@media (max-width: 1023px) { .home #site .vc_custom_1712646890980 .iconlist { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 599px) { .home #site .vc_custom_1712646890980 .iconlist { grid-template-columns: 1fr; } .home #site .vc_custom_1712646890980 .iconlist li { min-height: 0; padding: 30px 26px 32px !important; } }

/* counters (left) + map (right) */
.home #site .vc_custom_1712646913131 { padding-top: 100px !important; padding-bottom: 100px !important; }
.home #site .vc_custom_1712646913131 .vc_empty_space { display: none; }
.home #site .vc_custom_1712646913131 .vc_col-sm-1 { display: none !important; }
@media (min-width: 992px) {
  .home #site .vc_custom_1712646913131 .vc_col-lg-5 > .vc_column-inner > .wpb_wrapper { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 48px; align-content: center; }
  .home #site .vc_custom_1712646913131 .vc_col-lg-5 { padding-right: 40px; }
}
.home #site .vc_custom_1712646913131 .counter { padding: 30px 0 34px; border-top: 3px solid #111; margin: 0; }
.home #site .vc_custom_1712646913131 .counter-content { display: block; font-size: 76px !important; line-height: 1; font-weight: 300; color: #111; }
.home #site .vc_custom_1712646913131 .counter-suffix { color: #BD2026; font-size: .6em; vertical-align: top; margin-left: 4px; }
.home #site .vc_custom_1712646913131 .counter-title { display: block; margin: 14px 0 0 !important; font-size: 14px; letter-spacing: 2px; text-transform: uppercase; color: #6b6b6b; text-align: left; }
@media (max-width: 991px) { .home #site .vc_custom_1712646913131 .counter-content { font-size: 56px !important; } }

.home #site .vc_custom_1712646913131 .counter { display: block !important; width: auto !important; float: none !important; }
.home #site .vc_custom_1712646913131 .counter-content,
.home #site .vc_custom_1712646913131 .counter-title { position: static !important; float: none !important; width: auto !important; max-width: none !important; padding: 0 !important; transform: none !important; display: block !important; }
.home #site .vc_custom_1712646913131 .counter-content > span { display: inline !important; }
.home #site .vc_custom_1712646913131 .counter-content .counter-suffix { position: relative; top: -.35em; }
.home #site .vc_custom_1712646890980 .iconlist li > div { float: none !important; width: auto !important; padding: 0 !important; margin: 0 !important; }
.home #site .vc_custom_1712646913131 .vc_custom_1615890752893 { padding-left: 0 !important; padding-right: 0 !important; }
.home #site .vc_custom_1712646890980 .iconlist li { justify-content: flex-start; min-height: 0; gap: 28px; }
.home #site .vc_custom_1712646890980 .iconlist li > .iconlist-item-icon { width: 72px !important; height: 72px !important; flex: 0 0 72px; }
.home #site .vc_custom_1712646890980 .iconlist li > .iconlist-item-content { flex: 0 0 auto; }
@media (min-width: 992px) {
  .home #site .vc_custom_1712646913131 .vc_col-lg-5 { width: 41.667% !important; }
  .home #site .vc_custom_1712646913131 .vc_col-lg-6 { width: 58.333% !important; }
}

/* ---------- fixes 2026-11-04: plus centred on number, compact commitment cards ---------- */
.home #site .vc_custom_1712646913131 .counter-content { display: flex !important; align-items: center; gap: 6px; }
.home #site .vc_custom_1712646913131 .counter-content .counter-suffix { position: static !important; top: auto !important; font-size: .55em; line-height: 1; margin: 0; vertical-align: baseline; }

.home #site .vc_custom_1712646890980 { padding-top: 70px !important; padding-bottom: 80px !important; }
.home #site .vc_custom_1712646890980 .iconlist { gap: 20px; }
.home #site .vc_custom_1712646890980 .iconlist li { flex-direction: row; align-items: center; gap: 24px; padding: 26px 32px !important; min-height: 0; }
.home #site .vc_custom_1712646890980 .iconlist li > .iconlist-item-icon { width: 68px !important; height: 68px !important; flex: 0 0 68px; }
.home #site .vc_custom_1712646890980 .iconlist li > .iconlist-item-content { flex: 1 1 auto; min-width: 0; }
.home #site .vc_custom_1712646890980 .iconlist-item-content strong { font-size: 22px; }
.home #site .vc_custom_1712646890980 .vc_empty_space { height: 30px !important; }
.home #site .vc_custom_1712646890980 .iconlist li > .iconlist-item-icon { transform: none !important; top: auto !important; left: auto !important; }

/* ---------- Navbar: new bar design, existing dropdown kept (2026-11-04) ---------- */
@media (min-width: 1041px) {
  #site-header-sticky { display: none !important; }
  #site-header { position: fixed !important; top: 0 !important; left: 0 !important; right: 0 !important; width: 100% !important; z-index: 9999;
    background: rgba(22,26,32,.96) !important; border-bottom: 1px solid rgba(255,255,255,.12); transition: background .3s ease, box-shadow .3s ease; }
  #site-header .site-header-inner { height: 88px; display: flex; align-items: center; transition: height .3s ease; }
  #site-header .header-content { display: flex; align-items: center; width: 100%; gap: 32px; }
  #site-header .header-brand { margin: 0 !important; padding: 0 !important; flex: 0 0 auto; }
  #site-header .header-brand img.logo { height: 56px !important; width: auto !important; max-width: none; transition: height .3s ease; }
  #site-header .navigator { margin-left: auto; }
  #site-header .navigator > .menu { display: flex; align-items: center; gap: 6px; margin: 0; padding: 0; list-style: none; }
  #site-header .navigator > .menu > li.menu-item-home { display: none; }
  #site-header .navigator > .menu > li > a {
    display: flex; align-items: center; white-space: nowrap; padding: 12px 12px !important; margin: 0;
    font-size: 15px !important; line-height: 1.2 !important; font-weight: 400; letter-spacing: normal; text-transform: uppercase;
    color: rgba(255,255,255,.88) !important; border: 0;
    background: linear-gradient(#fff,#fff) no-repeat left 12px bottom 4px / 0 2px;
    transition: color .2s, background-size .3s ease;
  }
  #site-header .navigator > .menu > li > a:hover { color: #fff !important; background-size: calc(100% - 24px) 2px; }
  #site-header .navigator > .menu > li.current-menu-item > a,
  #site-header .navigator > .menu > li.current_page_item > a,
  #site-header .navigator > .menu > li.current-menu-ancestor > a,
  #site-header .navigator > .menu > li.current-menu-parent > a { color: #fff !important; background-size: calc(100% - 24px) 2px; }
  /* chevrons on the two dropdown items */
  #site-header .navigator > .menu > li.menu-item-has-children > a {
    padding-right: 31px !important;
    background: linear-gradient(#fff,#fff) no-repeat left 12px bottom 4px / 0 2px,
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-opacity='.7' stroke-width='2'%3E%3Cpath d='M7 10l5 5 5-5'/%3E%3C/svg%3E") no-repeat right 9px center / 16px 16px;
  }
  #site-header .navigator > .menu > li.menu-item-has-children > a:hover,
  #site-header .navigator > .menu > li.menu-item-has-children.current-menu-item > a,
  #site-header .navigator > .menu > li.menu-item-has-children.current-menu-ancestor > a {
    background: linear-gradient(#fff,#fff) no-repeat left 12px bottom 4px / calc(100% - 43px) 2px,
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-opacity='.7' stroke-width='2'%3E%3Cpath d='M7 10l5 5 5-5'/%3E%3C/svg%3E") no-repeat right 9px center / 16px 16px;
  }
  /* Sustainability stays green */
  #site-header .navigator > .menu > li.sustainability-menu > a { color: #47BD5A !important; background-image: linear-gradient(#47BD5A,#47BD5A); }
  #site-header .navigator > .menu > li.sustainability-menu > a:hover { color: #6fd37f !important; }
  /* order: ... Linkedin, phone, Contact us button */
  #site-header .navigator > .menu > li.menu-item-3166 { order: 5; }
  #site-header .navigator > .menu > li.ems-phone { order: 6; }
  #site-header .navigator > .menu > li.menu-item-1243 { order: 7; margin-left: 10px; }
  #site-header .navigator > .menu > li.ems-phone > a { padding: 12px 0 12px 28px !important; margin-left: 12px; border-left: 1px solid rgba(255,255,255,.12) !important; font-size: 18px !important; text-transform: none; color: #fff !important; background: none !important; }
  #site-header .navigator > .menu > li.ems-phone > a:hover { color: #ff6b6b !important; }
  #site-header .navigator > .menu > li.menu-item-1243 > a {
    height: 46px; padding: 0 24px !important; gap: 10px; background: #BD2026 !important; color: #fff !important;
    box-shadow: 0 8px 22px rgba(189,32,38,.35); transition: background .2s, transform .2s, box-shadow .2s;
  }
  #site-header .navigator > .menu > li.menu-item-1243 > a::after {
    content: ""; width: 16px; height: 16px; background: #fff; transition: transform .2s;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2'%3E%3Cpath d='M5 12h13M13 6l6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2'%3E%3Cpath d='M5 12h13M13 6l6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat;
  }
  #site-header .navigator > .menu > li.menu-item-1243 > a:hover { background: #d42a31 !important; transform: translateY(-1px); box-shadow: 0 12px 28px rgba(189,32,38,.45); }
  #site-header .navigator > .menu > li.menu-item-1243 > a:hover::after { transform: translateX(3px); }
  #site-header .navigator > .menu > li.menu-item-1243.current-menu-item > a { background: #fff !important; color: #BD2026 !important; }
  /* scrolled state */
  #site-header.is-scrolled { background: rgba(14,18,24,.98) !important; box-shadow: 0 10px 30px rgba(0,0,0,.3); }
  #site-header.is-scrolled .site-header-inner { height: 72px; }
  #site-header.is-scrolled .header-brand img.logo { height: 48px !important; }
  #site-header.is-scrolled .navigator > .menu > li.menu-item-1243 > a { height: 42px; }
  /* hero sits directly under the bar */
  .home .vc_custom_1665745970762 { padding-top: 88px !important; }
}
@media (min-width: 1041px) and (max-width: 1560px) {
  #site-header .header-brand img.logo { height: 50px !important; }
  #site-header .header-content { gap: 20px; }
  #site-header .navigator > .menu { gap: 0; }
  #site-header .navigator > .menu > li > a { padding: 12px 10px !important; }
}
@media (min-width: 1041px) and (max-width: 1340px) { #site-header .navigator > .menu > li > a { padding: 12px 7px !important; } #site-header .navigator > .menu > li.menu-item-1243 > a { padding: 0 16px !important; } }
/* Larger logo (56/50/48px): tighten the bar so the phone and Contact button stay on screen (2026-11-05) */
@media (min-width: 1041px) and (max-width: 1620px) {
  #site-header .site-header-inner { padding-left: 24px !important; padding-right: 24px !important; }
  #site-header .header-content { gap: 16px; }
  #site-header .navigator > .menu > li { margin-left: 0 !important; margin-right: 0 !important; }
  #site-header .navigator > .menu > li > a { padding: 12px 7px !important; }
  #site-header .navigator > .menu > li.menu-item-has-children > a { padding-right: 27px !important; }
  #site-header .navigator > .menu > li.ems-phone > a { padding: 12px 0 12px 14px !important; margin-left: 6px; }
  #site-header .navigator > .menu > li.menu-item-1243 { margin-left: 10px !important; }
  #site-header .navigator > .menu > li.menu-item-1243 > a { padding: 0 16px !important; }
}
@media (min-width: 1041px) and (max-width: 1215px) { #site-header .navigator > .menu > li.ems-phone { display: none; } }
@media (min-width: 1041px) and (max-width: 1100px) {
  #site-header .site-header-inner { padding-left: 16px !important; padding-right: 16px !important; }
  #site-header .header-content { gap: 10px; }
  #site-header .navigator > .menu > li > a { padding: 12px 5px !important; }
  #site-header .navigator > .menu > li.menu-item-has-children > a { padding-right: 25px !important; }
  #site-header .navigator > .menu > li.menu-item-1243 > a { padding: 0 12px !important; }
}

/* dropdown label: keep the existing look (black label + theme underline inside the white box) */
@media (min-width: 1041px) {
  #site-header .navigator > .menu > li:not(.menu-item-has-children) > a::before { display: none !important; }
  #site-header .navigator > .menu > li.menu-item-has-children:hover > a,
  #site-header .navigator > .menu > li.menu-item-has-children:focus-within > a {
    color: #000 !important; background-image: none !important; background-size: 0 0 !important;
  }
}
@media (min-width: 1041px) {
  #site-header .navigator > .menu > li.menu-item-has-children > .sub-menu { left: -28px; }
  #site-header .navigator > .menu > li.menu-item-has-children:hover > a::before,
  #site-header .navigator > .menu > li.menu-item-has-children:focus-within > a::before { left: 12px !important; width: calc(100% - 43px) !important; }
}

/* ---------- Home round 5 (2026-11-04) ---------- */
/* Hero: edge to edge like the reference design */
.home .vc_section.vc_custom_1665745970762 { background-image: none !important; padding-bottom: 0 !important; }
.home .content > .vc_section.vc_custom_1665745970762 > .vc_row > .row-inner { padding-left: 0; padding-right: 0; }
.home .vc_custom_1665745970762 .vc_column-inner { padding: 0 !important; }
.home .vc_custom_1665745970762 .vc_empty_space { display: none !important; }
.home .vc_custom_1665745970762 .ems-hero { box-shadow: none; }

/* Accreditations: logos closer together */
#Accreditations .marquee-row { padding: 12px 0; }
#Accreditations .marquee-track img { margin: 0 12px; }
@media (max-width: 767px) { #Accreditations .marquee-track img { margin: 0 8px; } }

/* Featured Case Study: the panel sets the height, so it can never leave empty space */
.ems-case .wpb_text_column { margin-bottom: 0; }
.ems-case .wpb_text_column p { font-size: 17px !important; margin: 0 0 16px; }
.ems-case .wpb_text_column p:last-child { margin-bottom: 0; }
.ems-case .wpb_single_image { margin: 0; }
.ems-case__points { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin: 30px 0 0; padding: 0; list-style: none; }
.ems-case__points li { display: flex; align-items: center; gap: 16px; margin: 0; padding: 14px 18px 14px 14px; background: #fff; border-bottom: 3px solid #e4e4e4; transition: border-color .3s ease, box-shadow .3s ease, transform .3s ease; }
.ems-case__points li:hover { border-bottom-color: #BD2026; box-shadow: 0 14px 30px rgba(0,0,0,.08); transform: translateY(-3px); }
.ems-case__icon { flex: 0 0 56px; width: 56px; height: 56px; display: flex; align-items: center; justify-content: center; background: #161a20; transition: background .3s ease; }
.ems-case__points li:hover .ems-case__icon { background: #BD2026; }
.ems-case__icon svg { display: block; width: 34px; height: 34px; fill: none; stroke: #fff; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.ems-case__label { font-size: 17px; line-height: 1.25; font-weight: 500; color: #111; }
@media (min-width: 768px) {
  .home .ems-case > .row-inner > .vc_column_container:first-child .vc_column-inner { padding: 0 0 0 15px !important; }
  .home .ems-case > .row-inner > .vc_column_container:first-child .vc_single_image-wrapper { position: relative; display: block; overflow: hidden; border-radius: 0; }
  .home .ems-case > .row-inner > .vc_column_container:first-child img { position: absolute; top: 0; left: 0; border-radius: 0; }
  .home .ems-case > .row-inner > .vc_column_container:last-child > .vc_column-inner { width: calc(100% - 15px); margin-right: 15px; padding: 56px 60px !important; }
}
@media (max-width: 1280px) { .ems-case__points { grid-template-columns: 1fr; } }
@media (max-width: 767px) { .home .ems-case .vc_single_image-img { width: 100%; height: auto; } }

/* Map: card with a dark office bar above a full-colour map */
.home #site .vc_custom_1712646913131 .vc_custom_1615890752893 > .wpb_wrapper { box-shadow: 0 30px 60px rgba(0,0,0,.16); }
.home #site .vc_custom_1712646913131 .wpb_gmaps_widget { margin: 0; background: #e9e9e9 !important; }
.home #site .vc_custom_1712646913131 .wpb_map_wraper { margin: 0; }
.home #site .vc_custom_1712646913131 .wpb_map_wraper iframe { display: block; width: 100%; height: 460px; }
.ems-office { display: flex; align-items: center; flex-wrap: wrap; gap: 18px 24px; padding: 24px 28px; background: #161a20; color: #fff; }
.ems-office__pin { flex: 0 0 56px; width: 56px; height: 56px; display: flex; align-items: center; justify-content: center; background: #BD2026; }
.ems-office__pin svg { display: block; width: 30px; height: 30px; fill: none; stroke: #fff; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.ems-office__text { flex: 1 1 260px; min-width: 0; }
.ems-office .ems-office__eyebrow { margin: 0 0 4px; font-size: 13px; line-height: 1.2; letter-spacing: 2px; text-transform: uppercase; color: rgba(255,255,255,.6); text-align: left; }
.ems-office .ems-office__addr { margin: 0; font-size: 18px; line-height: 1.35; color: #fff; text-align: left; }
.ems-office__actions { display: flex; align-items: center; flex-wrap: wrap; gap: 14px 22px; }
#site .ems-office a.ems-office__tel { font-size: 18px; color: #fff; white-space: nowrap; }
#site .ems-office a.ems-office__tel:hover { color: #ff6b6b; }
#site .ems-office a.ems-office__btn { display: inline-flex; align-items: center; gap: 10px; height: 46px; padding: 0 22px; background: #BD2026; color: #fff; font-size: 15px; text-transform: uppercase; white-space: nowrap; transition: background .2s ease; }
#site .ems-office a.ems-office__btn:hover { background: #d42a31; color: #fff; }
.ems-office__btn svg { display: block; width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2.2; transition: transform .2s ease; }
.ems-office__btn:hover svg { transform: translateX(3px); }
@media (max-width: 767px) { .home #site .vc_custom_1712646913131 .wpb_map_wraper iframe { height: 340px; } .ems-office { padding: 20px; } }

/* map card: no grey frame, lines up with the other sections */
.home #site .vc_custom_1712646913131 .wpb_gmaps_widget .wpb_wrapper { padding: 0 !important; }
@media (min-width: 992px) { .home #site .vc_custom_1712646913131 .vc_custom_1615890752893 > .wpb_wrapper { margin-right: 15px; } }

/* case study image: wrappers must fill the column (the image is positioned inside them) */
@media (min-width: 768px) {
  .home .ems-case > .row-inner > .vc_column_container:first-child .vc_column-inner > .wpb_wrapper,
  .home .ems-case > .row-inner > .vc_column_container:first-child .wpb_single_image,
  .home .ems-case > .row-inner > .vc_column_container:first-child .vc_figure,
  .home .ems-case > .row-inner > .vc_column_container:first-child .vc_single_image-wrapper { display: block; width: 100%; max-width: none; }
}

/* case study: original text only, icons without labels */
.ems-case__points { display: flex; flex-wrap: wrap; gap: 12px; margin: 30px 0 0; }
.ems-case__points li { padding: 0; background: none; border: 0; }
.ems-case__points li:hover { box-shadow: none; }
@media (min-width: 768px) { .home .ems-case > .row-inner > .vc_column_container:last-child > .vc_column-inner { min-height: 560px; } }
@media (max-width: 767px) { .home .ems-case > .row-inner > .vc_column_container:last-child > .vc_column-inner { width: calc(100% - 30px); margin: 0 15px; } }

/* Our Commitments: line icons in the What We Do style */
.home #site .vc_custom_1712646890980 .iconlist-item-icon svg { display: block; width: 42px; height: 42px; fill: none; stroke: #BD2026; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; transition: stroke .35s ease; }
.home #site .vc_custom_1712646890980 .iconlist li:hover .iconlist-item-icon svg { stroke: #fff; }

/* ---------- Navbar dropdown: reference design (dark panel) (2026-11-04) ---------- */
@media (min-width: 1041px) {
  /* nothing dims while a menu is open */
  #site-header .navigator .menu-primary:hover > li > a { opacity: 1 !important; }
  #site-header .navigator .menu-primary:hover > li.menu-item-has-children::after,
  #site-header .navigator .menu-primary > li.menu-item-has-children::after { display: none !important; }

  /* top-level label stays white, theme underline off, chevron flips */
  #site-header .navigator > .menu > li.menu-item-has-children > a::before { display: none !important; }
  #site-header .navigator > .menu > li.menu-item-has-children:hover > a,
  #site-header .navigator > .menu > li.menu-item-has-children:focus-within > a {
    color: #fff !important;
    background: linear-gradient(#fff,#fff) no-repeat left 12px bottom 4px / calc(100% - 43px) 2px,
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-opacity='.7' stroke-width='2'%3E%3Cpath d='M7 14l5-5 5 5'/%3E%3C/svg%3E") no-repeat right 9px center / 16px 16px !important;
  }

  /* the panel */
  #site-header .navigator > .menu > li.menu-item-has-children > .sub-menu {
    left: 0; top: calc(100% + 14px); width: auto; min-width: 240px; margin: 0; padding: 8px !important;
    background: #12161e; border: 1px solid rgba(255,255,255,.12); border-radius: 0;
    box-shadow: 0 24px 50px rgba(0,0,0,.4);
    opacity: 0; visibility: hidden; transform: translateY(8px);
    transition: opacity .2s ease, transform .2s ease, visibility .2s;
  }
  #site-header .navigator > .menu > li.menu-item-has-children > .sub-menu::after { display: none !important; }
  #site-header .navigator > .menu > li.menu-item-has-children > .sub-menu::before { content: ""; position: absolute; left: 0; right: 0; top: -16px; height: 16px; }
  #site-header .navigator > .menu > li.menu-item-has-children:hover > .sub-menu,
  #site-header .navigator > .menu > li.menu-item-has-children:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: none; }

  /* the items */
  #site-header .navigator .menu-primary li .sub-menu li { margin: 0 !important; padding: 0 !important; }
  #site-header .navigator .menu-primary li .sub-menu li::before,
  #site-header .navigator .menu-primary li .sub-menu li::after { display: none !important; }
  #site-header .navigator .menu-primary li .sub-menu li > a {
    display: block; padding: 11px 14px !important; font-size: 15px !important; line-height: 1.2 !important; letter-spacing: normal !important;
    text-transform: uppercase; white-space: nowrap; color: rgba(255,255,255,.78) !important; opacity: 1 !important; background: none;
    transition: background .18s, color .18s, padding .18s;
  }
  #site-header .navigator .menu-primary li .sub-menu li:hover > a,
  #site-header .navigator .menu-primary li .sub-menu li > a:focus-visible { background: rgba(255,255,255,.07); color: #fff !important; padding-left: 18px !important; opacity: 1 !important; }
  /* active page: red text only (2026-11-05) */
  #site-header .navigator .menu-primary li .sub-menu li.current-menu-item > a { color: #f4524d !important; box-shadow: none; }
}

/* ---------- Home page: font and icon sizes back to the original values (2026-11-04) ---------- */
/* Our Commitments: icon 50px, title 21px (original) */
.home #site .vc_custom_1712646890980 .iconlist-item-icon svg { width: 50px; height: 50px; }
.home #site .vc_custom_1712646890980 .iconlist li > .iconlist-item-icon { width: 76px !important; height: 76px !important; flex-basis: 76px; }
.home #site .vc_custom_1712646890980 .iconlist-item-content strong { font-size: 21px; font-weight: 500; line-height: 1.3; }

/* Counters: number 64px, plus 32px, label 21px (original) */
.home #site .vc_custom_1712646913131 .counter-content { font-size: 4rem !important; }
.home #site .vc_custom_1712646913131 .counter-content .counter-suffix { font-size: 2rem; }
.home #site .vc_custom_1712646913131 .counter-title { font-size: 21px; line-height: 1.3; letter-spacing: normal; text-transform: none; color: inherit; opacity: .5; }
@media (max-width: 991px) { .home #site .vc_custom_1712646913131 .counter-content { font-size: 4rem !important; } .home #site .vc_custom_1712646913131 .counter-title { font-size: 18px; } }

/* Featured Case Study: title 32px, text 15px (original) */
.ems-case .wpb_text_column h3 { font-size: 32px; line-height: 1.1em; }
.ems-case .wpb_text_column p { font-size: 15px !important; }

/* Map bar: normal site text size */
.ems-office { padding: 20px 24px; gap: 14px 20px; }
.ems-office__pin { flex-basis: 48px; width: 48px; height: 48px; }
.ems-office__pin svg { width: 26px; height: 26px; }
.ems-office .ems-office__eyebrow { font-size: 12px; }
.ems-office .ems-office__addr { font-size: 16px; line-height: 1.5; }
#site .ems-office a.ems-office__btn { height: 42px; padding: 0 20px; font-size: 14px; }
.ems-office__btn svg { width: 14px; height: 14px; }

/* ---------- Counters: dark stat panel (2026-11-04) ---------- */
.home #site .vc_custom_1712646913131 .ems-stat__icon { display: flex; align-items: center; justify-content: center; width: 60px; height: 60px; margin: 0 0 28px; background: rgba(189,32,38,.16); transition: background .35s ease; }
.home #site .vc_custom_1712646913131 .ems-stat__icon svg { display: block; width: 34px; height: 34px; fill: none; stroke: #ff5a60; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; transition: stroke .35s ease; }
.home #site .vc_custom_1712646913131 .counter:hover .ems-stat__icon { background: #BD2026; }
.home #site .vc_custom_1712646913131 .counter:hover .ems-stat__icon svg { stroke: #fff; }
@media (min-width: 992px) {
  .home #site .vc_custom_1712646913131 > .vc_row > .row-inner { align-items: stretch; }
  .home #site .vc_custom_1712646913131 .vc_col-lg-5 > .vc_column-inner { height: 100%; }
  .home #site .vc_custom_1712646913131 .vc_col-lg-5 > .vc_column-inner > .wpb_wrapper {
    height: 100%; gap: 1px; grid-auto-rows: 1fr; align-content: stretch; background: rgba(255,255,255,.12); box-shadow: 0 30px 60px rgba(0,0,0,.16);
  }
  .home #site .vc_custom_1712646913131 .vc_col-lg-5 { padding-right: 40px; }
}
.home #site .vc_custom_1712646913131 .counter {
  position: relative; overflow: hidden; display: flex !important; flex-direction: column; justify-content: center; align-items: flex-start;
  padding: 36px 36px 34px; border-top: 0; background: #161a20; transition: background .35s ease;
}
.home #site .vc_custom_1712646913131 .counter::before { content: ""; position: absolute; left: 0; top: 0; height: 3px; width: 56px; background: #BD2026; transition: width .45s ease; }
.home #site .vc_custom_1712646913131 .counter:hover { background: #1d232c; }
.home #site .vc_custom_1712646913131 .counter:hover::before { width: 100%; }
.home #site .vc_custom_1712646913131 .counter-content { color: #fff; }
.home #site .vc_custom_1712646913131 .counter-content .counter-suffix { color: #ff5a60; }
.home #site .vc_custom_1712646913131 .counter-title { margin: 14px 0 0 !important; color: rgba(255,255,255,.7); opacity: 1; }
@media (max-width: 991px) {
  .home #site .vc_custom_1712646913131 .vc_col-lg-5 > .vc_column-inner > .wpb_wrapper { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: rgba(255,255,255,.12); margin-bottom: 40px; }
  .home #site .vc_custom_1712646913131 .counter { padding: 28px 24px; }
}
@media (max-width: 599px) {
  .home #site .vc_custom_1712646913131 .vc_col-lg-5 > .vc_column-inner > .wpb_wrapper { grid-template-columns: 1fr; }
}

/* Counters: no background, light dividers on the white page (2026-11-04) */
.home #site .vc_custom_1712646913131 .vc_col-lg-5 > .vc_column-inner > .wpb_wrapper { background: transparent !important; box-shadow: none !important; gap: 0 !important; }
.home #site .vc_custom_1712646913131 .counter { background: transparent !important; border: 0; }
.home #site .vc_custom_1712646913131 .counter:hover { background: transparent !important; }
.home #site .vc_custom_1712646913131 .counter-content { color: #111; }
.home #site .vc_custom_1712646913131 .counter-content .counter-suffix { color: #BD2026; }
.home #site .vc_custom_1712646913131 .counter-title { color: #111; opacity: .55; }
.home #site .vc_custom_1712646913131 .ems-stat__icon { background: #f6eaea; }
.home #site .vc_custom_1712646913131 .ems-stat__icon svg { stroke: #BD2026; }
@media (min-width: 600px) {
  .home #site .vc_custom_1712646913131 .wpb_wrapper > .counter:nth-child(1),
  .home #site .vc_custom_1712646913131 .wpb_wrapper > .counter:nth-child(5) { border-right: 1px solid #e3e3e3; }
  .home #site .vc_custom_1712646913131 .wpb_wrapper > .counter:nth-child(1),
  .home #site .vc_custom_1712646913131 .wpb_wrapper > .counter:nth-child(3) { border-bottom: 1px solid #e3e3e3; }
}
@media (max-width: 599px) {
  .home #site .vc_custom_1712646913131 .wpb_wrapper > .counter { border-bottom: 1px solid #e3e3e3; }
}

/* Counters: no red top line */
.home #site .vc_custom_1712646913131 .counter::before { display: none !important; }

/* Featured Projects: the expanded details panel stays inside its photo (2026-11-05) */
@media (min-width: 1025px) {
  .home .project-carousel .project .project-info {
    left: 24px; right: 24px; width: auto; padding: 24px 24px 0;
    max-height: 420px; overflow-x: hidden; overflow-y: auto; scrollbar-width: thin;
  }
  .home .project-carousel .project .project-title { font-size: 17px; margin-bottom: 12px; }
  .home .project-carousel .project-info-list .item { padding: 0 10px; }
  .home .project-carousel .project-info-list p { font-size: 13px; line-height: 1.35; margin-bottom: 16px; }
  .home .project-carousel .project-info-list h6 { margin-bottom: 3px; }
}

/* ---------- About page: intro, key figures and founder panel (2026-11-05) ---------- */
#site .ems-about { margin: 0 0 80px; }
#site .ems-about p { text-align: left; }
#site .ems-about ul { list-style: none; margin: 0; padding: 0; }
#site .ems-about li { margin: 0; padding: 0; }
#site .ems-about li::before, #site .ems-about li::after { display: none; }
#site .ems-about h2::after, #site .ems-about h3::after { display: none; }

#site .ems-about__intro { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 64px; align-items: start; }
#site .ems-about__eyebrow { display: block; margin: 0 0 18px; color: #BD2026; font-size: 14px; font-weight: 600; line-height: 1.2; letter-spacing: .16em; text-transform: uppercase; }
#site .ems-about__title { margin: 0; color: #111; font-size: 42px; font-weight: 500; line-height: 1.18; text-transform: uppercase; }
#site .ems-about__text p { margin: 0 0 20px; color: #333; font-size: 18px; line-height: 1.75; }
#site .ems-about__text p:last-child { margin-bottom: 0; }

#site .ems-about ul.ems-about__stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 56px 0 64px; border: 1px solid #e4e4e4; }
#site .ems-about__stats li { padding: 30px 32px; border-left: 1px solid #e4e4e4; }
#site .ems-about__stats li:first-child { border-left: 0; }
#site .ems-about__stats strong { display: block; margin: 0 0 8px; color: #BD2026; font-size: 46px; font-weight: 500; line-height: 1; }
#site .ems-about__stats span { display: block; color: #333; font-size: 16px; line-height: 1.35; }

#site .ems-founder { display: grid; grid-template-columns: minmax(280px, 340px) minmax(0, 1fr); background: #fff; border: 1px solid #e4e4e4; }
#site .ems-founder__profile { padding: 48px 40px; background: #0e1218; color: rgba(255,255,255,.78); }
#site .ems-founder__name { margin: 0 0 8px; color: #fff; font-size: 36px; font-weight: 500; line-height: 1.15; }
#site .ems-founder__role { margin: 0 0 36px; color: rgba(255,255,255,.78); font-size: 18px; line-height: 1.3; }
#site .ems-founder__label { margin: 0 0 16px; color: #ff5a60; font-size: 14px; font-weight: 600; line-height: 1.2; letter-spacing: .14em; text-transform: uppercase; }
#site .ems-founder__tags { display: flex; flex-wrap: wrap; gap: 8px; }
#site .ems-founder__tags li { padding: 7px 12px; border: 1px solid rgba(255,255,255,.18); color: #fff; font-size: 15px; line-height: 1.2; }
#site .ems-founder__story { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
#site .ems-founder__block { padding: 48px 36px; background: #fff; border-left: 1px solid #e4e4e4; }
#site .ems-founder__block:first-child { border-left: 0; }
#site .ems-founder__block .ems-founder__label { color: #BD2026; }
#site .ems-founder__block p { margin: 0; color: #333; font-size: 16px; line-height: 1.75; }

@media (max-width: 1720px) {
  #site .ems-founder__story { grid-template-columns: minmax(0, 1fr); }
  #site .ems-founder__block { padding: 36px 44px; border-left: 0; border-top: 1px solid #e4e4e4; }
  #site .ems-founder__block:first-child { border-top: 0; }
}
@media (max-width: 1040px) {
  #site .ems-about__intro { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  #site .ems-about__title { font-size: 36px; }
  #site .ems-about ul.ems-about__stats { grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 44px 0; }
  #site .ems-about__stats li:nth-child(odd) { border-left: 0; }
  #site .ems-about__stats li:nth-child(n+3) { border-top: 1px solid #e4e4e4; }
  #site .ems-founder { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 1024px) {
  #site .ems-about__intro { margin-left: 20px; margin-right: 20px; }
  #site .ems-about ul.ems-about__stats { margin-left: 20px; margin-right: 20px; }
}
@media (max-width: 767px) {
  #site .ems-about { margin-bottom: 56px; }
  #site .ems-about__title { font-size: 30px; }
  #site .ems-about__text p { font-size: 17px; line-height: 1.7; }
  #site .ems-about__stats li { padding: 22px 18px; }
  #site .ems-about__stats strong { font-size: 36px; }
  #site .ems-founder__profile { padding: 36px 20px; }
  #site .ems-founder__block { padding: 32px 20px; }
}

/* ---------- About page timeline: white card on hover, year highlight (2026-11-05) ---------- */
#site .elements-carousel.timeline .wpb_text_column { transition: background-color .25s ease, box-shadow .25s ease; }
#site .elements-carousel.timeline .title { line-height: 29px; transition: color .2s ease, font-size .2s ease; cursor: default; }
#site .elements-carousel.timeline .title:before { transition: background-color .2s ease, box-shadow .2s ease; }
#site .elements-carousel.timeline .owl-item:hover .wpb_text_column { background: #fff; box-shadow: 0 0 0 12px #fff, 0 20px 44px 12px rgba(0,0,0,.28); }
#site .elements-carousel.timeline .owl-item:hover .title { color: #BD2026; }
#site .elements-carousel.timeline .owl-item:hover .title:before { background-color: #BD2026; border-color: #fff; }
#site .elements-carousel.timeline .owl-item:hover p:not(.title) { color: #333; }
#site .elements-carousel.timeline .owl-item:hover b { color: #111; }
/* pointer on the year itself */
#site .elements-carousel.timeline .owl-item .title:hover { font-size: 30px; font-weight: 500; }
#site .elements-carousel.timeline .owl-item .title:hover:before { box-shadow: 0 0 0 5px rgba(189,32,38,.25); }

/* About page timeline: red band always ends just below the photos, so project text sits on white (2026-11-05) */
@media only screen and (min-width: 992px) {
  .page-id-142 #site #history:before { top: 491px !important; bottom: 0 !important; height: auto !important; }
}

/* Page titles: line up with the content column instead of sitting 5px to its left (2026-11-05) */
.content-header .page-title-inner { margin-left: 0 !important; }

/* About page timeline arrows: same as the homepage project section (2026-11-05) */
#site .timeline .owl-buttons div { background-color: #c02026; color: #fff; }
#site .timeline .owl-buttons div:hover { background-color: #000; color: #fff; }
#site .timeline .owl-buttons div.disabled,
#site .timeline .owl-buttons div.disabled:hover { background-color: rgba(0, 0, 0, .05); color: #000; }


/* ---------- Health and Safety page (2026-11-05): every section fills the content column ---------- */
#site .ems-hs p { text-align: left; }
#site .ems-hs h2::after, #site .ems-hs h3::after { display: none; }
#site .ems-hs img { display: block; max-width: none; border-radius: 0; }

/* intro: photo and dark panel */
#site .ems-hs__hero { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); background: #0e1218; }
#site .ems-hs__hero-media { position: relative; min-height: 460px; overflow: hidden; }
#site .ems-hs__hero-media img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; object-position: 60% center; }
#site .ems-hs__hero-body { padding: 56px; }
#site .ems-hs__hero-title { margin: 0 0 22px; color: #fff; font-size: 38px; font-weight: 500; line-height: 1.2; text-align: left; }
#site .ems-hs__hero-text { margin: 0 0 32px; color: rgba(255,255,255,.78); font-size: 18px; line-height: 1.75; }
#site .ems-hs__quote { padding-top: 28px; border-top: 1px solid rgba(255,255,255,.14); }
#site .ems-hs__quote p { margin: 0 0 10px; color: #fff; font-size: 19px; line-height: 1.6; }
#site .ems-hs__quote .ems-hs__quote-by { margin: 0; color: #ff5a60; font-size: 15px; font-weight: 500; line-height: 1.4; }

/* shared heading */
#site .ems-hs__title { margin: 0 0 22px; color: #111; font-size: 36px; font-weight: 500; line-height: 1.2; text-align: left; }

/* monitoring: photo and text */
#site .ems-hs__split { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: 56px; align-items: center; margin-top: 80px; }
#site .ems-hs__split-media img { width: 100%; height: auto; }
#site .ems-hs__split-body p { margin: 0 0 16px; color: #333; font-size: 17px; line-height: 1.75; }
#site .ems-hs__split-body p:last-child { margin-bottom: 0; }

/* embedded in our working practices: grey panel with two role boxes */
#site .ems-hs__panel { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); margin-top: 80px; background: #f2f2f2; }
#site .ems-hs__panel-body { padding: 56px; }
#site .ems-hs__panel-media { position: relative; min-height: 420px; overflow: hidden; }
#site .ems-hs__panel-media img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; object-position: 5% center; }
#site .ems-hs__roles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 30px; }
#site .ems-hs__role { position: relative; overflow: hidden; padding: 26px; background: #f2f2f2; border: 1px solid #e6e6e6; transition: transform .35s ease, box-shadow .35s ease; }
#site .ems-hs__role::before { content: ""; position: absolute; left: 0; top: 0; width: 0; height: 4px; background: #BD2026; transition: width .45s ease; }
#site .ems-hs__role:hover { transform: translateY(-6px); box-shadow: 0 20px 44px rgba(0,0,0,.09); }
#site .ems-hs__role:hover::before { width: 100%; }
#site .ems-hs__role h3 { margin: 0 0 16px; color: #111; font-size: 21px; font-weight: 500; line-height: 1.3; }
#site .ems-hs__role ul { margin: 0; padding: 0; list-style: none; }
#site .ems-hs__role li { position: relative; margin: 0 0 12px; padding: 0 0 0 18px; color: #333; font-size: 16px; line-height: 1.6; }
#site .ems-hs__role li:last-child { margin-bottom: 0; }
#site .ems-hs__role li::before { content: ""; position: absolute; left: 0; top: 10px; width: 6px; height: 6px; background: #BD2026; }
#site .ems-hs__role li::after { display: none; }

/* three cards */
#site .ems-hs__cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 80px; }
#site .ems-hs__card { position: relative; overflow: hidden; background: #f2f2f2; border: 1px solid #e6e6e6; transition: transform .35s ease, box-shadow .35s ease; }
#site .ems-hs__card:hover { transform: translateY(-6px); box-shadow: 0 20px 44px rgba(0,0,0,.09); }
#site .ems-hs__card img { width: 100%; height: auto; aspect-ratio: 510 / 226; object-fit: cover; }
#site .ems-hs__card-body { padding: 30px; }
#site .ems-hs__card h3 { margin: 0 0 14px; color: #111; font-size: 24px; font-weight: 500; line-height: 1.25; }
#site .ems-hs__card p { margin: 0 0 14px; color: #333; font-size: 16px; line-height: 1.7; }
#site .ems-hs__card p:last-child { margin-bottom: 0; }

@media (max-width: 1400px) {
  #site .ems-hs__panel { grid-template-columns: minmax(0, 1fr); }
  #site .ems-hs__panel-media { order: -1; min-height: 0; aspect-ratio: 1080 / 466; }
}
@media (max-width: 1280px) {
  #site .ems-hs__hero-body, #site .ems-hs__panel-body { padding: 44px 36px; }
  #site .ems-hs__hero-title { font-size: 32px; }
  #site .ems-hs__title { font-size: 32px; }
  #site .ems-hs__split { gap: 40px; }
  #site .ems-hs__card-body { padding: 24px; }
  #site .ems-hs__card h3 { font-size: 22px; }
}
@media (max-width: 1100px) {
  #site .ems-hs__cards { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  #site .ems-hs__card { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); }
  #site .ems-hs__card img { height: 100%; aspect-ratio: auto; }
}
@media (max-width: 1040px) {
  #site .ems-hs__hero { grid-template-columns: minmax(0, 1fr); }
  #site .ems-hs__hero-media { min-height: 0; aspect-ratio: 16 / 9; }
  #site .ems-hs__split { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); margin-top: 60px; }
  #site .ems-hs__panel, #site .ems-hs__cards { margin-top: 60px; }
}
@media (max-width: 1024px) {
  #site .ems-hs__split, #site .ems-hs__cards { padding-left: 20px; padding-right: 20px; }
}
@media (max-width: 767px) {
  #site .ems-hs__hero-body, #site .ems-hs__panel-body { padding: 36px 20px; }
  #site .ems-hs__hero-title { font-size: 28px; }
  #site .ems-hs__hero-text { font-size: 17px; line-height: 1.7; }
  #site .ems-hs__title { font-size: 28px; }
  #site .ems-hs__split { grid-template-columns: minmax(0, 1fr); gap: 28px; margin-top: 48px; }
  #site .ems-hs__panel, #site .ems-hs__cards { margin-top: 48px; }
  #site .ems-hs__roles { grid-template-columns: minmax(0, 1fr); }
  #site .ems-hs__card { display: block; }
  #site .ems-hs__card img { height: auto; aspect-ratio: 510 / 226; }
}

/* Clients page: intro line under the standard banner (2026-11-05) */
#site .ems-clients__intro { margin: 0 0 8px; color: #333; font-size: 24px; line-height: 1.45; text-align: left; }
@media (max-width: 1024px) { #site .ems-clients__intro { padding: 0 20px; } }
@media (max-width: 620px) { #site .ems-clients__intro { font-size: 20px; } }

/* Clients page, Primary Services: thin icons, even service grid, building on the right edge of the column (2026-11-05). The image has 13.46% blank space each side, so the offset allows for it */
.page-id-1606 .vc_row.bg-custom5 { background-position: right calc(15px - min(4.95vw, 92px)) bottom !important; }
.page-id-1606 #site .vc_row.bg-custom5 .iconlist { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px 28px; width: auto; margin: 0 0 30px; padding: 0; }
.page-id-1606 #site .vc_row.bg-custom5 .iconlist li { display: flex; align-items: center; gap: 16px; float: none; width: auto; margin: 0; padding: 0; }
.page-id-1606 #site .vc_row.bg-custom5 .iconlist li::before, .page-id-1606 #site .vc_row.bg-custom5 .iconlist li::after { display: none; }
.page-id-1606 #site .vc_row.bg-custom5 .iconlist-item-icon { position: static; flex: 0 0 44px; display: flex; align-items: center; justify-content: flex-start; width: 44px; height: 44px; margin: 0; padding: 0; background: none; }
.page-id-1606 #site .vc_row.bg-custom5 .iconlist-item-icon svg { display: block; width: 44px; height: 44px; fill: none; stroke: #ff5a60; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; transition: stroke .35s ease; }
.page-id-1606 #site .vc_row.bg-custom5 .iconlist li:hover .iconlist-item-icon svg { stroke: #fff; }
.page-id-1606 #site .vc_row.bg-custom5 .iconlist-item-content { flex: 1 1 auto; min-width: 0; margin: 0; padding: 0; }
.page-id-1606 #site .vc_row.bg-custom5 .iconlist-item-content strong { line-height: 1.3; }
@media (max-width: 1720px) {
  .page-id-1606 #site .vc_row.bg-custom5 .iconlist { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1199px) {
  .page-id-1606 #site .vc_row.bg-custom5 .iconlist { margin-bottom: 30%; }
}
@media (max-width: 1024px) {
  .page-id-1606 .vc_row.bg-custom5 { background-position: right calc(15px - 5.38vw) bottom !important; }
}
@media (max-width: 640px) {
  .page-id-1606 #site .vc_row.bg-custom5 .iconlist { grid-template-columns: minmax(0, 1fr); gap: 16px; }
}

/* Page titles: cancel the blank space built into each title's first letter, so the visible letter lines up with the content below (2026-11-05).
   Grouped by first letter: B D E H K L N P R = .062em, C G M O S = .031em, digits = .015em, A T W = none. A new page title needs adding to the matching group. */
@media (min-width: 1025px) {
  .page-id-3436 .content-header .page-title-inner, .postid-3156 .content-header .page-title-inner, .postid-192 .content-header .page-title-inner, .postid-1431 .content-header .page-title-inner,
  .page-id-1166 .content-header .page-title-inner, .postid-3155 .content-header .page-title-inner,
  .page-id-1163 .content-header .page-title-inner, .page-id-1212 .content-header .page-title-inner, .postid-72 .content-header .page-title-inner,
  .page-id-1851 .content-header .page-title-inner,
  .postid-1716 .content-header .page-title-inner, .postid-93 .content-header .page-title-inner,
  .postid-196 .content-header .page-title-inner, .postid-1714 .content-header .page-title-inner, .postid-3028 .content-header .page-title-inner, .postid-109 .content-header .page-title-inner,
  .blog .content-header .page-title-inner,
  .page-id-3639 .content-header .page-title-inner, .page-id-3 .content-header .page-title-inner, .page-id-1073 .content-header .page-title-inner,
  .postid-3129 .content-header .page-title-inner, .postid-1722 .content-header .page-title-inner, .postid-97 .content-header .page-title-inner { margin-left: -.062em !important; }
  .page-id-1734 .content-header .page-title-inner, .page-id-1168 .content-header .page-title-inner, .page-id-486 .content-header .page-title-inner, .postid-65 .content-header .page-title-inner,
  .page-id-144 .content-header .page-title-inner,
  .page-id-363 .content-header .page-title-inner, .page-id-1165 .content-header .page-title-inner, .postid-3128 .content-header .page-title-inner,
  .page-id-1606 .content-header .page-title-inner,
  .postid-3151 .content-header .page-title-inner, .postid-3153 .content-header .page-title-inner, .postid-3019 .content-header .page-title-inner, .postid-3130 .content-header .page-title-inner, .page-id-2792 .content-header .page-title-inner { margin-left: -.031em !important; }
  .postid-3152 .content-header .page-title-inner, .postid-85 .content-header .page-title-inner, .postid-79 .content-header .page-title-inner { margin-left: -.015em !important; }
}

/* ==========================================================================
   Phones and tablets only: side margins and no cut-off text (2026-11-05).
   Everything here sits inside max-width media queries, so screens wider than 1024px are not affected.
   ========================================================================== */
@media only screen and (max-width: 1024px) {
  /* page titles: same 20px side margin as the content (Projects and Sustainability set their own) */
  body:not(.page-id-1073):not(.page-id-2792) .content-header .content-header-inner.wrap { padding-left: 20px !important; padding-right: 20px !important; }
  .content-header .page-title-inner { margin-left: 0 !important; overflow-wrap: anywhere; text-shadow: 0 2px 16px rgba(0,0,0,.75); }
  .content-header .page-title .subtitle { text-shadow: 0 1px 10px rgba(0,0,0,.85); }

  /* banner: title starts below the header (on Projects, Sustainability and project pages it was hidden behind the logo) */
  #site .content-header { padding-top: 92px !important; padding-bottom: 36px !important; margin-bottom: 0 !important; background-image: linear-gradient(rgba(0,0,0,.6), rgba(0,0,0,.6)), url(/assets/images/bg-title.webp) !important; }
  #site .content-header .content-header-inner { height: auto !important; min-height: 130px; }
  .content-header .page-title-inner { font-size: clamp(32px, 10vw, 64px); line-height: 1.12; }
  .page-id-1073 .page-title-inner, .page-id-2792 .page-title-inner { font-size: clamp(32px, 10vw, 64px) !important; line-height: 1.12 !important; }
  .single-nproject .page-title-inner { line-height: 1.2 !important; }

  /* pages whose content had no side margin: Brand Kit, CCTV, Electrical, Evacuation, Mechanical, Privacy, News, news posts, 404 */
  .page-id-3436 .content-body-inner.wrap, .page-id-1168 .content-body-inner.wrap, .page-id-1163 .content-body-inner.wrap, .page-id-1212 .content-body-inner.wrap,
  .page-id-1165 .content-body-inner.wrap, .page-id-3 .content-body-inner.wrap, .blog .content-body-inner.wrap, .single-post .content-body-inner.wrap, .error404 .content-body-inner.wrap { padding-left: 20px !important; padding-right: 20px !important; }
  #main-content .wp-block-heading, .single-post .post-title { overflow-wrap: anywhere; }

  /* Careers: three text columns were off-centre, with a wide gap on the right */
  .page-id-1734 #safety.vc_section { width: 100% !important; margin-left: 0 !important; margin-right: 0 !important; padding-left: 20px !important; padding-right: 20px !important; box-sizing: border-box; }
  .page-id-1734 #safety .vc_row { margin-left: 0 !important; margin-right: 0 !important; width: 100% !important; }
  .page-id-1734 #safety .vc_column-inner { padding-left: 0 !important; padding-right: 0 !important; }
  .page-id-1734 #site #safety .iconlist.iconlist-icon-large { width: 100% !important; margin-left: 0 !important; margin-right: 0 !important; }
  .page-id-1734 #site #safety .iconlist.iconlist-icon-large li { padding-left: 0 !important; padding-right: 0 !important; width: 100% !important; }
  .page-id-1734 #site #safety .iconlist-item-content { width: 100% !important; padding: 0 !important; }

  /* mobile header: logo and menu button on one row, instead of stacked */
  #site-header .header-content { flex-direction: row !important; flex-wrap: nowrap !important; align-items: center !important; justify-content: space-between !important; gap: 12px; height: auto !important; min-height: 76px; }
  #site-header .header-brand { flex: 0 1 auto; min-width: 0; margin: 0 !important; padding: 0 !important; }
  #site-header .header-brand img.logo { display: block; width: min(320px, 100%) !important; max-width: 100%; height: auto !important; }
  #site-header .off-canvas-toggle { flex: 0 0 auto; margin: 0 !important; }

  /* home: hero starts under the compact header, and its title stays readable over the photo */
  .home .vc_custom_1665745970762 { padding-top: 76px !important; }
  .home .ems-hero__title h1 { text-shadow: 0 2px 14px rgba(0,0,0,.7); }

  /* home counters: long numbers were cut off on small tablets */
  .home #site .vc_custom_1712646913131 .counter-content { font-size: 56px !important; }

  /* About: team photo lines up with the text */
  .page-id-142 .vc_custom_1750135978636 .wpb_single_image { padding-left: 20px; padding-right: 20px; box-sizing: border-box; }

  /* Projects: intro text ran to the right edge */
  .page-id-1073 .content .wpb_text_column p { padding-right: 20px; }
}

@media only screen and (max-width: 767px) {
  /* large empty gaps between the banner and the first content */
  body:not(.home) .content-body-inner { padding-top: 24px !important; }
  body:not(.home) .content > :first-child { margin-top: 0 !important; padding-top: 24px !important; }
  body:not(.home) .content > :first-child .vc_empty_space:first-child { display: none !important; }

  /* service pages: sections were indented by different amounts */
  .page-id-3436 .content .vc_section, .page-id-1168 .content .vc_section, .page-id-1163 .content .vc_section, .page-id-1212 .content .vc_section, .page-id-1165 .content .vc_section { margin-left: 0 !important; margin-right: 0 !important; padding-left: 0 !important; padding-right: 0 !important; }
  .page-id-3436 .content .vc_row, .page-id-1168 .content .vc_row, .page-id-1163 .content .vc_row, .page-id-1212 .content .vc_row, .page-id-1165 .content .vc_row { margin-left: 0 !important; margin-right: 0 !important; }
  .page-id-3436 .content .vc_column-inner, .page-id-1168 .content .vc_column-inner, .page-id-1163 .content .vc_column-inner, .page-id-1212 .content .vc_column-inner, .page-id-1165 .content .vc_column-inner { padding-left: 0 !important; padding-right: 0 !important; }
  .page-id-3436 .content .wpb_column, .page-id-1168 .content .wpb_column, .page-id-1163 .content .wpb_column, .page-id-1212 .content .wpb_column, .page-id-1165 .content .wpb_column { padding-left: 0 !important; padding-right: 0 !important; }

  /* justified text leaves big gaps on a narrow screen */
  .content .wpb_text_column p, .content .iconlist-item-content p, .content .post-content p, .content .col p { text-align: left; }
  .single-nproject .content p, .page-id-2792 .sustainability-page p { text-align: left !important; }

  /* headings that were too large for the screen */
  .single-post .post-title { font-size: 26px; line-height: 1.2; }

  /* Sustainability table: fits the screen instead of scrolling sideways */
  .page-id-2792 .sustainability-page .table-responsive { overflow-x: visible !important; }
  .page-id-2792 .sustainability-page .progress-table { width: 100% !important; min-width: 0 !important; table-layout: fixed !important; }
  .page-id-2792 .sustainability-page .progress-table th, .page-id-2792 .sustainability-page .progress-table td { padding: 8px 5px !important; font-size: 12px !important; line-height: 1.3 !important; white-space: normal !important; overflow-wrap: anywhere; }
}

/* Mobile menu: black background with white text (2026-11-05) */
@media only screen and (max-width: 1024px) {
  .sliding-menu.off-canvas { background-color: #000 !important; color: #fff; }
  .sliding-menu.off-canvas a, .sliding-menu.off-canvas .info-list span { color: #fff; }
  .sliding-menu.off-canvas .menu-sliding li.sustainability-menu > a { color: #47bd5a !important; }
  .sliding-menu.off-canvas a:hover, .sliding-menu.off-canvas a:focus { color: #ff5a60; }
  .sliding-menu.off-canvas .menu-sliding { border-top: 0 !important; }
  .sliding-menu.off-canvas .search-field { color: #fff !important; border-color: rgba(255,255,255,.4) !important; }
  .sliding-menu.off-canvas .search-field::placeholder { color: rgba(255,255,255,.65) !important; opacity: 1; }
  .sliding-menu.off-canvas .search-form::before, .sliding-menu.off-canvas .search-form::after, .sliding-menu.off-canvas .search-form label::before, .sliding-menu.off-canvas .search-form label::after { color: #fff !important; }
  .sliding-menu.off-canvas .info-list i { background-color: #BD2026 !important; color: #fff !important; }
  .sliding-menu.off-canvas .menu-item-toggle { color: #fff !important; background-color: transparent !important; }
  .sliding-menu.off-canvas a.off-canvas-toggle, .sliding-menu.off-canvas a.off-canvas-toggle:hover { color: #000 !important; }
}

/* ---------- Service pages: plain aligned layout, every block fills the content column (2026-11-05) ---------- */
#site .ems-svc { margin: 0; padding-left: 0; padding-right: 0; }
#site .ems-svc p { margin: 0 0 16px; color: #333; font-size: 17px; line-height: 1.7; text-align: left; }
#site .ems-svc p:last-child { margin-bottom: 0; }
#site .ems-svc em, #site .ems-svc strong, #site .ems-svc a.link { color: #111; }
#site .ems-svc a.link:hover { color: #BD2026; }
#site .ems-svc img { display: block; max-width: 100%; border-radius: 0; }
#site .ems-svc h2 { margin: 0 0 20px; color: #111; font-size: 32px; font-weight: 500; line-height: 1.2; text-align: left; }
#site .ems-svc h3 { margin: 24px 0 14px; color: #111; font-size: 24px; font-weight: 500; line-height: 1.25; }
#site .ems-svc h2::after, #site .ems-svc h3::after { display: none; }
#site .ems-svc__intro { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 56px; }
#site .ems-svc__split { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 56px; align-items: center; margin-top: 72px; }
#site .ems-svc__split img { width: 100%; height: auto; }
#site .ems-svc__band { margin-top: 72px; padding: 56px; background: #f2f2f2; }
#site .ems-svc__cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 56px; }
#site .ems-svc__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; margin-top: 72px; }
#site .ems-svc__grid img { width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }

@media (max-width: 1040px) {
  #site .ems-svc__intro, #site .ems-svc__split, #site .ems-svc__cols { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  #site .ems-svc__split > img { order: -1; }
  #site .ems-svc__split, #site .ems-svc__band, #site .ems-svc__grid { margin-top: 56px; }
  #site .ems-svc__band { padding: 40px 36px; }
  #site .ems-svc__cols { gap: 0; }
  #site .ems-svc__cols p { margin-bottom: 16px; }
  #site .ems-svc__cols p:last-child { margin-bottom: 0; }
  #site .ems-svc__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  #site .ems-svc h2 { font-size: 26px; }
  #site .ems-svc h3 { font-size: 22px; }
  #site .ems-svc__band { padding: 32px 20px; }
  #site .ems-svc__grid { grid-template-columns: minmax(0, 1fr); }
}

/* About page: What makes us different image lines up with the other sections (2026-11-05) */
.page-id-142 .vc_section > .vc_custom_1750141928718 { width: auto !important; margin-left: 0 !important; margin-right: 0 !important; }
@media only screen and (max-width: 1024px) {
  .page-id-142 .vc_section > .vc_custom_1750141928718 { margin-left: 20px !important; margin-right: 20px !important; }
}

/* Management page: intro text left-aligned on phones and tablets too (2026-11-05) */
@media only screen and (max-width: 1024px) {
  body.page-id-363 #people p.vc_custom_heading { text-align: left !important; max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; padding: 0 15px !important; }
  body.page-id-363 #people p.vc_custom_heading br { display: inline !important; }
}
@media only screen and (max-width: 767px) {
  body.page-id-363 #people p.vc_custom_heading { padding: 0 10px !important; }
}

/* Careers page: no numbers, thin icons above each heading (2026-11-05) */
.page-id-1734 #site .iconlist.iconlist-icon-large li:before { display: none !important; }
.page-id-1734 #site .iconlist.iconlist-icon-large li { padding-bottom: 0 !important; margin-bottom: 40px !important; }
.page-id-1734 #site .iconlist.iconlist-icon-large li .iconlist-item-icon { position: static !important; flex: 0 0 76px; display: flex; align-items: center; justify-content: center; width: 76px !important; max-width: none !important; height: 76px; margin: 0 0 24px !important; background: #f6eaea; transition: background .35s ease; }
.page-id-1734 #site .iconlist.iconlist-icon-large li .iconlist-item-icon svg { display: block; width: 50px; height: 50px; fill: none; stroke: #BD2026; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; transition: stroke .35s ease; }
.page-id-1734 #site .iconlist.iconlist-icon-large li:hover .iconlist-item-icon { background: #BD2026; }
.page-id-1734 #site .iconlist.iconlist-icon-large li:hover .iconlist-item-icon svg { stroke: #fff; }
/* room for the building at the bottom right, so it stays clear of the text */
.page-id-1734 #safety .vc_separator { margin-top: 11.5%; }
@media (max-width: 1024px) {
  .page-id-1734 #site .iconlist.iconlist-icon-large li { padding-bottom: 28px !important; }
  .page-id-1734 #safety .vc_separator { margin-top: 50px; }
}

/* Careers page: building image 43% larger than the original (2026-11-05) */
.page-id-1734 #safety.vc_section.text-area { background-size: 25.74% !important; }
@media only screen and (max-width: 1024px) {
  .page-id-1734 #safety.vc_section.text-area { background-size: 200px !important; }
}
@media only screen and (max-width: 767px) {
  .page-id-1734 #safety.vc_section.text-area { background-size: 143px !important; }
}

/* Mechanical page: two-column rows and image caption, on top of the shared service page layout (2026-11-05) */
#site .ems-svc__grid--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
#site .ems-svc__figure { position: relative; margin: 0; }
#site .ems-svc__figure img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
#site .ems-svc__figure figcaption { position: absolute; left: 0; right: 0; bottom: 0; margin: 0; padding: 6px 8px; background: rgba(255, 255, 255, .85); color: #555; font-size: 13px; line-height: 1.4; }
@media (max-width: 767px) {
  #site .ems-svc__grid--two { grid-template-columns: minmax(0, 1fr); }
}
/* Mechanical page: intro columns line up with the two-column image rows below */
@media (min-width: 1041px) {
  body.page-id-1165 #site .ems-svc__intro { gap: 40px; }
}

/* Clients page: centre the last row of three logos, tablet and desktop only (2026-11-05) */
@media (min-width: 768px) {
  .page-id-1606 #site .ems-logos-centre .row-inner > .wpb_column:first-child { width: 25%; }
  .page-id-1606 #site .ems-logos-centre .row-inner > .wpb_column:last-child { display: none; }
}

/* CCTV and Evacuation pages: intro columns line up with the two-column image rows below; even row spacing (2026-11-05) */
@media (min-width: 768px) {
  body.page-id-1212 #site .ems-svc__grid { row-gap: 56px; }
}
@media (min-width: 1041px) {
  body.page-id-1168 #site .ems-svc__intro, body.page-id-1212 #site .ems-svc__intro { gap: 40px; }
  body.page-id-1212 #site .ems-svc__grid { row-gap: 72px; }
}
/* Evacuation page: last two photos are small wide files, so show them at their own shape to keep them sharper */
@media (min-width: 768px) {
  body.page-id-1212 #site .ems-svc__grid--two img { aspect-ratio: 510 / 226; }
}

/* Header logo: 69px, 62px on laptops, 59px while scrolling. On small laptops it scales so the menu keeps its room (2026-11-05) */
@media (min-width: 1041px) {
  #site-header .header-brand img.logo { height: 69px !important; }
  #site-header.is-scrolled .header-brand img.logo { height: 59px !important; }
}
@media (min-width: 1216px) and (max-width: 1560px) {
  #site-header .header-brand img.logo { height: clamp(50px, calc((100vw - 885px) / 7.58), 62px) !important; }
  #site-header.is-scrolled .header-brand img.logo { height: clamp(48px, calc((100vw - 885px) / 7.58), 59px) !important; }
}
@media (min-width: 1101px) and (max-width: 1215px) {
  #site-header .header-brand img.logo { height: clamp(50px, calc((100vw - 739px) / 7.58), 62px) !important; }
  #site-header.is-scrolled .header-brand img.logo { height: clamp(48px, calc((100vw - 739px) / 7.58), 59px) !important; }
}
@media (min-width: 1041px) and (max-width: 1100px) {
  #site-header .header-brand img.logo { height: clamp(50px, calc((100vw - 672px) / 7.58), 62px) !important; }
  #site-header.is-scrolled .header-brand img.logo { height: clamp(48px, calc((100vw - 672px) / 7.58), 59px) !important; }
}
@media (max-width: 1024px) {
  #site-header .header-brand { flex: 0 1 395px; }
  #site-header .header-brand img.logo { width: 100% !important; }
}

/* Search results page (2026-11-06) */
.ems-search-page .content-body { padding-top: 40px; padding-bottom: 100px; }
.ems-search { max-width: 900px; padding: 10px 0 40px; }
.ems-search .search-form { display: flex; align-items: stretch; width: 100%; max-width: 720px; margin: 0 0 28px; }
.ems-search .search-form::before, .ems-search .search-form::after, .ems-search .search-form label::before, .ems-search .search-form label::after { display: none; }
.ems-search .search-form label { flex: 1; display: block; margin: 0; }
.ems-search .screen-reader-text { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); border: 0; }
.ems-search .search-form .search-field { width: 100%; height: 52px; margin: 0; padding: 0 16px; border: 1px solid #e2e2e2; border-right: 0; border-radius: 0; background: #fff; box-sizing: border-box; color: #333; font-size: 15px; outline: none; }
.ems-search .search-form .search-field:focus { border-color: #999; }
.ems-search .search-form .search-submit { position: static; width: auto; height: 52px; margin: 0; padding: 0 36px; border: 0; border-radius: 0; background: #000; color: #fff; cursor: pointer; font-size: 15px; font-weight: 500; text-indent: 0; opacity: 1; transition: background .3s ease; }
.ems-search .search-form .search-submit:hover { background: #c02026; }
.ems-search .ems-search__count { margin: 0 0 32px; color: #333; font-size: 17px; line-height: 1.5; }
.ems-search .ems-search__list { margin: 0; padding: 0; list-style: none; }
.ems-search .ems-search__list li { margin: 0; padding: 24px 0; border-top: 1px solid #e2e2e2; }
.ems-search .ems-search__list li::before { display: none; }
.ems-search .ems-search__list h2 { margin: 0 0 8px; font-size: 22px; font-weight: 500; line-height: 1.3; text-align: left; }
.ems-search .ems-search__list h2::after { display: none; }
.ems-search .ems-search__list h2 a { color: #111; }
.ems-search .ems-search__list h2 a:hover { color: #BD2026; }
.ems-search .ems-search__list p { margin: 0; color: #555; font-size: 16px; line-height: 1.6; text-align: left; overflow-wrap: anywhere; }
.ems-search .ems-search__list p strong { color: #111; font-weight: 600; }
@media (max-width: 991px) {
  .ems-search-page .content-header-inner.wrap, .ems-search-page .content-body-inner.wrap { padding-left: 25px !important; padding-right: 25px !important; box-sizing: border-box !important; }
}
@media (max-width: 767px) {
  .ems-search-page .content-header-inner.wrap, .ems-search-page .content-body-inner.wrap { padding-left: 20px !important; padding-right: 20px !important; }
  .ems-search-page .content-body { padding-top: 20px; padding-bottom: 60px; }
  .ems-search .search-form .search-field { height: 48px; font-size: 16px; }
  .ems-search .search-form .search-submit { height: 48px; padding: 0 22px; font-size: 14px; }
  .ems-search .ems-search__list h2 { font-size: 20px; }
  .ems-search .ems-search__list p { font-size: 15px; }
}

/* Mobile and tablet menu: logo in place of the search box, beside the close button (2026-11-06) */
#off-canvas-right .ems-menu-logo { position: absolute; left: 40px; top: 40px; display: flex; align-items: center; width: calc(100% - 170px); max-width: 360px; height: 60px; }
#off-canvas-right .ems-menu-logo img { display: block; width: 100%; height: auto; }

/* Accreditations, tablet and phone only: larger logos and more space between rows (2026-11-06) */
@media (min-width: 768px) and (max-width: 1024px) {
  html body.home #site #Accreditations .marquee-row { padding: 24px 0; }
  html body.home #site #Accreditations .marquee-track img { width: 190px; height: 95px; }
}
@media (max-width: 767px) {
  html body.home #site #Accreditations .marquee-row { padding: 20px 0; }
  html body.home #site #Accreditations .marquee-track img { width: 140px; height: 70px; }
}
