:root {
  --secondary-2: #EFF3F6;
  --secondary: #333;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: "Raleway", sans-serif;
  color: #333;
  font-family: Raleway;
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
}

img,
svg {
  display: block;
  max-width: 100%;
}

a {
  text-decoration: none;
  color: inherit;
}

ul {
  list-style: none;
}

/* ---------- section-tag / headings ---------- */
.section-tag {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  color: #333;
  font-family: Raleway;
  font-size: 1rem;
  font-style: normal;
  font-weight: 300;
  line-height: 1.875rem;
  /* 187.5% */
  text-transform: uppercase;
  position: relative;
  margin-bottom: 1.25rem;
}

.section-tag::before {
  content: '';
  display: block;
  width: 2.125rem;
  height: 0.4375rem;
  border-radius: 0.875rem;
  background: #B2191E;
}

.section-title {
  color: #B2191E;
  font-family: "Crimson Pro";
  font-size: 3.5625rem;
  font-style: italic;
  font-weight: 400;
  line-height: normal;
}

p {
  color: #333;
  font-family: Raleway;
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
}

/* ---------- Buttons ---------- */
.btn {
  width: fit-content;
  display: flex;
  padding: 0.75rem 1.5rem;
  align-items: flex-start;
  gap: 1rem;
  border-radius: 2.375rem;
  background: #B2191E;

  color: #FFF;
  font-family: Raleway;
  font-size: 1.25rem;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  border: 1px solid #B2191E;
  transition: all 0.3s ease;
}

.btn svg {
  width: 1.5rem;
  height: 1.5rem;
  aspect-ratio: 1/1;
  transition: all 0.3s ease;
}

.btn:hover {
  border-color: #333;
  color: #333;
  background: transparent;
}

.btn:hover svg path {
  stroke: #333;
}

.btn-outline {
  background: transparent;
  border-color: #333;
  color: #333;
}

.btn-outline svg path {
  stroke: #333;
}

.btn-outline-white {
  background: transparent;
  border-color: #fff;
  color: #fff;
}

.btn-outline:hover,
.btn-outline-white:hover {
  background: #B2191E;
  border-color: #B2191E;
  color: #fff;
}

.btn-outline:hover svg path,
.btn-outline-white:hover svg path {
  stroke: #fff;
}

.top-bar {
    width: 100%;
    padding: 0.81rem;
    height: 3.5rem;
    background: #B2191E;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
}

.top-bar p {
    width: calc(100% - 2rem);
    text-align: center;
    color: #FFF;
    font-family: Raleway;
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.875rem;
    margin: 0;

    position: absolute;
    opacity: 0;
    animation: topBarText var(--total-duration) infinite;
    animation-delay: var(--delay);
	pointer-events: none;
}


@keyframes topBarText {
    0% {
        opacity: 0;
		pointer-events: none;
    }

    5% {
        opacity: 1;
		pointer-events: auto;
    }

    25% {
        opacity: 1;
		pointer-events: auto;
    }

    30% {
        opacity: 0;
		pointer-events: none;
    }

    100% {
        opacity: 0;
		pointer-events: none;
    }
}


.header {
  width: 100%;
  position: absolute;
  z-index: 999;
  padding: 1.87rem 3.12rem;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 1.875rem;
  align-items: center;
  border-bottom: 1px solid rgba(255, 255, 255, 0.54);
}

.navbar ul {
  display: flex;
  align-items: center;
  gap: 1.875rem;
}

.navbar:nth-of-type(2) ul {
  justify-content: flex-end;
}

.navbar ul li a {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  color: #FFF;
  font-family: Raleway;
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
}

.navbar ul li a svg {
  width: 1.5rem;
  height: auto;
  object-fit: cover;
  transition: all 0.3s ease;
}

.logo {
  width: 15.8125rem;
}

.logo img {
  width: 100%;
  height: auto;
  object-fit: cover;
}

.navbar ul li {
  position: relative;
}

.navbar ul li>a svg {
  transition: transform 0.3s ease;
}

.navbar ul li.menu-open>a img {
  transform: rotate(180deg);
}

.mega-menu {
  position: absolute;
  top: calc(100% + 2.6rem);
  left: 0;
  width: max-content;
  padding: 1.87rem;
  min-width: 28.5rem;
  min-height: 13.0625rem;
  height: max-content;

  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem;
  border-radius: 1.25rem;
  background: var(--secondary-2, #EFF3F6);
  box-shadow: 0 0 58.7px 0 rgba(0, 0, 0, 0.82);

  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: all 0.3s ease;
  z-index: 1000;
}

/* OPEN */

.has-megamenu.menu-open .mega-menu {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}


.mega-menu-nav {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.5rem;
}


/* LEFT MENU BUTTON */

.mega-menu-nav button {
  padding: 0;
  border: 0;
  background: transparent;

  color: #333;
  font-family: Raleway;
  font-size: 1.25rem;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  text-transform: uppercase;
  cursor: pointer;

  transition: color 0.3s ease;
}


/* ACTIVE */

.mega-menu-nav button.active,
.mega-menu-nav button:hover {
  color: #B2191E;
}


.mega-menu-content {
  position: relative;
}


/* PANELS */

.mega-menu-panel {
  display: none;

  flex-direction: column;
  align-items: flex-start;
  gap: 0.88rem;
}


/* ACTIVE PANEL */

.mega-menu-panel.active {
  display: flex;
}


/* RIGHT LINKS */

.mega-menu-panel a {
  color: #333 !important;
  transition: color 0.3s ease;
}


.mega-menu-panel a:hover {
  color: #B2191E !important;
}


.submenu {
  position: absolute;
  top: calc(100% + 2.6rem);
  left: 0;

  width: max-content;
  min-width: 13.875rem;

  padding: 1.88rem;

  display: flex;
  flex-direction: column;
  gap: 0.88rem;

  border-radius: 1.25rem;
  background: var(--secondary-2, #EFF3F6);
  box-shadow: 0 0 58.7px 0 rgba(0, 0, 0, 0.82);

  opacity: 0;
  visibility: hidden;
  pointer-events: none;

  transition: all 0.3s ease;

  z-index: 1000;
}


/* OPEN SUBMENU */

.has-submenu.menu-open .submenu {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}


/* SUBMENU LINKS */

.submenu a {
  color: #333 !important;
  transition: color 0.3s ease;
}

.submenu a:hover {
  color: #B2191E !important;
}

.navbar:nth-of-type(2) ul .has-submenu:last-child .submenu {
  left: unset;
  right: 0;
}

.menu-toggle {
  display: none;
}

.menu-toggle,
.mobile-menu {
  display: none;
}

.mobile-menu .social-row {
  display: none;
}

@media (max-width:1200px) {

  .header {
    display: flex;
    justify-content: space-between;
    padding: 20px;
  }

  .header>.navbar {
    display: none;
  }

  .logo {
    width: 180px;
    justify-self: center;
  }

  .menu-toggle {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 6px;
    width: 32px;
    height: 32px;
    background: transparent;
    border: 0;
    cursor: pointer;
    z-index: 1002;
  }

  .menu-toggle span {
    width: 100%;
    height: 2px;
    background: #fff;
    transition: .3s;
  }

  .menu-toggle.is-open span {
    background: #333;
  }

  .menu-toggle.is-open span:nth-child(1) {
    transform: translateY(8px) rotate(45deg);
  }

  .menu-toggle.is-open span:nth-child(2) {
    opacity: 0;
  }

  .menu-toggle.is-open span:nth-child(3) {
    transform: translateY(-8px) rotate(-45deg);
  }

  .mobile-menu {
    width: 100%;
    height: 100vh;
    max-width: 380px;
    display: block;
    position: fixed;
    top: 0;
    right: -100%;
    padding: 130px 20px 40px;
    background: #EFF3F6;
    overflow-y: auto;
    transition: .4s;
    z-index: 1001;
  }

  .mobile-menu.is-open {
    right: 0;
  }

  .mobile-menu-list {
    display: flex;
    flex-direction: column;
  }

  .mobile-menu-item {
    border-bottom: 1px solid #ddd;
  }

  .mobile-link {
    padding: 1rem 0;
  }

  .mobile-link,
  .mobile-menu-toggle-btn,
  .mobile-submenu-group-btn {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border: 0;
    background: transparent;
    cursor: pointer;
    text-align: left;
  }

  .mobile-link {
    color: #333;
  }

  .mobile-menu-toggle-btn svg,
  .mobile-submenu-group-btn svg {
    width: 20px;
    transition: .3s;
  }

  .mobile-menu-toggle-btn svg path,
  .mobile-submenu-group-btn svg path {
    fill: #000;
  }

  .mobile-submenu {
    max-height: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: all 0.3s ease;
    padding-left: 1rem;
  }

  .mobile-menu-item.is-open>.mobile-submenu {
    max-height: 1000px;
  }

  .mobile-menu-item.is-open>.mobile-menu-toggle-btn svg {
    transform: rotate(180deg);
  }

  .mobile-submenu-group,
  .mobile-submenu-group-content a,
  .mobile-submenu a {
    padding: 1rem 0;
    border-bottom: 1px solid #ddd;
  }

  .mobile-submenu a:last-child,
  .mobile-submenu-group:last-child {
    border: none;
  }

  .mobile-submenu a:first-child,
  .mobile-submenu-group:first-child {
    border-top: 1px solid #ddd;
  }

  .mobile-submenu-group-content {
    max-height: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    padding-left: 20px;
    transition: .3s;
  }

  .mobile-submenu-group.is-open .mobile-submenu-group-content {
    max-height: 300px;
  }

  .mobile-submenu-group.is-open .mobile-submenu-group-btn img {
    transform: rotate(180deg);
  }

  /* Prevent body scroll when mobile menu is open */
  body.menu-active {
    overflow: hidden;
  }


  /* Mobile Menu Overlay */
  .menu-overlay {
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.3s ease, visibility 0.3s ease;
    z-index: 998;
  }


  .menu-overlay.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }

  .mobile-menu {
    z-index: 999;
  }

  .menu-toggle {
    z-index: 1000;
  }

  .mobile-menu .social-row {
    display: flex;
    width: fit-content;
    margin: 2rem auto;
  }

  .mobile-menu .btn {
    margin: 0 auto;
  }

  .mobile-menu .social-row a {
    background: #E5EBEF;
  }

  .mobile-menu .social-row a img {
    filter: brightness(0);
    opacity: 0.8;
  }
}


.hero-section {
  position: relative;
  width: 100%;
  height: 100vh;
  background-image: url('../images/hero-bg.png');
  background-size: cover;
  background-repeat: no-repeat;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 4rem 3.12rem 2rem;
}

.hero-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(91deg, rgba(0, 0, 0, 0.80) 20.68%, rgba(0, 0, 0, 0.43) 99.59%);
  pointer-events: none;
}

.hero-section * {
  position: relative;
  z-index: 9;
}

.hero-section .section-tag {
  color: #FFF;
  margin-top: 2rem;
}

.hero-section h1 {
  color: #FFF;
  font-family: "Crimson Pro";
  font-size: 3.5625rem;
  font-style: italic;
  font-weight: 400;
  line-height: normal;
  margin-bottom: 1rem;
}

.hero-section p {
  max-width: 50.375rem;
  color: #FFF;
  margin-bottom: 2.25rem;
}

.hero-section .btn:not(.btn-outline-white):hover,
.header .btn:hover,
.footer .btn:hover {
  background: #B2191E;
  border-color: #B2191E;
  color: #fff;
}

.hero-section .btn:not(.btn-outline-white):hover svg path,
.header .btn:hover svg path,
.footer .btn:hover svg path {
  stroke: #fff;
}

.btn-wrapper {
  width: fit-content;
  display: flex;
  gap: 1.25rem;
}

/* ---------- Trust bar ---------- */
.trust-bar {
  width: 100%;
  overflow: hidden;
  padding: 2.25rem 3.12rem;
  background: var(--secondary-2, #EFF3F6);
}

.trust-bar-track {
  width: max-content;

  display: flex;
  align-items: center;
  gap: 3.12rem;

  will-change: transform;
}

.trust-item {
  width: max-content;

  display: flex;
  align-items: center;
  gap: 3.12rem;

  flex-shrink: 0;

  color: var(--secondary, #333);
  font-family: "Crimson Pro";
  font-size: 1.5rem;
  font-style: italic;
  font-weight: 400;
  line-height: 1.875rem;

  white-space: nowrap;
}

.trust-item img {
  width: 1.9375rem;
  height: auto;
  flex-shrink: 0;
}

.split-section {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3.13rem;
  align-items: center;
  padding: 4.38rem 3.13rem;
}

.welbeing-section {
  padding-left: 0;
}

.split-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 1.875rem;
}

.welbeing-section .split-img img {
  border-radius: 0 31.25rem 31.25rem 0;
}

.split-content .section-title {
  margin-bottom: 1rem;
}

.split-content p+p {
  margin-top: 1.25rem;
}

.split-content p+.btn {
  margin-top: 2.25rem;
}

.testimonial-section {
  width: 100%;
  padding: 4.37rem 3.12rem 3.12rem;
  background: #EFF3F6;
}

.rating-row {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1.25rem;
  margin: 2.13rem 0 1.25rem;
  flex-wrap: wrap;
  padding: 1.12rem 4.38rem;
  border-radius: 1.875rem;
  background: rgba(255, 255, 255, 0.70);
}

.rating-wrapper {
  display: flex;
  align-items: center;
  gap: 1.31rem;
}

.rating-wrapper img {
  width: 9rem;
  height: auto;
  object-fit: cover;
}

.rating-wrapper span {
  color: #333;
  font-family: "Crimson Pro";
  font-size: 2rem;
  font-style: italic;
  font-weight: 400;
  line-height: normal;
}

.total-reviews {
  display: flex;
  align-items: stretch;
  gap: 1.91rem;
}

.total-reviews span {
  color: #333;
  font-family: Raleway;
  font-size: 1.125rem;
  font-style: normal;
  font-weight: 700;
  line-height: 1.375rem;
  padding-right: 1.91rem;
  border-right: 1px solid #333;
  display: flex;
  align-items: center;
}

.total-reviews img {
  width: 9.875rem;
  height: auto;
  object-fit: cover;
}

.testimonial-slider {
  padding: 0 4.38rem;
}

.testimonial-card {
  width: 100%;
  padding: 1.88rem;
  border-radius: 1.875rem;
  background: rgba(255, 255, 255, 0.70);
  display: flex;
  flex-direction: column;
  gap: 1.87rem;
  margin: 0 auto;
}

.testimonial-card>div>img {
  width: 7.8125rem;
  height: auto;
  object-fit: cover;
}

.user-info {
  display: flex;
  gap: 1.25rem;
  margin-bottom: 1.88rem;
}

.user-info img {
  width: 3.75rem;
  height: 3.75rem;
  border-radius: 6.1875rem;
  flex-shrink: 0;
}

.user-img {
  display: flex;
}

.user-info span {
  color: #4E5859;
  font-family: Raleway;
  font-size: 0.875rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1.375rem;
  /* 157.143% */
  white-space: nowrap;
}

.user-info span.user-name {
  color: #4E5859;
  font-family: "Crimson Pro";
  font-size: 1.25rem;
  font-style: italic;
  font-weight: 400;
  line-height: 1.25rem;
  /* 100% */
  letter-spacing: 0.025rem;
  display: block;
  margin-bottom: 0.12rem;
}

.user-review span {
  color: #B2191E;
  font-family: "Crimson Pro";
  font-size: 1.5rem;
  font-style: italic;
  font-weight: 400;
  line-height: normal;
  display: block;
  margin-bottom: 0.75rem;
}

.user-review p {
  color: #4E5859;
  font-family: Raleway;
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1.375rem;
  /* 137.5% */
  max-width: 49.8125rem;
}

.testimonial-arrows .splide__arrow {
  background: transparent;
  width: auto;
  height: auto;
  opacity: 1;
}

.testimonial-arrows .splide__arrow svg {
  width: 2.2rem;
  height: auto;
}

.reasons-section {
  width: 100%;
  padding: 4.38rem 3.13rem;
  position: relative;
  overflow: hidden;
}

.section-head {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 1.25rem;
}

.section-head img {
  width: 21rem;
  height: auto;
  margin-right: -3.13rem;
  position: relative;
  right: -3.13rem;
  pointer-events: none;
}

.reasons-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 0.63rem;
  margin-top: 1.88rem;
}

.reason-card {
  width: 100%;
  padding: 3.125rem 1.375rem;
  border-radius: 12.5rem;
  background: #EFF3F6;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.reason-icon {
  width: 3.33756rem;
  margin-bottom: 1.47rem;
}

.reason-icon img {
  width: 100%;
  height: auto;
  object-fit: cover;
}

.reason-card span {
  color: #333;
  text-align: center;
  font-family: "Crimson Pro";
  font-size: 1.25rem;
  font-style: italic;
  font-weight: 400;
  line-height: normal;
  display: block;
  margin-bottom: 0.75rem;
}

.reason-card p {
  max-width: 90%;
}

.products-section {
  width: 100%;
  padding: 3.13rem;
  background: #EFF3F6;
  overflow: hidden;
}

.products-section .section-title {
  margin-bottom: 1rem;
}

.products-grid {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
  margin-top: 3.12rem;
}

.product-card {
  width: 100%;
  position: relative;
  border-radius: 12px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.product-card-icon {
  width: 100%;
  margin: 1.13rem 0 3.25rem -5rem;
}

.product-card-icon img {
  width: 100%;
  height: auto;
  object-fit: cover;
}


.product-content-wrapper {
  width: 100%;
  overflow: hidden;
  position: relative;
  border-radius: 1.875rem;
}

.product-content-wrapper::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.00) 0.05%, rgba(0, 0, 0, 0.84) 96.81%);
  z-index: 1;
  pointer-events: none;
}

.product-card-img img {
  width: 100%;
  height: auto;
  object-fit: cover;
  border-radius: 1.875rem;
  transition: all 0.45s ease;
}

.product-card:hover .product-card-img img {
  transform: scale(1.1);
}

.product-content {
  position: absolute;
  bottom: 0;
  z-index: 9;
  padding: 1.88rem 1.5rem;
}

.product-content span {
  color: #EFF3F6;
  font-family: "Crimson Pro";
  font-size: 1.5rem;
  font-style: italic;
  font-weight: 400;
  line-height: normal;
  display: block;
  margin-bottom: 0.81rem;
}

.product-content p {
  color: #EFF3F6;
  font-family: Raleway;
  font-size: 0.875rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1.25rem;
  /* 142.857% */
  text-transform: uppercase;
}

.product-content .btn-wrapper {
  margin-top: 0;
  max-height: 0;
  visibility: hidden;
  opacity: 0;
  transform: translateY(100%);
  transition: all 0.45s ease;
}

.product-card:hover .product-content .btn-wrapper {
  margin-top: 1.5rem;
  max-height: 200px;
  visibility: visible;
  opacity: 1;
  transform: translateY(0);
}

/* feature list (numbered) */
.difference-section {
  width: 100%;
  padding: 4.44rem 3.13rem;
  overflow: hidden;
  position: relative;
}

.difference-sec-head {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 2.06rem;
  align-items: center;
}

.difference-sec-head .section-title {
  margin-bottom: 1rem;
}

.difference-sec-head p+p {
  margin-top: 20px;
}

.difference-sec-head img {
  width: 28rem;
  height: auto;
  object-fit: cover;
  margin-right: -3.13rem;
  position: relative;
  right: -3.13rem;
  margin-bottom: 1rem;
}

.difference-content-wrapper {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 3.13rem;
  margin-top: 3.13rem;
}

.difference-content ol {
  padding-left: 1.8125rem;
}

.difference-content ol li {
  padding-left: 2.19rem;
}

.difference-content ol li::marker {
  color: rgba(51, 51, 51, 0.12);
  font-family: "Crimson Pro";
  font-size: 2rem;
  font-style: italic;
  font-weight: 400;
  line-height: normal;
}

.difference-content ol span {
  color: #B2191E;
  font-family: "Crimson Pro";
  font-size: 1.5rem;
  font-style: italic;
  font-weight: 400;
  line-height: normal;
  display: block;
  margin-bottom: 0.75rem;
}

.difference-content .btn {
  margin-top: 3rem;
}

.difference-sec-img {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.25rem;
}

.difference-sec-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 31.25rem;
}

.banner-section {
  width: 100%;
  padding: 3.12rem 3.12rem 3.25rem;
  display: flex;
  justify-content: center;
  background: #333;
}

.banner-inner {
  width: 100%;
  max-width: 59.8125rem;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.banner-section:not(.inner-banner) .banner-inner .section-title {
  color: #fff;
  margin-bottom: 1.5rem;
  text-align: center;
}

.banner-inner span:not(.section-tag) {
  color: #FFF;
  text-align: center;
  font-family: Raleway;
  font-size: 1rem;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  display: block;
}

.banner-inner span+p {
  margin-top: 0.87rem;
}

.banner-inner p {
  color: #FFF;
  text-align: center;
}

.banner-inner p+p {
  margin-top: 20px;
}

.banner-inner p+.btn {
  margin-top: 2.25rem;
}

.banner-section .btn:hover {
  border-color: #fff;
  color: #fff;
}

.banner-section .btn:hover svg path {
  stroke: #fff;
}

.split-img {
  position: relative;
}

.heater-content {
  position: absolute;
  width: calc(100% - 2.5rem);
  height: max-content;
  bottom: 1.25rem;
  left: 50%;
  transform: translateX(-50%);
  border-radius: 1.25rem;
  background: rgba(255, 255, 255, 0.82);
  backdrop-filter: blur(14.399999618530273px);
  display: flex;
  align-items: center;
  gap: 1.13rem;
  padding: 1.25rem;
}

.heater-content img {
  width: 12.4375rem;
  height: auto;
  object-fit: cover;
}

.heater-content span {
  color: #B2191E;
  font-family: "Crimson Pro";
  font-size: 1.5rem;
  font-style: italic;
  font-weight: 400;
  line-height: normal;
  display: block;
  margin-bottom: 0.75rem;
}


.split-content p span {
  color: #B2191E;
  font-weight: 500;
}

.split-content>span:not(.section-tag) {
  color: #333;
  font-family: Raleway;
  font-size: 1rem;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  display: block;
  margin-top: 1.88rem;
}

.check {
  margin-top: 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.62rem;
}

.check li {
  color: #333;
  font-family: Raleway;
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  padding-left: 2.75rem;
  position: relative;
}

.check li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 1.5rem;
  height: 1.5rem;
  aspect-ratio: 1/1;
  background-image: url('../images/check.svg');
  background-size: cover;
  background-repeat: no-repeat;
}

.split-content ul+.btn {
  margin-top: 3.12rem;
}

.cards-section {
  width: 100%;
  padding: 0 3.12rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.25rem;
}

.card-wrapper {
  width: 100%;
  padding: 3.12rem;
  border-radius: 1.875rem;
  background: #EFF3F6;
  border: 1px solid #EFF3F6;
  display: flex;
  flex-direction: column;
}

.home .card-wrapper:first-child {
  background: transparent;
  border-color: #B2191E;
}

.home .card-wrapper:first-child .section-title {
  margin-bottom: 2.28rem;
}

.card-wrapper .section-title {
  max-width: 27.5rem;
  margin-bottom: 1.88rem;
}

.bullet {
  display: flex;
  flex-direction: column;
  gap: 1.9rem;
}

.bullet li {
  color: #333;
  font-family: Raleway;
  font-size: 1.125rem;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  position: relative;
  padding-left: 3rem;
}

.bullet li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  width: 1.75rem;
  height: 2.125rem;
  transform: translateY(-50%);
  background-image: url('../images/flame-icon.svg');
  background-size: cover;
  background-repeat: no-repeat;
}

.home .card-wrapper .bullet {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}

.home .card-wrapper .bullet li:last-child,
.home .card-wrapper .bullet li:nth-last-child(2) {
  grid-column: span 2;
}

.card-wrapper .btn {
  margin-top: 2.25rem;
}

.card-wrapper p+p {
  margin-top: 1.25rem;
}

.card-wrapper p:has(+.btn) {
  margin-bottom: auto;
}


.steps-section {
  width: 100%;
  padding: 4.38rem 3.13rem;
}

.steps-wrapper {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
}

.step-card {
  width: 100%;
  padding: 0.75rem;
  display: flex;
  align-items: center;
  gap: 1.5rem;
  border-radius: 31.25rem;
  background: #EFF3F6;
}

.step-card img {
  width: 3.8rem;
  height: auto;
  object-fit: cover;
}

.step-card span {
  color: #333;
  font-family: "Crimson Pro";
  font-size: 1.5rem;
  font-style: italic;
  font-weight: 400;
  line-height: normal;
  display: block;
  margin-bottom: 0.75rem;
}

.step-card p {
  max-width: 16.875rem;
}

.premium-infrared {
  background-image: url('../images/premium-infrared.png');
  background-size: cover;
  background-repeat: no-repeat;
  position: relative;
  padding-top: 4.37rem;
  padding-bottom: 4.5rem;
}

.premium-infrared::before {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.70);
  pointer-events: none;
  z-index: 1;
}

.premium-infrared * {
  position: relative;
  z-index: 9;
}

.banner-inner p+span {
  margin-top: 1rem;
}

.banner-inner span+.btn {
  margin-top: 3.12rem;
}

.col-reverse .split-img {
  order: 2;
}

.home .col-reverse .section-title {
  margin-bottom: 1.94rem;
}

.split-content p+a:not(.btn) {
  margin-top: 1.25rem;
}

.split-content a:not(.btn) {
  color: #B2191E;
  font-family: Raleway;
  font-size: 1rem;
  font-style: italic;
  font-weight: 400;
  line-height: normal;
  display: block;
}

.split-content a:not(.btn)+a:not(.btn) {
  margin-top: 1.25rem;
}

.split-content a:not(.btn)+.btn-wrapper {
  margin-top: 3.13rem;
}

.faq-section {
  width: 100%;
  padding: 3.12rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  background: #EFF3F6;
}

.faq-section .section-title {
  max-width: 38.4375rem;
  margin-bottom: 3.13rem;
  text-align: center;
}

.faq-accordion {
  width: 100%;
}

.faq-item {
  border-top: 1px solid rgba(78, 88, 89, 0.20);
  padding: 1.88rem 3.12rem 1.69rem;
}

.faq-question {
  width: 100%;
  border: 0;
  background: transparent;
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  text-align: left;
  gap: 1.25rem;
}

.faq-question span {
  color: #4E5859;
  font-family: "Crimson Pro";
  font-size: 1.5rem;
  font-style: italic;
  font-weight: 400;
  line-height: normal;
  display: block;
}

.faq-question img {
  width: 1.5rem;
  height: auto;
  transition: all 0.3s ease;
}

.faq-item.active .faq-question img {
  transform: rotate(180deg);
}

.faq-answer {
  height: 0;
  visibility: hidden;
  opacity: 0;
  overflow: hidden;
  transition:
    height 0.5s ease,
    opacity 0.3s ease,
    visibility 0s linear 0.5s;
}

.faq-answer p {
  overflow: hidden;
  color: #4E5859;
  font-family: Raleway;
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1.5rem;
  /* 150% */
  max-width: 59.875rem;
  padding: 0.69rem 0 0.2rem;
}

.faq-item.active .faq-answer {
  visibility: visible;
  opacity: 1;
  transition:
    height 0.35s ease,
    opacity 0.3s ease,
    visibility 0s linear 0s;
}

.faq-item.active .faq-question span {
  color: #B2191E;
}

.better-feeling {
  padding: 0 0 4.25rem;
  align-items: stretch;
}

.better-feeling img {
  border-radius: 0;
}

.better-feeling .split-content {
  padding: 3.13rem;
  padding-left: 0;
}

.better-feeling .split-content>span {
  color: #4E5859;
  font-family: "Crimson Pro";
  font-size: 1.5rem;
  font-style: italic;
  font-weight: 400;
  line-height: normal;
}

.better-feeling .split-content .section-title {
  margin-bottom: 1.5rem;
}

.better-feeling .split-content p span {
  font-weight: 400;
  margin-top: 0.25rem;
  display: block;
}

.better-feeling .split-content>span {
  font-weight: 400;
}

.better-feeling .split-content p:has(span)+.btn {
  margin-top: 3.12rem;
}



.footer {
  width: 100%;
  background: #333;
  padding-top: 4.38rem;
}

.footer-top {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 3.13rem;
  gap: 1.25rem;
}

.footer-top p {
  color: #FFF;
  font-family: Raleway;
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1.5rem;
  /* 150% */
  max-width: 32.375rem;
}

.footer-top .btn {
  white-space: nowrap;
}

.footer-inner {
  width: 100%;
  padding: 3.13rem 3.13rem 4.38rem;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1.5fr;
  gap: 3.75rem;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  margin-top: 4.37rem;
}

.footer-col span {
  color: #FFF;
  font-family: "Crimson Pro";
  font-size: 1.5rem;
  font-style: italic;
  font-weight: 400;
  line-height: normal;
  display: block;
  margin-bottom: 1.5rem;
}

.footer-col a {
  color: #FFF;
  font-family: Raleway;
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  display: block;
  margin-bottom: 0.88rem;
}

.footer-col a:last-child {
  margin-bottom: 0;
}

.footer-brand {
  display: flex;
  flex-direction: column;
  gap: 3.13rem;
  align-items: flex-end;
}

.footer-brand>a>img {
  width: 28.05656rem;
  height: auto;
}

.social-row {
  display: flex;
  gap: 0.38rem;
  align-items: center;
}

.social-row a {
  display: flex;
  width: 2.6875rem;
  height: 2.6875rem;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
  border-radius: 1.53125rem;
  background: #FFF;
}

.social-row a img {
  width: 1.5rem;
  height: 1.5rem;
  flex-shrink: 0;
  aspect-ratio: 1/1;
}

.footer-bottom {
  width: 100%;
  padding: 2rem;
  background: rgba(255, 255, 255, 0.10);
  display: flex;
  flex-direction: column;
  gap: 0.62rem;
}

.footer-bottom span {
  color: #FFF;
  text-align: center;
  font-family: Raleway;
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  display: block;
}

/* Innerpages */
.innerpage:not(.innerpage-2) .testimonial-section {
  background: #fff;
}

.innerpage:not(.innerpage-2) .testimonial-section .rating-row,
.innerpage:not(.innerpage-2) .testimonial-section .testimonial-card {
  background: #EFF3F6;
}


.innerpage .hero-section {
  height: 35rem;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}

.heat-therapy-hero {
  background-image: url('../images/heat-therapy-hero.png');
}

.innerpage .hero-section .section-tag {
  margin-top: 1rem;
}

.innerpage .hero-section h1 {
  max-width: 44rem;
}

.intro-section {
  width: 100%;
  padding: 4.38rem 3.13rem;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 4.5rem;
  position: relative;
}

.intro-section p {
  color: #333;
  font-family: "Crimson Pro";
  font-size: 1.5rem;
  font-style: italic;
  font-weight: 400;
  line-height: 1.625rem;
  /* 108.333% */
}

.intro-section p+p {
  margin-top: 1.625rem;
}

.intro-section .btn {
  margin-top: 1.87rem;
}

.intro-section .floating-icon img {
  width: 27rem;
  height: auto;
  margin-right: -3.13rem;
  position: relative;
  right: -3.13rem;
}

.inner-banner {
  padding-top: 0 !important;
  padding-bottom: 4.38rem;
  background: transparent;
}

.inner-banner .banner-inner {
  max-width: 100%;
  border-radius: 1.875rem;
  background: #EFF3F6;
  padding: 4.37rem;
  align-items: flex-start;
}

.inner-banner .section-title {
  margin-bottom: 1rem;
}

.inner-banner p {
  color: #333;
  text-align: left;
  margin-top: 1.18rem;
  max-width: 67.9375rem;
}

.effects-section {
  width: 100%;
  padding: 4.38rem 3.13rem;
  border-top: 1px solid rgba(78, 88, 89, 0.20);
}

.effects-section .section-title {
  margin-bottom: 4.28rem;
}

.effects-tabs-wrapper {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 4rem;
  align-items: stretch;
}

.effects-tab-list {
  display: flex;
  flex-direction: column;
  gap: 1.38rem;
  min-width: 23rem;
}

.effects-tab {
  width: fit-content;
  padding: 0.75rem 1.5rem;

  display: inline-flex;
  align-items: center;
  gap: 1.25rem;
  background: transparent;

  border-radius: 3.6875rem;
  border: 1px solid rgba(78, 88, 89, 0.20);
  cursor: pointer;

  color: #333;
  font-family: "Crimson Pro";
  font-size: 1.5rem;
  font-style: italic;
  font-weight: 400;
  line-height: normal;

  transition: all 0.3s ease;
}

.effects-tab svg {
  width: 1.75rem;
  height: auto;
  object-fit: contain;
}

.effects-tab.active {
  background: #B2191E;
  border-color: #B2191E;
  color: #fff;
}

.effects-tab.active svg path {
  fill: #fff;
}

.effects-tab:hover {
  border-color: #B2191E;
}

.effects-content {
  padding: 3.12rem 4.38rem;

  display: flex;
  align-items: flex-start;

  border-radius: 1.875rem;
  background: #EFF3F6;
}

.effects-content-item {
  display: none;
  width: 100%;
}

.effects-content-item.active {
  display: block;
}

.effects-content-item span {
  color: #333;
  font-family: "Crimson Pro";
  font-size: 2.5rem;
  font-style: italic;
  font-weight: 400;
  line-height: normal;
  display: block;
  margin-bottom: 1.5rem;
}

.effects-content-item p {
  max-width: 38.5rem;
  color: #333;
  font-family: Raleway;
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1.1875rem;
  /* 118.75% */
}

.bg-gray {
  background: #EFF3F6;
}

.innerpage .split-section {
  align-items: stretch;
}

.innerpage .split-section:not(.better-feeling) .split-content {
  padding: 0.75rem 0;
}

.innerpage .split-content .section-title {
  max-width: 36.6875rem;
}

.split-content p+.btn-wrapper {
  margin-top: 2.25rem;
}

.health-benefit-hero {
  background-image: url('../images/health-benefit-hero.png');
}

.benefits-section {
  width: 100%;
  padding: 0 3.13rem 4.38rem;
  border-bottom: 1px solid rgba(78, 88, 89, 0.20);
}

.benefits-content-wrapper {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.25rem;
}

.benefits-content-wrapper>a {
  width: 100%;
  padding: 3.13rem;
  border-radius: 1.875rem;
  background: #EFF3F6;
}

.benefits-content-wrapper span {
  color: #B2191E;
  font-family: "Crimson Pro";
  font-size: 2.25rem;
  font-style: italic;
  font-weight: 400;
  line-height: normal;
  display: block;
  margin-bottom: 1.25rem;
}

.benefits-content-wrapper p {
  color: #333;
  font-family: Raleway;
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1.1875rem;
  /* 118.75% */
  max-width: 97%;
}

.benefit-btn {
  display: inline-flex;
  align-items: flex-start;
  gap: 1rem;
  color: rgba(78, 88, 89, 0.50);
  font-family: Raleway;
  font-size: 1.25rem;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  transition: all 0.3s ease;
  background: transparent;
  border: none;
  cursor: inherit;
}

.benefit-btn svg path {
  transition: all 0.3s ease;
}

.benefits-content-wrapper>a:hover .benefit-btn {
  color: #B2191E;
}

.benefits-content-wrapper>a:hover .benefit-btn svg path {
  stroke: #B2191E;
  stroke-opacity: 1;
}

.benefits-content-wrapper p+.benefit-btn {
  margin-top: 2rem;
}

.benefit-innerpage-hero {
  background-image: url('../images/benefit-innerpage-hero.png');
}

.effects-section.bg-gray {
  border: none;
}

.bg-gray .effects-content {
  background: rgba(255, 255, 255, 0.70);

}

.effects-content-item p+p {
  margin-top: 1.1875rem;
}

.steps-section .section-head {
  margin-bottom: 2.25rem;
}

.step-card {
  padding-right: 1.5rem;
}

.recovery-grid-2 .steps-wrapper {
  grid-template-columns: repeat(2, 1fr);
}

.recovery-grid-2 .steps-wrapper p {
  max-width: 90%;
}

.step-card>div:first-child {
  display: flex;
}

.recovery-grid-2 .step-card img {
  width: 7rem;
  flex-shrink: 0;

}

.recovery-grid-2 .step-card span {
  font-size: 1.25rem;
}

.step-card p+p {
  margin-top: 1.1875rem;
}

.steps-section:has(+.testimonial-section) {
  border-bottom: 1px solid rgba(78, 88, 89, 0.20);
}

.whitepaper-hero {
  background-image: url('../images/whitepaper-hero.png');
}

.whitepaper-cards-section {
  padding: 1.62rem 3.13rem 0;
}

.whitepaper-cards-wrapper {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.25rem;
}

.whitepaper-card {
  width: 100%;
  border-radius: 1.875rem;
  background: #EFF3F6;
}

.whitepaper-card-img {
  padding: 1.5rem;
}

.whitepaper-card-img img {
  width: 100%;
  height: auto;
  object-fit: cover;
  border-radius: 1.25rem;
}

.whitepaper-card-content {
  padding: 1.25rem 2.5rem 3.13rem;
}

.whitepaper-card-content>span {
  color: #B2191E;
  font-family: "Crimson Pro";
  font-size: 2.25rem;
  font-style: italic;
  font-weight: 400;
  line-height: normal;
  display: block;
  margin-bottom: 1.5rem;
}

.whitepaper-card-content>p strong {
  font-weight: 700;
}

.whitepaper-card-content>p:has(strong) {
  margin-top: 1.87rem;
}

.check li span {
  color: #B2191E;
  font-family: Raleway;
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  display: block;
  margin-bottom: 0.25rem;
}

.whitepaper-card-content .check li p {
  max-width: 90%;
}

.whitepaper-card-content .btn {
  margin-top: 2.25rem;
}

.methods-section {
  width: 100%;
  padding: 6.25rem 3.13rem;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 3rem;
}

.methods-section>div:first-child {
  width: 24.375rem;
  position: relative;
  left: -3.13rem;
  margin-left: -3.13rem;
}

.methods-section>div:first-child img {
  width: 100%;
  height: auto;
  object-fit: cover;
}

.methods-section .section-title {
  margin-bottom: 1.87rem;
}

.methods-section>div>p {
  max-width: 52.25rem;
}

.methods-section .bullet {
  margin-top: 2.5rem;
  gap: 1.88rem;
}

.methods-section .bullet li {
  padding-left: 4rem;
}

.methods-section .bullet li::before {
  top: 20px;
  width: 2rem;
  height: 2.375rem;
}

.methods-section .bullet li span {
  color: #333;
  font-family: "Crimson Pro";
  font-size: 1.5rem;
  font-style: italic;
  font-weight: 400;
  line-height: normal;
  display: block;
  margin-bottom: 0.78rem;
}

.methods-section .bullet li p {
  max-width: 90%;
}

.why-us-hero {
  background-image: url('../images/why-us-hero.png');
}

.effects-content .check {
  margin-top: 1.88rem;
}

.split-section {
  position: relative;
}

.innerpage:not(.innerpage-2) .testimonial-section+.split-section::before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: calc(100% - 6.26rem);
  height: 1px;
  background: rgba(51, 51, 51, 0.30);
}

.faq-hero {
  background-image: url('../images/faq-hero.png');
}

.left-align .section-title {
  text-align: left;
  margin-right: auto;
}

.blog-hero {
  background-image: url('../images/blog-hero.png');
}

.blog-cards-sec {
  width: 100%;
  padding: 3.13rem 3.13rem 4.38rem;
  border-top: 1px solid rgba(78, 88, 89, 0.20);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3.13rem 1.25rem;
}

.blog-card {
  width: 100%;
  border-left: 3px solid rgba(78, 88, 89, 0.20);
  background: #FFF;
  display: block;
  padding: 1.88rem;
  padding-right: 1.5rem;
  transition: all 0.3s ease;
}

.blog-card>span:nth-child(1) {
  color: #333;
  font-family: "Crimson Pro";
  font-size: 1.25rem;
  font-style: italic;
  font-weight: 400;
  line-height: normal;
  display: block;
  margin-bottom: 0.44rem;
}

.blog-card>span.date {
  color: #333;
  font-family: Raleway;
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  display: block;
}

.blog-card>span.blog-title {
  color: #B2191E;
  font-family: "Crimson Pro";
  font-size: 2.25rem;
  font-style: italic;
  font-weight: 400;
  line-height: normal;
  display: block;
  margin: 4.37rem 0 1.88rem;
}

.blog-card p {
  color: #333;
  font-family: Raleway;
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  padding-right: 1.19rem;
}

.blog-card button {
  background: transparent;
  border: none;
  color: rgba(78, 88, 89, 0.20);
  font-family: Raleway;
  font-size: 1.25rem;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  transition: all 0.3s ease;
  margin-top: 3.13rem;
  pointer-events: none;
}

.blog-card:hover {
  border-color: #B2191E;
  background: #EFF3F6;
}


.blog-card:hover button {
  color: #B2191E;
}

.blog-innerpage-hero {
  background-image: url('../images/blog-innerpage-hero.png');
}

.date {
  color: rgba(78, 88, 89, 0.50);
  font-family: Raleway;
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  display: block;
  margin-bottom: 1.25rem;
}

.blog-innerpage-hero h1 {
  max-width: 100% !important;
}

.blog-content-sec {
  width: 100%;
  padding: 4.38rem 3.13rem;
  display: flex;
  justify-content: center;
  border-top: 1px solid rgba(78, 88, 89, 0.20);
}

.blog-content {
  width: 100%;
  max-width: 63rem;
}

.blog-content h2 {
  color: #B2191E;
  font-family: "Crimson Pro";
  font-size: 2.25rem;
  font-style: italic;
  font-weight: 400;
  line-height: normal;
  margin-bottom: 1rem;
}

.blog-content>p {
  line-height: 1.375rem;
  color: #4E5859;
}

.blog-content>p+p {
  margin-top: 1.375rem;
}

.blog-content>p+h2 {
  margin-top: 3.12rem;
}

.blog-content>p+ul {
  margin-top: 2.25rem;
}



.blog-content ul {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.blog-content ul li {
  color: #333;
  font-family: Raleway;
  font-size: 1.125rem;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  position: relative;
  padding-left: 3rem;
}

.blog-content ul li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 1.75rem;
  height: 2.125rem;
  background-image: url('../images/flame-icon.svg');
  background-size: cover;
  background-repeat: no-repeat;
}

.blog-content ul li>span {
  color: #333;
  font-family: "Crimson Pro";
  font-size: 1.5rem;
  font-style: italic;
  font-weight: 400;
  line-height: normal;
  display: block;
  margin-bottom: 1.09rem;
}

.blog-content ul li>p {
  color: #4E5859;
}

.blog-content ul li>p+p {
  margin-top: 1.25rem;
}

.blog-content ul li>p span {
  color: #B2191E;
  font-weight: 600;
}

.contact-hero {
  background-image: url('../images/contact-hero.png');
  height: 37rem !important;
}

.contact-hero p {
  margin-bottom: 0 !important;
  max-width: 39.75rem;
}

.contact-hero p+p {
  margin-top: 1.25rem;
}

.faq-section:has(+.footer) {
  margin-bottom: 4.38rem;
}

.contact-info-sec {
  width: 100%;
  padding: 3.13rem 3.13rem 4.38rem;
}

.contact-info-sec .section-title {
  margin-bottom: 0.75rem;
}

.contact-info-wrapper {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(3, auto);
  gap: 1.31rem;
  margin-top: 2.25rem;
}

.connect-info {
  width: 100%;
  padding: 1.25rem 1.88rem;
  display: flex;
  gap: 1.88rem;
  border-radius: 33.5rem;
  background: #EFF3F6;
}

.info-icon {
  display: flex;
  width: 4.125rem;
  height: 4.125rem;
  justify-content: center;
  align-items: center;
  border-radius: 2.1875rem;
  background: #B2191E;
}

.info-icon img {
  width: 1.875rem;
  height: 1.875rem;
  flex-shrink: 0;
  aspect-ratio: 1/1;
}

.connect-info span {
  color: #333;
  font-family: "Crimson Pro";
  font-size: 1.5rem;
  font-style: italic;
  font-weight: 400;
  line-height: normal;
  display: block;
  margin-bottom: 0.62rem;
}

.connect-info a {
  color: #333;
  font-family: Raleway;
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  white-space: nowrap;
}

.enquiry-section {
  width: 100%;
  padding: 3.13rem;
  background: #EFF3F6;
}

.enquiry-container {
  width: 100%;
  max-width: 79.14rem;
  margin: 0 auto;
}

.enquiry-container p:first-child {
  max-width: 100%;
  margin-bottom: 2.5rem;
}


/* Form */

.enquiry-container form {
  width: 100%;
}

.form-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.31rem;
  margin-bottom: 1.88rem;
}

.form-group {
  min-width: 0;
}

.form-group label {
  display: block;
  margin-bottom: 0.75rem;
  color: #333;
  font-family: Raleway;
  font-size: 1rem;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
}


/* Inputs */

.form-group input,
.form-group textarea {
  width: 100%;
  border: 0;
  outline: 0;
  color: #333;
  font-family: Raleway;
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  border-radius: 4.3125rem;
  background: rgba(255, 255, 255, 0.50);
}

.form-group input {
  height: 3.6875rem;
  padding: 0 1.5rem;
}

.form-group textarea {
  height: 10.6875rem;
  padding: 1.25rem 1.5rem;
  border-radius: 1.25rem;
  resize: none;
}

.form-group-full {
  width: 100%;
  margin-bottom: 2.5rem;
}

.form-group input:focus,
.form-group textarea:focus {
  box-shadow: 0 0 0 1px #B2191E;
}

.form-group select {
  width: 100%;
  height: 3.6875rem;
  padding: 0 1.5rem;
  border: 0;
  outline: 0;
  color: #333;
  font-family: Raleway;
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  border-radius: 4.3125rem;
  background: rgba(255, 255, 255, 0.50);
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
}

.form-group select:focus {
  box-shadow: 0 0 0 1px #B2191E;
}

.select-group {
  min-width: 0;
  position: relative;
}

.select-group::after {
  content: "";
  position: absolute;
  width: 1.4rem;
  height: 0.7rem;
  right: 2rem;
  top: 56px;
  pointer-events: none;
  background-image: url('../images/chevron.svg');
  background-size: contain;
  background-repeat: no-repeat;
}

.form-checkboxes {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  margin-bottom: 3.2rem;
}

.checkbox-item {
  position: relative;
  display: flex !important;
  align-items: center;
  gap: 0.75rem;
  width: fit-content;
  cursor: pointer;

  color: #333;
  font-family: Raleway;
  font-size: 0.875rem;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
}

.checkbox-item input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.custom-checkbox {
  position: relative;
  flex: 0 0 1.25rem;
  width: 1.25rem;
  height: 1.25rem;
  border: 1px solid #B2191E;
  background: transparent;
  box-sizing: border-box;
}

.checkbox-item input:checked+.custom-checkbox {
  background: #B2191E;
}

.checkbox-item input:checked+.custom-checkbox::after {
  content: "✓";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  color: #fff;
  font-size: 0.85rem;
  font-weight: 700;
  line-height: 1;
}

.checkbox-item span {
  color: #333;
  font-family: Raleway;
  font-size: 0.875rem;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
}

.bg-white {
  background: #fff !important;
}

.bg-white .enquiry-container form {
  padding: 3.13rem;
  border-radius: 1.875rem;
  background: #EFF3F6;
}

.enquiry-container .section-title {
  margin-bottom: 0.75rem;
}

.enquiry-container .section-title+p {
  margin-bottom: 2.25rem;
}

.promo-code-form {
  padding-bottom: 4.37rem;
}


.promo-code-form form textarea {
  height: 3.6875rem;
  overflow: hidden;
  padding: 0 1.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

.promo-code-form form p:has(+button) {
  margin-bottom: 1.88rem;
  max-width: 58.5625rem;
}

.book-appointment-hero {
  background-image: url('../images/book-appointment-hero.png');
  height: 37rem !important;
}


.book-appointment-hero h1 {
  max-width: 100% !important;
}

.book-appointment-hero p {
  max-width: 48.375rem;
}

/* =========================================
   APPOINTMENT SECTION
========================================= */

.appointment-section {
  width: 100%;
  padding: 4.38rem 3.13rem;
}

.appointment-top {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3rem;
}


/* =========================================
   LEFT CONTENT
========================================= */

.appointment-content {
  flex: 1;
  padding-top: 0.69rem;
}

.appointment-content .section-title {
  margin-bottom: 0.75rem;
}

.appointment-duration {
  width: fit-content;
  display: flex;
  padding: 0.625rem 1.25rem;
  align-items: center;
  gap: 1.5rem;
  border-radius: 2.8125rem;
  background: #F6E3E4;
  margin-top: 2.63rem;
}

.appointment-duration img {
  width: 1.25rem;
  height: 1.25rem;
}

.appointment-duration>span {
  color: #B2191E;
  font-family: "Crimson Pro";
  font-size: 1.25rem;
  font-style: italic;
  font-weight: 400;
  line-height: 150%;
  /* 1.875rem */
}

.appointment-duration>span span {
  color: #333;
  font-family: Inter;
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  line-height: 150%;
}


/* =========================================
   CALENDAR WRAPPER
========================================= */

.appointment-calendar {
  width: 100%;
  max-width: 41.25rem;
  padding: 3.125rem 5.3125rem;
  position: relative;
  display: flex;
  gap: 2rem;
  border-radius: 1.875rem;
  background: #EFF3F6;
}


/* =========================================
   CALENDAR MAIN
========================================= */

.calendar-main {
  flex: 1;
  min-width: 0;
}

/* =========================================
   MONTH DROPDOWN
========================================= */

.calendar-header {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 2rem;
}

.calendar-month-toggle {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0;
  border: 0;
  background: transparent;
  /* 1.5rem */
  cursor: pointer;
}

.calendar-month-toggle span {
  color: #1A1A1A;
  text-align: center;
  font-family: Inter;
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  line-height: 150%;
}

.calendar-chevron img {
  width: 1.25rem;
  height: auto;
  transition: transform 0.3s ease;
}

.calendar-month-toggle.active .calendar-chevron img {
  transform: rotate(180deg);
}


/* Dropdown */
.calender-month-wrapper {
  position: relative;
}

.calendar-month-dropdown {
  position: absolute;
  z-index: 20;
  top: calc(100% + 0.5rem);
  left: 50%;
  left: 0;
  width: 8rem;
  border-radius: 0.4rem;
  background: #fff;
  box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.3);

  opacity: 0;
  visibility: hidden;
  pointer-events: none;

  transition:
    opacity 0.2s ease,
    visibility 0.2s ease,
    transform 0.2s ease;
}

.calendar-month-dropdown.active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}


/* Month options */

.calendar-month-option {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.45rem 0.55rem;
  border: 0;
  background: transparent;
  color: #1A1A1A;
  text-align: left;
  font-family: Inter;
  font-size: 0.75rem;
  font-style: normal;
  font-weight: 400;
  line-height: 150%;
  cursor: pointer;
  transition: 0.2s ease;
}

.calendar-month-option:hover {
  background: #EDEDED;
}

.calendar-month-option.active {
  background: #EDEDED;
}

.calendar-nav {
  width: 2.375rem;
  height: 2.375rem;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  cursor: pointer;
  transition: 0.3s ease;
}

.calendar-nav:hover {
  background: #e5eaed;
}

.next-month {
  background: rgba(178, 25, 30, 0.12);
}

.next-month:hover {
  background: rgba(178, 25, 30, 0.16);
}

.calendar-nav svg {
  width: 0.5rem;
  height: auto;
}


/* =========================================
   WEEK DAYS
========================================= */

.calendar-weekdays,
.calendar-days {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  text-align: center;
}

.calendar-weekdays {
  margin-bottom: 1rem;
}

.calendar-weekdays span {
  color: #1A1A1A;
  text-align: center;
  font-family: Inter;
  font-size: 0.75rem;
  font-style: normal;
  font-weight: 400;
  line-height: 0.75rem;
  /* 100% */
  text-transform: uppercase;
}


/* =========================================
   CALENDAR DAYS
========================================= */

.calendar-days {
  row-gap: 0.1rem;
}

.calendar-day {
  width: 2.75rem;
  height: 2.75rem;
  justify-self: center;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 50%;
  background: transparent;
  cursor: pointer;
  color: #1A1A1A;
  text-align: center;
  font-family: Inter;
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  line-height: 150%;
  /* 1.5rem */
  transition: 0.3s ease;
}

.calendar-day:hover:not(.empty):not(.disabled) {
  background: #f4dfe1;
  color: #B2191E;
}

.calendar-day.selected {
  background: #B2191E;
  color: #fff;
}

.calendar-day.disabled {
  color: #ADADAD;
  cursor: not-allowed;
}

.calendar-day.empty {
  pointer-events: none;
}


/* =========================================
   TIMEZONE
========================================= */

.timezone-row {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-top: 2rem;
}

.timezone-label {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  white-space: nowrap;
  color: #1A1A1A;
  text-align: center;
  font-family: Inter;
  font-size: 0.875rem;
  font-style: normal;
  font-weight: 400;
  line-height: 150%;
  /* 1.3125rem */
}

.timezone-select {
  width: fit-content;
  height: auto;
  padding: 0.25rem 1.5rem 0.25rem 0.5rem;

  border-radius: 1.25rem;
  border: 1px solid rgba(178, 25, 30, 0.12);

  background-color: rgba(178, 25, 30, 0.12);

  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8' fill='none'%3E%3Cpath d='M4 5.77783L8 2.22228H0L4 5.77783Z' fill='%23B2191E'/%3E%3C/svg%3E");

  background-repeat: no-repeat;
  background-position: right 0.5rem center;
  background-size: 0.5rem;

  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;

  outline: none;
  color: #B2191E;
  font-family: Inter;
  font-size: 0.875rem;
  font-style: normal;
  font-weight: 400;
  line-height: 150%;
  cursor: pointer;
}


/* =========================================
   TIME SLOTS
========================================= */

.time-slots {
  width: max-content;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.5rem;
}

.time-slot {
  width: 100%;
  padding: 0.75rem 1.5rem;
  border-radius: 1.75rem;
  border: 1px solid #B2191E;
  background: #fff;
  color: #1A1A1A;
  font-family: Inter;
  font-size: 0.875rem;
  font-style: normal;
  font-weight: 400;
  line-height: 150%;
  /* 1.3125rem */
  cursor: pointer;
  transition: all 0.3s ease;
}

.time-slot:hover {
  color: #B2191E;
  background-color: rgba(178, 25, 30, 0.12);
}

.time-slot.active {
  background: #B2191E;
  color: #fff;
}

.appointment-help {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  margin-top: 4.38rem;
  padding: 3.13rem 4.38rem 3.13rem 3.13rem;
  border-radius: 1.875rem;
  background: #F6E3E4;
}

.help-content {
  display: flex;
  align-items: flex-start;
  gap: 2.62rem;
}

.help-icon img {
  width: 3.375rem;
  height: auto;
}

.help-content span {
  color: #B2191E;
  font-family: "Crimson Pro";
  font-size: 2.25rem;
  font-style: italic;
  font-weight: 400;
  line-height: normal;
  display: block;
  margin-bottom: 1rem;
}

.help-content p {
  max-width: 32.25rem;
}



.appointment-form form {
  width: 100%;
  padding: 3.12rem 1.88rem;
  border-radius: 1.875rem;
  background: #EFF3F6;
}

.time-row {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 3rem;
  margin-bottom: 3.12rem;
}

.time-row>label,
.form-field>label {
  display: block;
  color: #333;
  font-family: Raleway;
  font-size: 1rem;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
}

.time-info {
  color: #333;
  font-family: Raleway;
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
}

.time-info a {
  color: #B2191E;
  font-family: Raleway;
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  text-decoration: none;
}

.form-field {
  margin-bottom: 2.25rem;
}

.form-field label {
  margin-bottom: 0.25rem;
}

.form-field input,
.form-field textarea {
  width: 100%;
  padding: 0;
  border: 0;
  border-bottom: 1px solid rgba(51, 51, 51, 0.24);
  background: transparent;
  outline: none;
  border-radius: 0;
  box-sizing: border-box;
  height: 1.88rem;

  color: #333;
  font-family: Raleway;
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
}

.form-field input:focus,
.form-field textarea:focus {
  border-bottom-color: rgba(51, 51, 51, 0.8);
}

.field-note {
  display: block;
  margin-top: 0.94rem;

  color: #333;
  font-family: Raleway;
  font-size: 0.75rem;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
}


.phone-field label {
  margin-bottom: 1rem;
}

/* intl-tel-input */

.iti {
  width: 100%;
  display: flex;
  gap: 2.06rem;
}

.iti input {
  width: 100%;
  padding-left: 0 !important;
}

.iti__country-container {
  position: static;
  border-bottom: 1px solid rgba(51, 51, 51, 0.24);
}

.iti__selected-country {
  padding-left: 0;
  padding-right: 12px;
  background: transparent !important;
}

.iti__country-list {
  z-index: 20;
}

.message-field {
  margin-bottom: 3.12rem;
}

.message-field textarea {
  height: 1.88rem;
  resize: none;
}

.iti .iti__selected-dial-code {
  color: rgba(51, 51, 51, 0.43);
  font-family: Raleway;
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
}

.split-content .btn {
  white-space: nowrap;
}

.warranty-hero {
  background-image: url('../images/warranty-hero.png');
}

.intro-section+.difference-section {
  border-top: 1px solid rgba(78, 88, 89, 0.20);
}

.difference-section .section-title {
  margin-bottom: 2rem;
}

.difference-section ul.check {
  margin: 1.5rem 0 2rem;
}

.intro-section+.difference-section .difference-content-wrapper {
  margin-top: 0 !important;
}

.enquiry-section:not(.bg-white) .section-title {
  margin-bottom: 3.13rem;
}


.file-upload {
  width: 100%;
  height: 100%;
  min-height: 7.125rem;
  border-radius: 1.25rem;
  border: 1px dashed rgba(78, 88, 89, 0.50);
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  cursor: pointer;
  color: #333;
  font-family: Raleway;
  font-size: 0.875rem;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  background: transparent;
  transition: border-color 0.3s ease, background 0.3s ease;
}

.file-upload:hover {
  border-color: #B2191E;
  background: rgba(255, 255, 255, 0.2);
}

.file-upload input {
  display: none;
}

.file-upload-icon {
  color: #B2191E;
  font-size: 1rem;
  line-height: 1;
}

.file-upload-text {
  color: #555;
  font-family: Raleway;
  font-size: 0.75rem;
  font-weight: 400;
}

.discover-options {
  margin-top: 1.38rem;
}

.discover-options .form-checkboxes {
  margin-bottom: 0 !important;
}

.proof-group {
  display: flex;
  flex-direction: column;
}

.brochure-hero {
  background-image: url('../images/brochure-hero.png');
}

.brochure-hero h1 {
  max-width: 34rem !important;
}

.intro-section+.split-section {
  border-top: 1px solid rgba(78, 88, 89, 0.20);
}

.intro-section+.split-section .split-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 0 !important;
}

.intro-section+.split-section .split-content .section-title {
  margin-bottom: 1.5rem;
}

.intro-section+.split-section .split-content p:has(strong) {
  color: #4E5859;
}

.intro-section+.split-section .split-content .btn {
  margin-top: 3.13rem;
}


.brochure-group {
  width: 100%;
  margin-bottom: 1.94rem;
}

.brochure-group>label {
  display: block;
  margin-bottom: 1.5rem;
  color: #333;
  font-family: Raleway;
  font-size: 1rem;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
}

.brochure-options {
  display: flex;
  align-items: center;
  gap: 4.3rem;
}

.radio-item {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  cursor: pointer;
  color: #333;
  font-family: Raleway;
  font-size: 0.875rem;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
}

.radio-item input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.custom-radio {
  position: relative;
  width: 1.5rem;
  height: 1.5rem;
  flex: 0 0 1.5rem;
  border: 2px solid #B2191E;
  border-radius: 50%;
  box-sizing: border-box;
  flex-shrink: 0;
}

.radio-item input:checked+.custom-radio::after {
  content: "";
  position: absolute;
  width: 0.85rem;
  height: 0.85rem;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: #B2191E;
  border-radius: 50%;
  flex-shrink: 0;
}

.after-sale-hero {
  background-image: url('../images/after-sale-hero.png');
}


.after-sale-services-sec {
  width: 100%;
  padding: 4.38rem 3.13rem;
  border-top: 1px solid rgba(78, 88, 89, 0.20);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
}

.after-sale-service {
  width: 100%;
  padding: 1.88rem 3.94rem 2.75rem 0;
  display: flex;
  gap: 1.88rem;
  border-radius: 31.25rem;
  background: #EFF3F6;
  overflow: hidden;
  position: relative;
}

.service-icon {
  display: flex;
}

.service-icon img {
  width: 3.93rem;
  height: auto;
  flex-shrink: 0;
}

.after-sale-service span {
  color: #B2191E;
  font-family: "Crimson Pro";
  font-size: 2rem;
  font-style: italic;
  font-weight: 400;
  line-height: normal;
  display: block;
  margin-bottom: 0.75rem;
}

.infrared-sauna-hero {
  background-image: url('../images/infrared-sauna-hero.png');
}

.split-content {
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.split-content p+.check {
  margin-top: 30px;
}

.split-content .check+.btn-wrapper {
  margin-top: 50px;
}

.manufacturing-infrared .split-content p {
  max-width: 559px;
}

.top-selling-img {
  padding: 4.38rem 3.13rem 0;
  margin-bottom: -1.25rem;
}

.top-selling-img img {
  width: 26.40625rem;
  height: auto;
  object-fit: cover;
}

.bg-red {
  background: #B2191E;
}

.bg-red .section-title,
.bg-red p,
.bg-red ul li {
  color: #FFF;
}

.bg-red .bullet li::before {
  background-image: url('../images/flame-icon-white.svg');
}

.tecology-sec {
  display: flex;
  flex-direction: column;
  padding: 4.38rem 3.13rem;
}

.tecology-sec>div {
  width: 100% !important;
  margin: 0 !important;
  position: static !important;
  max-width: 100% !important;
}

.tecology-sec .section-title {
  margin-bottom: 1.25rem;
}

.tecology-sec>div>p {
  max-width: 100%;
}

.tecology-sec>div>.bullet {
  margin-top: 3rem;
}

.tecology-sec>div>.bullet+.btn {
  margin-top: 3.4rem;
}

.tecology-sec {
  position: relative;
  overflow: hidden;
}

.tecology-sec::after {
  content: '';
  position: absolute;
  width: 19.4375rem;
  height: 23.625rem;
  right: 4.81rem;
  bottom: 3.13rem;
  background-image: url('../images/tecology-icon.png');
  background-size: cover;
  background-repeat: no-repeat;
  pointer-events: none;
}

.cabins-section {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 4.38rem 3.13rem;
  background: #EFF3F6;
}

.cabins-grid {
  margin-top: 3.13rem;
  width: 100%;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3.13rem;
}

.cabin-img {
  padding: 1.88rem;
  border-radius: 1.875rem;
  background: rgba(255, 255, 255, 0.70);
  display: flex;
  justify-content: center;
}

.cabin-img img {
  width: auto;
  height: 100%;
  object-fit: cover;
}

.cabin-card-content {
  margin-top: 1.88rem;
}

.cabin-card-content>span {
  color: #B2191E;
  font-family: "Crimson Pro";
  font-size: 2rem;
  font-style: italic;
  font-weight: 400;
  line-height: normal;
  display: block;
  margin-bottom: 1rem;
}

.cabin-card {
  display: flex;
  flex-direction: column;
}

.cabin-img {
  flex: 1;
}

.tecology-sec p+.btn {
  margin-top: 2.25rem;
}

.cabin-hero+.tecology-sec p {
  max-width: 51.875rem;
}

.header:has(+.cabin-hero),
.header:has(+.get-pricing-hero) {
  background: #fff;
  position: static;
  border-bottom: 1px solid rgba(78, 88, 89, 0.20);
}

.header:has(+.cabin-hero) .navbar ul li a,
.header:has(+.get-pricing-hero) .navbar ul li a {
  color: #333;
}

.header:has(+.cabin-hero) .navbar ul li a svg path,
.header:has(+.get-pricing-hero) .navbar ul li a svg path {
  fill: #333;
}

.header:has(+.get-pricing-hero) .menu-toggle span,
.header:has(+.cabin-hero) .menu-toggle span {
  background: #000;
}

.cabin-hero {
  width: 100%;
  padding: 4.38rem 3.13rem;
}

.cabin-container {
  width: 100%;
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 3rem;
}

.product-gallery {
  width: 100%;
}


/* =========================
   MAIN IMAGE
========================= */

.product-gallery-main {
  width: 100%;
  height: 30rem;
  padding: 2.88rem 1.88rem;
  border-radius: 1.875rem;
  border: 2px solid rgba(78, 88, 89, 0.20);
  background: #FFF;
  position: relative;

  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.product-image-wrapper {
  width: 100%;
  height: 100%;

  display: flex;
  align-items: center;
  justify-content: center;
}

.product-main-image {
  width: 100%;
  height: 100%;

  object-fit: contain;

  transition:
    opacity 0.25s ease,
    transform 0.25s ease;
}


/* =========================
   ARROWS
========================= */

.gallery-arrow {
  position: absolute;

  top: 50%;
  transform: translateY(-50%);

  width: 1.5rem;
  height: 3rem;

  border: 0;
  background: transparent;

  display: flex;
  align-items: center;
  justify-content: center;

  cursor: pointer;

  z-index: 2;

  transition: opacity 0.2s ease;
}

.gallery-arrow svg {
  width: 100%;
  height: 100%;
}

.gallery-prev {
  left: 1.88rem;
}

.gallery-next {
  right: 1.88rem;
}


/* Disabled arrows */

.gallery-arrow:disabled svg path {
  fill: #4E5859;
  fill-opacity: 0.2;
}

.gallery-arrow svg path {
  fill: #B2191E;
  fill-opacity: 1;
}

.gallery-arrow:disabled {
  cursor: default;
}


/* =========================
   THUMBNAILS
========================= */

.product-thumbnails {
  display: flex;
  align-items: center;

  gap: 0.75rem;

  margin-top: 1.25rem;

  width: 100%;
}

.product-thumbnail {
  width: 7.625rem;
  height: 7.625rem;

  flex: 1;

  padding: 1.25rem;

  background: #fff;

  border-radius: 0.75rem;
  border: 2px solid rgba(78, 88, 89, 0.20);

  cursor: pointer;

  display: flex;
  align-items: center;
  justify-content: center;

  transition:
    border-color 0.2s ease,
    opacity 0.2s ease;
}

.product-thumbnail img {
  width: 100%;
  height: 100%;

  object-fit: contain;
}


/* Active thumbnail */

.product-thumbnail.active {
  border-color: #B2191E;
}


/* Hover */

.product-thumbnail:not(.active):hover {
  border-color: #aaa;
}


.product-details .section-title {
  max-width: 29.6875rem;
  margin-bottom: 1.88rem;
}

.product-details>span {
  color: #333;
  font-family: "Crimson Pro";
  font-size: 1.5rem;
  font-style: italic;
  font-weight: 400;
  line-height: 1.625rem;
  /* 108.333% */
  display: block;
}

.product-details>span+.check {
  margin-top: 1.25rem;
}

.product-details .check {
  gap: 0.44rem;
}

.cabin-price {
  margin-top: 1.81rem;
  display: flex;
  align-items: center;
  gap: 1.62rem;
}

.cabin-price>span {
  color: #333;
  font-family: "Crimson Pro";
  font-size: 1.5rem;
  font-style: italic;
  font-weight: 400;
  line-height: 1.625rem;
  /* 108.333% */
  display: block;
}

.cabin-price>span.price {
  color: #B2191E;
  font-family: "Crimson Pro";
  font-size: 2rem;
  font-style: italic;
  font-weight: 400;
  line-height: normal;
}


.dimensions-box {
  width: 100%;
  overflow: hidden;
  border-radius: 1.25rem;
  background: rgba(178, 25, 30, 0.12);
  margin-top: 2.19rem;
}

/* Header */
.dimensions-header {
  display: grid;
  grid-template-columns: 1.3fr 1fr 1fr 1fr;
  align-items: center;
  background: #B2191E;
  color: #fff;
  min-height: 3.0625rem;
  border-radius: 12px 12px 0 0;
}

.dimensions-header div {
  color: #FFF;
  font-family: Raleway;
  font-size: 1rem;
  font-style: normal;
  font-weight: 700;
  line-height: 1.625rem;
  /* 162.5% */
  text-align: center;
  padding: 0.62rem;
}

/* Content */
.dimensions-content {
  display: grid;
  grid-template-columns: 1.3fr 1fr 1fr 1fr;
  align-items: center;
  min-height: 6.31rem;
}

.dimensions-image {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.62rem;
}

.dimensions-image img {
  width: 5.9375rem;
  height: 4.625rem;
  object-fit: contain;
  display: block;
}

.dimension-value {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.dimension-value span {
  color: #333;
  font-family: Raleway;
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1.1875rem;
  /* 118.75% */
}

.dimension-value small {
  color: #333;
  font-family: Raleway;
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1.1875rem;
  /* 118.75% */
}

.cabin-product-content {
  margin-top: 4.38rem;
}

.cabin-product-content>span {
  color: #333;
  font-family: "Crimson Pro";
  font-size: 1.5rem;
  font-style: italic;
  font-weight: 400;
  line-height: 1.625rem;
  /* 108.333% */
  display: block;
  margin-bottom: 0.88rem;
}

.cabin-product-content>p {
  max-width: 71.9375rem;
}

.cabin-product-content>p+p {
  margin-top: 1.1875rem;
}

.tecology-sec+.difference-section .difference-content-wrapper {
  margin-top: 0 !important;
}

.tecology-sec p+.section-title {
  margin-top: 1.94rem;
}

.tecology-sec p+p {
  margin-top: 1.25rem;
}

.tecology-sec p>span {
  color: #B2191E;
  font-weight: 700;

}

.text-full p {
  max-width: 74.125rem !important;
}

.product-details>ul+span {
  margin-top: 1.5rem;
}

.inspire-cabin .product-thumbnail,
.lounger-cabin .product-thumbnail {
  flex: unset;
}

.roof-value {
  padding: 1.31rem 0;
}

.cabin-hero+.difference-section {
  border-top: 1px solid rgba(78, 88, 89, 0.20);
}

.sauna-accessories-hero {
  background-image: url('../images/sauna-accessories-hero.png');
}

.tecology-sec.bg-white p {
  max-width: 51.875rem;
}

.bg-white+.difference-section {
  border-top: 1px solid rgba(78, 88, 89, 0.20);
}

.title-left {
  align-items: flex-start;
}

.get-pricing-hero {
  width: 100%;
  padding: 4.38rem 3.13rem;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3.13rem;
}

.get-pricing-hero .form-row {
  grid-template-columns: 1fr;
}

.get-pricing-hero .enquiry-section {
  padding: 2.25rem 0 1.06rem !important;
  background: #fff;
}

.get-pricing-hero .form-group input {
  background: #EFF3F6;
}

.get-pricing-hero .enquiry-container .form-row+p {
  color: rgba(51, 51, 51, 0.50);
  font-family: Raleway;
  font-size: 0.875rem;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
}

.get-pricing-hero .enquiry-container p+.btn {
  margin-top: 3.13rem;
}


.get-pricing-hero .enquiry-container .section-title {
  margin-bottom: 0.75rem;
}

.get-pricing-hero-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.pricing-hero {
  height: 27rem !important;
  background-image: url('../images/pricing-hero-img.png');
}

.view-price-section {
  width: 100%;
  padding: 4.38rem 3.13rem;
  border-bottom: 1px solid rgba(78, 88, 89, 0.20);
  display: flex;
  flex-direction: column;
  align-items: center;
}

.view-price-section>p {
  color: #333;
  font-family: "Crimson Pro";
  font-size: 1.5rem;
  font-style: italic;
  font-weight: 400;
  line-height: 1.625rem;
  /* 108.333% */
  margin-bottom: 2.75rem;
  text-align: center;
}

.view-price-section .enquiry-section {
  max-width: 41.25rem;
  border-radius: 1.875rem;
}

.view-price-section .enquiry-section form {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.view-price-section .enquiry-section .form-row {
  grid-template-columns: 1fr;
  width: 100%;
}


.thank-you-sec {
  width: 100%;
  padding: 0 3.13rem;
  margin-top: -10.5rem;
  position: relative;
  z-index: 99;
}

.thank-you-container {
  width: 100%;
  padding: 4.38rem 3.13rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  border-radius: 1.875rem;
  background: #B2191E;
}

.thank-you-container .section-title {
  color: #fff;
  margin-bottom: 1.5rem;
  text-align: center;
  max-width: 54.5rem;
}

.thank-you-container p {
  color: #FFF;
  text-align: center;
  max-width: 42.4375rem;
}

.thank-you-container .btn-wrapper {
  margin-top: 3.19rem;
}

.thank-you-container .btn-wrapper .btn:not(.btn-outline-white) {
  background: #FFF;
  color: #B2191E;
}

.thank-you-container .btn-wrapper .btn:not(.btn-outline-white):hover {
  background: transparent;
  border-color: #fff;
  color: #fff;
}

.thank-you-container .btn-wrapper .btn:not(.btn-outline-white) svg path {
  stroke: #B2191E;
}

.thank-you-container .btn-wrapper .btn:not(.btn-outline-white):hover svg path {
  stroke: #fff;
}

.thank-you-container .btn-wrapper .btn-outline-white:hover {
  background: #fff;
  color: #B2191E;
}

.thank-you-container .btn-wrapper .btn-outline-white:hover svg path {
  stroke: #B2191E;
}

.commercial-hero {
  background-image: url('../images/commercial-hero.png');
}

.commercials-intro {
  width: 100%;
  padding: 4.38rem 3.06rem;
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 3.13rem;
}

.commercials-intro>div>img {
  width: 18.89456rem;
  height: auto;
  object-fit: cover;
}


.commercials-intro div .section-title {
  max-width: 40.4375rem;
  margin-top: 2.1rem;
}

.commercials-intro div:nth-child(2) {
  padding-left: 3.13rem;
  border-left: 1px solid #DCDEDE;
}

.commercials-environments-sec {
  width: 100%;
  padding: 4.38rem 3.06rem 2.5rem;
  background: #EFF3F6;
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  gap: 4.38rem;
}

.contact-form form {
  width: 100%;
  padding: 3.13rem 4.56rem 3.13rem 3.13rem;
  border-radius: 1.875rem;
  background: rgba(255, 255, 255, 0.70);
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.contact-form .form-group label {
  margin-bottom: 0.5rem;
}

.contact-form .form-group input,
.contact-form .form-group textarea {
  background: transparent;
  border-radius: 0;
  border-bottom: 1px solid #DCDEDE;
  height: 1.5rem;
  overflow: hidden;
  outline: none;
  padding: 0 !important;
  padding-bottom: 0.25rem !important;
}

.form-group input:focus,
.form-group textarea:focus {
  box-shadow: unset;
}

.contact-form form .btn {
  margin-top: 1.63rem;
}

.commercials-environment-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 0.5rem 0 2rem;
}

.commercials-environment-content .section-title {
  margin-bottom: 1rem;
}

.commercials-environment-content>span {
  color: #333;
  font-family: "Crimson Pro";
  font-size: 1.5rem;
  font-style: italic;
  font-weight: 400;
  line-height: 1.625rem;
  /* 108.333% */
  margin-bottom: 1.5rem;
}

.commercials-environment-content>p+p {
  margin-top: 1rem;
}

.commercials-environment-content>p>span {
  color: #B2191E;
  font-family: Raleway;
  font-size: 1rem;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
}

.commercials-environment-content>div {
  width: 100%;
  padding: 1.5rem;
  border-radius: 1.25rem;
  background: rgba(178, 25, 30, 0.12);
  display: flex;
  align-items: center;
  gap: 2.5rem;
  margin-top: 3.13rem;
}

.headset-icon {
  width: 4.125rem;
  height: 4.125rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 2.0625rem;
  background: #B2191E;
  flex-shrink: 0;
}

.headset-icon img {
  width: 2.875rem;
  height: 2.875rem;
}

.commercials-environment-content>div>div>p {
  color: #B2191E;
  font-family: "Crimson Pro";
  font-size: 1.5rem;
  font-style: italic;
  font-weight: 400;
  line-height: 1.625rem;
  /* 108.333% */
}

.heater-system-sec {
  width: 100%;
  padding: 4.38rem 3.13rem;
}

.heater-system-container {
  width: 100%;
  padding: 4.38rem 3.13rem;
  display: flex;
  justify-content: center;
  border-radius: 1.875rem;
  background: rgba(178, 25, 30, 0.06);
}

.heater-system-container>div {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 5rem;
  max-width: 69.19rem;
}

.heater-system-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.heater-system-content .section-title {
  margin-bottom: 1rem;
}

.heater-system-content>span {
  color: #333;
  font-family: "Crimson Pro";
  font-size: 1.5rem;
  font-style: italic;
  font-weight: 400;
  line-height: 1.625rem;
  /* 108.333% */
  margin-bottom: 1.5rem;
  display: block;
}

.heater-system-content>p {
  margin-bottom: 2.5rem;
}

.heater-system-img {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 1.875rem;
  background: rgba(255, 255, 255, 0.70);
  padding: 2.3rem;
}

.heater-system-img img {
  width: 16.6875rem;

}

.tecoloy-hero {
  background-image: url('../images/tecoloy-hero.png');
}

.heater-compare-sec {
  width: 100%;
  padding: 4.38rem 4.38rem 3.13rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3.13rem;
}

.heater-compare-img {
  width: 100%;
  padding: 4.38rem 3.13rem;
  display: flex;
  justify-content: center;
  gap: 4.38rem;
}

.heater-compare-sec .heater-compare-img {
  padding: 3.62rem 3.13rem;
  border: 1px solid rgba(78, 88, 89, 0.20);
}

.heater-compare-img img {
  width: 100%;
  max-width: 66.4375rem;
  height: auto;
  object-fit: cover;
}

.heater-compare-sec+.centerted-content {
  padding: 4.38rem 3.13rem;
}

.centerted-content {
  width: 100%;
  padding: 3.13rem;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.centerted-content p {
  color: #FFF;
  text-align: center;
  font-family: "Crimson Pro";
  font-size: 1.5rem;
  font-style: italic;
  font-weight: 400;
  line-height: 1.625rem;
  /* 108.333% */
  max-width: 77.9125rem;
}

.bg-red.centerted-content+.heater-compare-img img {
  max-width: 62.0625rem;
}

.bg-primary {
  background: #333;
}

.centerted-content .section-title {
  color: #fff;
  margin-bottom: 0.75rem;
}

.centerted-content .section-title+p {
  color: #FFF;
  font-family: Raleway;
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1.1875rem;
  /* 118.75% */
}

.bg-primary.centerted-content+.heater-compare-img img {
  max-width: 27rem;
}

.quote-sec {
  width: 100%;
  padding: 2.75rem;
  background: #EFF3F6;
  display: flex;
  justify-content: center;
}

.quote-container {
  width: 100%;
  max-width: 73.63rem;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 2.38rem;
  align-items: center;
}

.quote-img img {
  width: 7.5625rem;
  height: 7.5625rem;
  aspect-ratio: 1/1;
  flex-shrink: 0;
}

.quote-content p {
  color: #B2191E;
  font-family: Raleway;
  font-size: 1rem;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  max-width: 60.56rem;
  margin-bottom: 1.5rem;
}

.quote-content>span {
  color: #333;
  font-family: Raleway;
  font-size: 1rem;
  font-style: italic;
  font-weight: 400;
  line-height: normal;
}

.emissivity-sec .split-img img {
  border-radius: 0;
}


.emissivity-sec {
  grid-template-columns: 1fr !important;
  padding: 6.81rem 3.13rem 5.75rem;
}

.emissivity-container {
  max-width: 65rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 6rem;
  margin: 0 auto;
}

.emissivity-sec+.centerted-content .section-title {
  margin-bottom: 1.25rem;
}

.ultra-low-emf {
  width: 100%;
  padding: 3.13rem 3.13rem 4.28rem;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.ultra-low-emf>span {
  color: #333;
  font-family: "Crimson Pro";
  font-size: 1.5rem;
  font-style: italic;
  font-weight: 400;
  line-height: 1.625rem;
  /* 108.333% */
  display: block;
  margin-bottom: 3.13rem;
}

.ultra-low-emf img {
  width: 100%;
  height: auto;
  object-fit: cover;
}

.ultra-low-emf>span+img {
  max-width: 62.375rem;
}

.ultra-low-emf>div {
  width: 100%;
  max-width: 62.375rem;
  padding: 2.38rem;
  border: 1px solid rgba(78, 88, 89, 0.20);
  margin: 3.44rem 0 4.38rem;
  display: flex;
  justify-content: center;
}

.ultra-low-emf>div>img {
  max-width: 48.0625rem;
}

.ultra-low-emf>div+img {
  max-width: 43.375rem;
}

.low-emf-sec {
  width: 100%;
  padding: 4.44rem 2.88rem;
  border-top: 1px solid rgba(78, 88, 89, 0.20);
  display: flex;
  flex-direction: column;
  align-items: center;
}

.low-emf-sec>.section-title {
  margin-bottom: 2rem;
}

.low-emf-container {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
  margin-top: 3.16rem;
}

.low-emf-container>div {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.low-emf-container>div img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.low-emf-container>div>span {
  color: #333;
  font-family: Raleway;
  font-size: 1.125rem;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  display: block;
  margin-top: 2.25rem;
  text-align: center;
}

.bg-gray.centerted-content {
  padding: 4.38rem 3.13rem;
}

.bg-gray.centerted-content .section-title {
  color: #B2191E;
  margin-bottom: 2rem;
}

.bg-gray.centerted-content p {
  color: #333;
  max-width: 67.3125rem;
}

.bg-gray.centerted-content p+p {
  margin-top: 1.25rem;
}

.centerted-content>div {
  padding: 2.12rem;
  width: 100%;
  max-width: 35.625rem;
  border: 1px solid rgba(78, 88, 89, 0.20);
  display: flex;
  justify-content: center;
  margin: 1.92rem 0 3.13rem;
}

.centerted-content>div img {
  width: 100%;
  max-width: 27.168rem;
  height: auto;
  object-fit: cover;
}

.bg-gray.centerted-content p a {
  text-decoration: underline;
}

.bg-gray.centerted-content p span {
  color: #B2191E;
  font-weight: 500;
}

.innerpage:not(.innerpage-2) .split-section:not(.bg-gray)+.testimonial-section {
  border-top: 1px solid rgba(78, 88, 89, 0.20);
}

.testimonial-section+.footer {
  margin-top: 4.38rem;
}

.appointment-section+.testimonial-section {
  border-top: 1px solid rgba(78, 88, 89, 0.20);
}

.methods-section+.testimonial-section,
.blog-content-sec+.testimonial-section,
.heater-system-sec+.testimonial-section,
.blog-cards-sec+.testimonial-section {
  border-top: 1px solid rgba(78, 88, 89, 0.20);
}

.better-feeling {
  border-bottom: 1px solid rgba(51, 51, 51, 0.50);
  padding-bottom: 0 !important;
  margin-bottom: 4.38rem;
}

.proof-row {
  grid-template-columns: 1fr;
}

.proof-row .file-upload {
  min-height: 12.25rem;
}

.split-content p strong span {
  font-weight: 700;
}

.innerpage-2 .methods-section.tecology-sec.bg-white+.testimonial-section {
  border: 0;
}

.innerpage-2 .testimonial-section+.faq-section {
  margin-top: 4.38rem;
}

.infrared-sauna-hero {
  height: 37rem !important;
}

.infrared-sauna-hero .hero-content {
  margin-top: 4rem;
}

.infrared-sauna-hero h1 {
  max-width: 100% !important;
  margin-bottom: 2.44rem;
  margin-top: 1.81rem;
}

.since-img img {
  width: 25.375rem;

}

.work-better-sec {
  padding: 4.38rem 3.13rem 0;
}

.work-better-grid {
  margin-top: 2.5rem;
  width: 100%;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
}

.work-better-grid>div {
  width: 100%;
  padding: 2.25rem;
  border-radius: 1.25rem;
  background: #EFF3F6;
}

.work-better-grid .section-tag {
  margin-bottom: 0.75rem;
}

.card-title {
  color: #B2191E;
  font-family: "Crimson Pro";
  font-size: 2rem;
  font-style: italic;
  font-weight: 400;
  line-height: 2.0625rem;
  /* 103.125% */
  max-width: 19rem;
  display: block;
  margin-bottom: 1rem;
}

.saunas-section {
  padding: 6.25rem 0;
  display: flex;
  flex-direction: column;
}

.saunas-card {
  display: flex;
  max-width: 72.63rem;
  margin-bottom: 4.38rem;
}

.saunas-card-content {
  padding: 3.13rem;
  width: 55%;
  position: relative;
  z-index: 9;
}

.saunas-card-content>span {
  color: #333;
  font-family: "Crimson Pro";
  font-size: 1.25rem;
  font-style: italic;
  font-weight: 400;
  line-height: 1.5rem;
  /* 120% */
  display: block;
  margin: 1.12rem 0 0.75rem;
}

.saunas-card-content>p {
  max-width: 33.5625rem;
}

.saunas-card-content>p+.btn {
  margin-top: 2.25rem;
}

.red-card .saunas-card-content {
  border-radius: 0 1.25rem 1.25rem 0;
  background: #B2191E;
}

.red-card .section-title,
.red-card span,
.red-card p {
  color: #fff;
}

.saunas-card-img {
  width: 45%;
  padding: 1.19rem 0;
}

.saunas-card-img img {
  width: 100%;
  height: 100%;
  border-radius: 1.25rem;
}

.red-card .saunas-card-img {
  margin-left: -6rem;
}

.gray-card {
  flex-direction: row-reverse;
  margin-left: auto;
}

.gray-card .saunas-card-content {
  border-radius: 1.25rem 0 0 1.25rem;
  background: #EFF3F6;
}

.gray-card .saunas-card-img {
  margin-right: -4rem;
}

.red-card:last-child .saunas-card-img {
  margin-left: -2rem;
}

.saunas-card:last-child {
  margin-bottom: 0;
}

.saunas-section+.testimonial-section {
  border-top: 1px solid rgba(51, 51, 51, 0.50);
}

.free-consultation {
  width: 100%;
  padding: 1.5rem;
  border-radius: 1.25rem;
  background: #EFF3F6;
  margin-top: 1.78rem;
}

.free-consultation>span {
  color: #333;
  font-family: "Crimson Pro";
  font-size: 1.5rem;
  font-style: italic;
  font-weight: 400;
  line-height: 1.625rem;
  /* 108.333% */
  display: block;
  margin-bottom: 0.62rem;
}

.free-consultation>p+.btn {
  margin-top: 1.25rem;
}

.cabin-product-content>p+.btn {
  margin-top: 2.25rem;
}


/* ------------- */
.product-accordion {
  width: 100%;
  background: #EFF3F6;
}

.accordion-item {
  border-bottom: 1px solid rgba(78, 88, 89, 0.20);
}

.accordion-item:last-child {
  border: 0;
}


/* Header */

.accordion-header {
  width: 100%;
  padding: 2rem 2.5rem;

  display: flex;
  align-items: center;
  justify-content: space-between;

  border: 0;
  outline: 0;
  background: transparent;

  cursor: pointer;
  text-align: left;
}

.accordion-header>span:first-child {
  color: #333;
  font-family: "Crimson Pro";
  font-size: 2rem;
  font-style: italic;
  font-weight: 400;
  line-height: 1.875rem;
  /* 93.75% */
}


/* Icon */

.accordion-icon {
  position: relative;
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
}

.accordion-icon::before,
.accordion-icon::after {
  content: "";
  position: absolute;

  top: 50%;
  left: 50%;

  width: 1.8rem;
  height: 0.19rem;

  background: #B2191E;

  transform: translate(-50%, -50%);
  transition: transform 0.3s ease;
}

.accordion-icon::after {
  transform: translate(-50%, -50%) rotate(90deg);
}


.accordion-item.active .accordion-icon::after {
  transform: translate(-50%, -50%) rotate(0deg);
}


/* Content */

.accordion-content {
  display: grid;
  grid-template-rows: 0fr;

  transition: grid-template-rows 0.35s ease;
}

.accordion-inner {
  overflow: hidden;
}


/* Open */

.accordion-item.active .accordion-content {
  grid-template-rows: 1fr;
}

.accordion-inner {
  padding: 0 2.5rem;
}

.accordion-item.active .accordion-inner {
  padding-bottom: 2.25rem;
}


/* Paragraph */

.accordion-inner p {
  max-width: 70.8125rem;
  margin-bottom: 1.25rem;
}


/* Info list */

.accordion-inner ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.accordion-inner li {
  display: flex;
  align-items: flex-start;
  gap: 3.19rem;

  color: #333;
  font-family: Raleway;
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1.1875rem;
  /* 118.75% */
}

.accordion-inner li strong {
  width: 6rem;
  flex-shrink: 0;

  color: #B2191E;
  font-weight: 700;
}

.accordion-inner li span {
  color: #333;
}

.cabin-product-content+.product-accordion {
  margin-top: 2.25rem;
}

.cabin-hero+.tecology-sec {
  border-top: 1px solid rgba(78, 88, 89, 0.20);
}

.cabin-hero+.tecology-sec+.testimonial-section {
  border: 0;
}

.better-feeling.bg-gray {
  border: 0;
}

.better-feeling.bg-gray:has(+.faq-section) {
  margin-bottom: 0 !important;
}

.better-feeling.bg-gray+.faq-section {
  background: #fff;
  border-bottom: 1px solid rgba(78, 88, 89, 0.20);
}

.better-feeling.bg-gray+.faq-section .faq-item.active {
  background: #EFF3F6;
  border-color: #EFF3F6;
}

.cabin-container+.product-accordion {
  margin-top: 4.38rem;
}

.outdoor-cabin .section-title {
  max-width: 34.25rem;
}

.therapy-range-sec {
  width: 100%;
  padding: 6.25rem 3.13rem;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.therapy-range-sec>.card-title {
  margin-bottom: 2rem;
  margin-top: 0 !important;
}

.therapy-range {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.88rem 1.25rem;
}

.therapy-cabin {
  width: 100%;
  border-radius: 1.875rem;
  background: #EFF3F6;
  overflow: hidden;
  display: grid;
  grid-template-columns: 1fr 1.5fr;
  gap: 0.12rem;
}

.therapy-cabin-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.therapy-cabin-content {
  padding: 2rem;
}

.therapy-cabin-content>span {
  color: #B2191E;
  font-family: "Crimson Pro";
  font-size: 2rem;
  font-style: italic;
  font-weight: 400;
  line-height: normal;
  margin-bottom: 1rem;
  display: block;
}

.therapy-cabin-content>p {
  margin-bottom: 1rem;
}

.therapy-cabin-content>.btn {
  margin-top: 2.69rem;
}

.cabin-price-wrapper {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 0.81rem;
}

.cabin-price-wrapper>div {
  display: flex;
  align-items: center;
  gap: 0.31rem;
}

.discount-price {
  color: rgba(51, 51, 51, 0.50);
  font-family: Raleway;
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1.1875rem;
  /* 118.75% */
  text-decoration-line: line-through;
}

.therapy-cabin-price {
  color: #B2191E;
  font-family: "Crimson Pro";
  font-size: 1.5rem;
  font-style: italic;
  font-weight: 400;
  line-height: normal;
}

.introductory-discount {
  display: inline-flex;
  padding: 0.3125rem;
  width: 100%;
  max-width: 7.0625rem;
  justify-content: center;
  align-items: center;
  gap: 0.625rem;
  background: rgba(178, 25, 30, 0.12);
  color: #333;
  text-align: center;
  font-family: Raleway;
  font-size: 0.875rem;
  font-style: normal;
  font-weight: 400;
  line-height: 0.875rem;
  /* 100% */
}

.range-cabins-wrapper,
.range-cabins {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.25rem;
}

.range-cabins-wrapper>div {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.therapy-range-sec .card-title {
  margin: 4.38rem 0 2.13rem;
  font-weight: 300;
}

.therapy-range-sec .cabin-img {
  background: #EFF3F6;
  flex: unset;
  aspect-ratio: 4/5;
}

.cabin-card-content .cabin-price-wrapper {
  margin: 1.63rem 0 2.62rem;
}

.cabin-card-content .btn {
  width: 100%;
  justify-content: center;
}

.therapy-range-sec .cabin-card-content {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.therapy-range-sec .cabin-card {
  height: 100%;
}

.range-cabins {
  height: 100%;
}

.therapy-range-sec .cabin-card-content .btn {
  margin-top: auto;
}

.range-cabins .cabin-img {
  padding: 2.94rem;
}

.other-saunas {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.grid-4 {
  grid-template-columns: repeat(4, 1fr);
}

.infrared-saunas-sec {
  width: 100%;
  padding: 4.38rem 3.13rem 6.25rem;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.infrared-saunas-sec .card-title {
  max-width: 100%;
  margin-bottom: 2.87rem;
  font-weight: 300;
}

.infrared-saunas-sec+.testimonial-section {
  border-top: 1px solid rgba(51, 51, 51, 0.50);
}