.hero {
  overflow: hidden;
  position: relative;
}

.hero.compressed .content * {
  max-width: 763px;
  margin-right: auto;
}

.hero.centered * {
  justify-content: center;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}

.hero.compressed.centered .content {
  margin: 0 auto;
}

.hero .img-overlay,
.hero .overlay {
  background: linear-gradient(180deg, rgba(47, 50, 53, .67) 44.78% 44.78%, rgba(47, 50, 53, .63)), linear-gradient(180deg, rgba(47, 50, 53, .47) 94.78%, rgba(47, 50, 53, .742)), linear-gradient(180deg, rgba(47, 50, 53, .46) 44.78%, rgba(47, 50, 53, .4));
  background-blend-mode: normal, multiply, color, normal;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 2;
}

.hero.overlay-gradient .overlay {
  background: linear-gradient(90deg, #2C2F31 0.01%, #3E4145 52.4%, rgba(62, 65, 69, 0.70) 99.03%);
}

.hero.overlay-none .overlay {
  display: none;
}

.hero .img-overlay {
  display: none;
}

.hero .btn-container {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  margin-top: 20px;
}

.hero .content {
  gap: 24px;
  margin: 0 auto;
  padding-left: 30px;
  padding-right: 30px;
  position: relative;
  width: 100%;
  z-index: 3;
}

/* Eyebrow: hidden until JS animates it in */
.js-loaded .hero .content .eyebrow {
  visibility: hidden;
}

.hero .title {
  margin-bottom: 0px;
  max-width: 1000px;
}

.hero .text {
  margin-bottom: 0px;
}

.hero.combo .content {
  align-items: flex-start;
  text-align: left;
}

.hero.combo .title {
  text-align: left;
  max-width: 798px;
}

.hero.combo .text {
  max-width: 867px;
}

.hero .content p {
  max-width: 1000px;
  overflow: hidden;
}

/* p span: NO visibility hidden — GSAP handles opacity only */
.js-loaded .hero .content p span {
  display: inline-block;
}

.hero .bg {
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 1;
}

/* btn: NO visibility hidden — GSAP handles opacity only */
.hero .bg.background {
  height: auto;
  max-width: unset !important;
  min-height: 100%;
  min-width: 100%;
  opacity: 1;
  width: auto;
  z-index: 2;
}

.js-loaded .hero .bg.foreground {
  visibility: hidden;
}

.hero .content h1 {
  overflow: hidden;
}

.js-loaded .hero .content h1 span {
  display: inline-block;
  visibility: hidden;
}

#bgThumb, #bgVid {
  position: absolute;
  top: 50%;
  width: 120%;
  min-width: 100%;
  width: auto;
  transform: translate(-50%, -50%) translateY(10%);
  pointer-events: none;
  top: 50%;
  left: 50%;
  width: 130%;
  height: 130%;
  transform: translate(-50%,-50%) translateY(10%);
  object-fit: cover;
  pointer-events: none;
  opacity: 0.1;
  z-index: 3;
}

#bgThumb {
  max-width: unset !important;
  opacity: 1;
}

.bottom-cta {
  align-items: center;
  background-color: black;
  display: flex;
  column-gap: 30px;
  justify-content: center;
  row-gap: 15px;
  text-decoration: none;
  padding: 20px;
  width: 100%;
}

.bottom-cta div {
  color: white;
  font-size: 16px;
  font-weight: 800;
}

.bottom-cta div:last-child {
  color: #00B8AF;
}

.bottom-cta div:last-child:after {
  content: url("data:image/svg+xml,%3Csvg width='10' height='14' viewBox='0 0 10 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.90625 7.53125L2.84375 13.625C2.53125 13.9062 2.0625 13.9062 1.78125 13.625L1.0625 12.9062C0.78125 12.625 0.78125 12.1562 1.0625 11.8438L5.875 7L1.0625 2.1875C0.78125 1.875 0.78125 1.40625 1.0625 1.125L1.78125 0.40625C2.0625 0.125 2.53125 0.125 2.84375 0.40625L8.90625 6.5C9.1875 6.78125 9.1875 7.25 8.90625 7.53125Z' fill='%2307b5ac '/%3E%3C/svg%3E");
  margin-left: 12px;
  margin-top: 2px;
}

@media (min-width: 992px) {
  .hero .hero-featured-img {
    height: 100% !important;
    max-width: unset !important;