/* ===================================================================
   SEO heading-hierarchy fix — visual styles preserved for elements
   whose HTML tag was changed (H6/H2/H4 -> semantically correct
   H2/H3/P) so the page still looks the same after the tag swap.
   =================================================================== */

/* Section "eyebrow" label — previously <h6>, now <h2> */
.sec-title .sub-heading {
  position: relative;
  display: inline-block;
  font-size: 14px;
  line-height: 26px;
  font-weight: 800;
  padding-bottom: 9px;
  margin-bottom: 15px;
  text-transform: uppercase;
}

.sec-title .sub-heading:before {
  position: absolute;
  content: '';
  width: 70px;
  height: 2px;
  left: 0px;
  bottom: 0px;
}

.sec-title.centred .sub-heading:before {
  left: 50%;
  transform: translateX(-50%);
}

/* Section main title — previously <h2>, now <h3> */
.sec-title .main-heading {
  position: relative;
  display: block;
  font-size: 40px;
  line-height: 50px;
  font-weight: 800;
}

.sec-title.light .main-heading {
  color: #ffffff;
}

/* Event date badge — previously <h2>, now <p> */
.news-block-one .inner-box .image-box .event-date {
  position: absolute;
  right: 30px;
  bottom: 40px;
  width: 70px;
  z-index: 1;
  font-size: 30px;
  line-height: 26px;
  color: #fff;
  font-weight: 800;
  text-align: center;
  padding: 12px 0px 6px 0px;
  margin: 0;
}

.news-block-one .inner-box .image-box .event-date span {
  display: block;
  font-size: 14px;
  text-transform: uppercase;
}

.news-block-one .inner-box .image-box .event-date:before {
  position: absolute;
  content: '';
  background: rgba(233, 77, 78, 0.50);
  width: 60px;
  height: 5px;
  left: 5px;
  bottom: -5px;
}

.news-block-one .inner-box .image-box .event-date:after {
  position: absolute;
  content: '';
  background: rgba(233, 77, 78, 0.50);
  width: 50px;
  height: 10px;
  left: 10px;
  bottom: -10px;
}

/* Staff name — previously <h4>, now <p> */
.team-block-one .inner-box .lower-content .staff-name {
  display: block;
  font-size: 20px;
  line-height: 30px;
  font-weight: 700;
  margin-bottom: 5px;
}

.team-block-one .inner-box .lower-content .staff-name a {
  display: inline-block;
  color: #142b3c;
}

/* Success-story name (all but the first card) — previously <h4>, now <h3> */
.testimonial-block-one .inner-box .lower-box .story-name {
  display: block;
  font-size: 20px;
  line-height: 30px;
  font-weight: 700;
  margin-bottom: 2px;
}

.testimonial-block-one .inner-box .lower-box .story-name span {
  font-weight: 400;
  font-family: 'Heebo', sans-serif;
}

/* Mobile menu "Contact Info" title — previously <h4>, now <p> */
.mobile-menu .contact-info .contact-info-title {
  position: relative;
  font-size: 20px;
  color: #ffffff;
  font-weight: 700;
  margin-bottom: 20px;
}

/* Banner slider title — only the first slide keeps a real <h2>;
   the rest render as <p> so the same heading text isn't duplicated
   9-14x in the DOM for crawlers, while every slide still looks the same. */
.banner-carousel .content-box .slide-title {
  position: relative;
  display: block;
  color: #fff;
  font-size: 72px;
  line-height: 80px;
  font-weight: 800;
  margin-bottom: 23px;
  opacity: 0;
  -webkit-transform: translateY(100px);
  -moz-transform: translateY(100px);
  -ms-transform: translateY(100px);
  -o-transform: translateY(100px);
  transform: translateY(100px);
  -webkit-transition: all 1000ms ease;
  -moz-transition: all 1000ms ease;
  -ms-transition: all 1000ms ease;
  -o-transition: all 1000ms ease;
  transition: all 1000ms ease;
}

.banner-carousel .active .content-box .slide-title {
  opacity: 1;
  -webkit-transform: translateY(0);
  -moz-transform: translateY(0);
  -ms-transform: translateY(0);
  -o-transform: translateY(0);
  transform: translateY(0);
  -webkit-transition-delay: 1000ms;
  -moz-transition-delay: 1000ms;
  -ms-transition-delay: 1000ms;
  -o-transition-delay: 1000ms;
  transition-delay: 1000ms;
}