    :root {
      --green-deep:   #1f4d0a;
      --green-mid:    #3B6D11;
      --green-light:  #639922;
      --green-pale:   #EAF3DE;
      --green-text:   #27500A;
      --cream:        #faf8f3;
      --ink:          #1a1a18;
      --ink-muted:    #5a5a54;
      --border:       rgba(60,60,40,0.12);
      --radius:       10px;
      --radius-lg:    16px;
    }


html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font-family: "Montserrat", sans-serif;
  vertical-align: baseline;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

body {
  line-height: 1;
}

ol,
ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

.mainContainer {
  box-sizing: border-box;
  width: 100%;
  max-width: 1550px;
  padding: 0 50px;
  margin: 0 auto;
  display: block;
  position: relative;
  z-index: 1;
}

@media only screen and (max-width: 1300px) {
  .mainContainer {
    padding: 0 40px;
  }
}

@media only screen and (max-width: 992px) {
  .mainContainer {
    padding: 0 20px;
  }
}

.mainNavbar {
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  background-color: transparent;
  transition: background-color 0.25s ease, box-shadow 0.25s ease;
}

.mainNavbar.mainNavbar--scrolled {
  background-color: #fff;
  box-shadow: 0 1px 0 rgba(6, 30, 14, 0.06);
}

.mainNavbar .headWrap {
  display: flex;
  align-items: center;
  height: 70px;
}

.mainNavbar .headWrap .box {
  width: 33.33%;
}

.mainNavbar .headWrap .box img {
  max-width: 100%;
  height: 53px;
}

.mainNavbar .headWrap .box button {
  background: none;
  border: none;
  cursor: pointer;
}

.mainNavbar .headWrap .box button img {
  max-width: 100%;
  height: 18px;
}

.mainNavbar .headWrap .burgerBtn {
  text-align: center;
}

.heroSection {
  width: 100%;

  background-color: #e9e6de;
  background: url("../assets/all-bg.jpeg") center/cover no-repeat;
  padding-top: 70px;
  padding-bottom: 40px;

}

.heroSection .heroWrapper {
  background-color: #ffffffc7;
  border-radius: 50px;
  max-width: 100%;
  height: 698px;
  display: flex;
  position: relative;

  overflow: hidden;
}

.heroSection .heroWrapper .leftSet {
  padding: 40px;
  width: 60%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.heroSection .heroWrapper .leftSet h2 {
  font-size: 60px;
  font-style: italic;
  font-weight: 900;
  color: #061e0e;
}

.heroSection .heroWrapper .leftSet h3 {
  font-size: 18px;
  font-weight: 100;
  margin-top: 20px;
  color: #061e0e;
}

.heroSection .heroWrapper .leftSet .joinBtn {
  background-color: #061e0e;
  color: #fff;
  border: none;
  font-size: 16px;
  font-weight: 100;
  border-radius: 35px;
  padding: 10px 20px;
  margin-top: 80px;
  display: inline-block;
  text-decoration: none;
  cursor: pointer;
}

.heroSection .heroWrapper .leftSet img {
  display: block;
  max-width: 240px;
  margin: 0 auto;
}

.heroSection .heroWrapper .leftSet .bottomSet .socialMedia {
  display: flex;
  gap: 10px;
}

.heroSection .heroWrapper .leftSet .bottomSet .socialMedia a img {
  max-width: 28px;
}

.heroSection .heroWrapper .leftSet .bottomSet .bookNowBtn {
  background-color: #d3dbd3;
  border-radius: 35px;
  padding: 10px 20px;
  margin-top: 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 400px;
}

.heroSection .heroWrapper .leftSet .bottomSet .bookNowBtn h4 {
  font-size: 16px;
  font-weight: 100;
}

.heroSection .heroWrapper .leftSet .bottomSet .bookNowBtn button,
.heroSection .heroWrapper .leftSet .bottomSet .bookNowBtn a {
  background: none;
  border: none;
  cursor: pointer;
  font-size: 16px;
  font-weight: 100;
  color: #061e0e;
  padding-right: 28px;
  position: relative;
  text-decoration: none;
}

.heroSection .heroWrapper .leftSet .bottomSet .bookNowBtn button::before,
.heroSection .heroWrapper .leftSet .bottomSet .bookNowBtn a::before {
  content: "";
  position: absolute;
  top: -5px;
  right: -14px;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background-image: url("../assets/arrow-big.svg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-color: #061e0e;
  z-index: 0;
}

.heroSection .heroWrapper .leftSet .bottomSet .bookNowBtn button:hover,
.heroSection .heroWrapper .leftSet .bottomSet .bookNowBtn a:hover {
  text-decoration: underline;
}

.heroSection .heroWrapper .rightSet {
  width: 40%;
  min-width: 0;
  border-radius: 0 35px 35px 0;
  overflow: hidden;
  background-color: #d8d4cc;
}

.hero-slider.hero-slider--owl {
  position: relative;
  width: 100%;
  height: 100%;
}

.hero-slider.hero-slider--owl .hero-owl.owl-carousel {
  height: 100%;
}

.hero-slider.hero-slider--owl .owl-stage-outer {
  height: 100%;
}

.hero-slider.hero-slider--owl .owl-stage {
  height: 100%;
  display: flex;
}

.hero-slider.hero-slider--owl .owl-item {
  height: 100%;
}

.hero-slider.hero-slider--owl .hero-owl__slide {
  height: 100%;
  position: relative;
}

.hero-slider.hero-slider--owl .hero-owl__slide::before {
  content: "";
  position: absolute;
  top: 20px;
  left: 20px;
  width: 40px;
  height: 40px;
  background-image: url("../assets/drop.svg");
  background-size: cover;
  background-position: center;
  transform-origin: center center;
  backface-visibility: visible;
  animation: heroDropRotate3d 7s linear infinite;
}

.hero-slider.hero-slider--owl .hero-owl__slide img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  display: block;
}

@media (prefers-reduced-motion: reduce) {
  .hero-slider.hero-slider--owl .hero-owl__slide::before {
    animation: none;
  }
}

@keyframes heroDropRotate3d {
  from {
    transform: perspective(1600px) rotateY(0deg);
  }

  to {
    transform: perspective(1600px) rotateY(360deg);
  }
}

.hero-slider.hero-slider--owl .owl-nav {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 2;
}

.hero-slider.hero-slider--owl .owl-nav button.owl-prev,
.hero-slider.hero-slider--owl .owl-nav button.owl-next {
  pointer-events: auto;
  position: absolute;
  bottom: 20px;
  width: 44px;
  height: 44px;
  margin: 0;
  border: none;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.92);
  color: transparent;
  font-size: 0;
  line-height: 0;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 20px rgba(6, 30, 14, 0.12);
  transition: background-color 0.2s ease, transform 0.2s ease;
}

.hero-slider.hero-slider--owl .owl-nav button.owl-prev span,
.hero-slider.hero-slider--owl .owl-nav button.owl-next span {
  display: none;
}

.hero-slider.hero-slider--owl .owl-nav button.owl-prev::after,
.hero-slider.hero-slider--owl .owl-nav button.owl-next::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: url("../assets/arrow-small.svg") center/18px 18px no-repeat;
  pointer-events: none;
}

.hero-slider.hero-slider--owl .owl-nav button.owl-prev:hover,
.hero-slider.hero-slider--owl .owl-nav button.owl-next:hover {
  background-color: #fff;
}

.hero-slider.hero-slider--owl .owl-nav button.owl-prev:active,
.hero-slider.hero-slider--owl .owl-nav button.owl-next:active {
  transform: scale(0.96);
}

.hero-slider.hero-slider--owl .owl-nav button.owl-prev:focus-visible,
.hero-slider.hero-slider--owl .owl-nav button.owl-next:focus-visible {
  outline: 2px solid #061e0e;
  outline-offset: 2px;
}

.hero-slider.hero-slider--owl .owl-nav button.owl-prev.disabled,
.hero-slider.hero-slider--owl .owl-nav button.owl-next.disabled {
  opacity: 0.35;
  cursor: not-allowed;
}

.hero-slider.hero-slider--owl .owl-nav button.owl-prev::after {
  transform: scaleX(-1);
  transform-origin: center;
}

.hero-slider.hero-slider--owl .owl-nav button.owl-prev {
  left: 30%;
}

.hero-slider.hero-slider--owl .owl-nav button.owl-next {
  right: 30%;
}

@media only screen and (max-width: 1024px) {

  .heroSection .heroWrapper .leftSet {
    padding: 28px 24px;
  }

  .heroSection .heroWrapper .leftSet h2 {
    font-size: clamp(2rem, 3.2vw + 1rem, 3.75rem);
  }

  .heroSection .heroWrapper .leftSet h3 {
    font-size: 16px;
    margin-top: 16px;
  }

  .heroSection .heroWrapper .leftSet .joinBtn {
    margin-top: 48px;
  }

  .heroSection .heroWrapper .leftSet img {
    max-width: clamp(160px, 22vw, 220px);
  }

  .heroSection .heroWrapper .leftSet .bottomSet .bookNowBtn {
    max-width: 100%;
  }

  .heroSection .heroWrapper .rightSet {
    border-radius: 0 32px 32px 0;
  }

  .hero-slider.hero-slider--owl .owl-nav button.owl-prev {
    left: 16px;
  }

  .hero-slider.hero-slider--owl .owl-nav button.owl-next {
    right: 16px;
  }
}

@media only screen and (max-width: 992px) {
  .heroSection {
    height: auto;
    min-height: 100vh;
    padding-bottom: 32px;
  }

  .heroSection .heroWrapper {
    flex-direction: column;
    height: auto;
    margin-bottom: 8px;
    border-radius: 28px;
  }

  .heroSection .heroWrapper .leftSet {
    width: auto;
    padding: 28px 20px 24px;
    flex: 1 1 auto;
  }

  .heroSection .heroWrapper .leftSet h2 {
    font-size: clamp(1.875rem, 5vw + 0.5rem, 2.75rem);
  }

  .heroSection .heroWrapper .leftSet h3 {
    font-size: 15px;
    margin-top: 14px;
  }

  .heroSection .heroWrapper .leftSet .joinBtn {
    margin-top: 32px;
  }

  .heroSection .heroWrapper .leftSet img {
    max-width: 200px;
  }

  .heroSection .heroWrapper .rightSet {
    width: 100%;
    border-radius: 0 0 24px 24px;
    min-height: 260px;
    aspect-ratio: 2/3;
    flex: 0 0 auto;
  }

  .hero-slider.hero-slider--owl .owl-nav button.owl-prev,
  .hero-slider.hero-slider--owl .owl-nav button.owl-next {
    bottom: 14px;
  }

  .hero-slider.hero-slider--owl .owl-nav button.owl-prev {
    left: 14px;
  }

  .hero-slider.hero-slider--owl .owl-nav button.owl-next {
    right: 14px;
  }
}

@media only screen and (max-width: 576px) {
  .heroSection {
    padding-bottom: 24px;
  }

  .heroSection .heroWrapper {

    border-radius: 20px;
  }

  .heroSection .heroWrapper .leftSet {
    padding: 22px 16px 18px;
  }

  .heroSection .heroWrapper .leftSet h2 {
    font-size: clamp(1.625rem, 7vw, 2.125rem);
  }

  .heroSection .heroWrapper .leftSet h3 {
    font-size: 14px;
    line-height: 1.45;
  }

  .heroSection .heroWrapper .leftSet .joinBtn {
    margin-top: 24px;
    padding: 12px 22px;
    font-size: 15px;
  }

  .heroSection .heroWrapper .leftSet img {
    max-width: 160px;
  }

  .heroSection .heroWrapper .leftSet .bottomSet .socialMedia a img {
    max-width: 26px;
  }

  .heroSection .heroWrapper .leftSet .bottomSet .bookNowBtn {
    flex-wrap: wrap;
    gap: 12px;
    padding: 12px 16px;
    margin-top: 16px;
  }

  .heroSection .heroWrapper .leftSet .bottomSet .bookNowBtn h4 {
    font-size: 15px;
  }

  .heroSection .heroWrapper .leftSet .bottomSet .bookNowBtn button,
  .heroSection .heroWrapper .leftSet .bottomSet .bookNowBtn a {
    font-size: 15px;
  }

  .heroSection .heroWrapper .rightSet {
    min-height: 220px;
    border-radius: 0 0 18px 18px;
  }

  .hero-slider.hero-slider--owl .hero-owl__slide::before {
    width: 32px;
    height: 32px;
    top: 12px;
    left: 12px;
  }

  .hero-slider.hero-slider--owl .owl-nav button.owl-prev,
  .hero-slider.hero-slider--owl .owl-nav button.owl-next {
    bottom: 12px;
    width: 40px;
    height: 40px;
  }

  .hero-slider.hero-slider--owl .owl-nav button.owl-prev {
    left: 10px;
  }

  .hero-slider.hero-slider--owl .owl-nav button.owl-next {
    right: 10px;
  }

  .hero-slider.hero-slider--owl .owl-nav button.owl-prev::after,
  .hero-slider.hero-slider--owl .owl-nav button.owl-next::after {
    background-size: 16px 16px;
  }
}

.fitnessJourneyWrapper {
  width: 100%;
  padding: 70px 0 0 0;
}

.fitnessJourneyWrapper .welcomeBox {
  display: flex;
  justify-content: space-between;
  height: calc(100vh - 70px);
  align-items: center;
}

.fitnessJourneyWrapper .welcomeBox .leftSet {
  width: 60%;

}


.fitnessJourneyWrapper .welcomeBox .rightSet {
  width: 30%;
  /* height: 100%; */
  position: relative;
  z-index: 1;
  border-radius: 35px;
  overflow: hidden;
  /* float: right;*/
  margin-right: 50px; 
}

.fitnessJourneyWrapper .welcomeBox .rightSet .fitnessBox {
  background-image: url("../assets/fitness.avif");
  background-size: cover;
  background-repeat: no-repeat;
  padding: 36px;
  position: relative;
}

.fitnessJourneyWrapper .welcomeBox .rightSet .fitnessBox::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.349);
}

.fitnessJourneyWrapper .welcomeBox .rightSet .fitnessBox h2 {
  color: #fff;
  font-size: 14px;
  font-weight: 100;
  position: relative;
}

.fitnessJourneyWrapper .welcomeBox .rightSet .fitnessBox h3 {
  color: #fff;
  font-size: 28px;
  font-weight: 400;
  margin-top: 10px;
  position: relative;
}

.fitnessJourneyWrapper .welcomeBox .rightSet .fitnessBox .progressBar {
  width: 100%;
  height: 25px;
  border: 2px solid #fff;
  border-radius: 35px;
  margin-top: 20px;
  overflow: hidden;
  position: relative;
}

.fitnessJourneyWrapper .welcomeBox .rightSet .fitnessBox .progressBar::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 60%;
  height: 100%;
  background-color: #fff;
  transform-origin: left center;
  transform: scaleX(1);
}

/* JS drives --fitness-fill 0–1 (smooth with Lenis); no scroll-timeline */
.fitnessJourneyWrapper.fitness-journey-progress--enhanced .welcomeBox .rightSet .fitnessBox .progressBar {
  --fitness-fill: 0;
}

.fitnessJourneyWrapper.fitness-journey-progress--enhanced .welcomeBox .rightSet .fitnessBox .progressBar::before {
  transform: scaleX(var(--fitness-fill, 0));
  will-change: transform;
}

.fitnessJourneyWrapper.fitness-journey-progress--enhanced.fitness-journey-progress--done .welcomeBox .rightSet .fitnessBox .progressBar::before {
  transform: scaleX(1);
  will-change: auto;
}

@media (prefers-reduced-motion: reduce) {
  .fitnessJourneyWrapper.fitness-journey-progress--enhanced .welcomeBox .rightSet .fitnessBox .progressBar::before {
    transform: scaleX(1) !important;
    will-change: auto !important;
  }
}

.fitnessJourneyWrapper .welcomeBox .rightSet .fitnessBox h4 {
  margin-top: 10px;
  color: #fff;
  font-size: 16px;
  font-weight: 100;
  position: relative;
}

.fitnessJourneyWrapper .welcomeBox .rightSet .fitnessBox .seperator {
  width: 100%;
  height: 2px;
  display: block;
  background-color: #fff;
  margin-top: 10px;
  margin-bottom: 10px;
  position: relative;
}

.fitnessJourneyWrapper .welcomeBox .rightSet .fitnessBox h5 {
  margin-top: 10px;
  color: #fff;
  font-size: 16px;
  font-weight: 100;
  position: relative;
}

.welcomeSection {
  width: 100%;
  padding: 70px 0 0 0;
  background-color: #fff;
}

.welcomeSection .welcomeBox {
  background-image: url("../assets/welcome-img.avif");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  border-radius: 50px;
  max-width: 100%;
  padding: 40px;
  display: flex;
  height: calc(100vh - 180px);
  align-items: center;
  overflow: hidden;
  position: relative;
}

.welcomeSection .welcomeBox::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.349);
  z-index: 0;
}

.welcomeSection .welcomeBox .leftSet {
  width: 60%;
  padding: 0px 109px 0px 0px;
  position: relative;
  z-index: 1;
}

.welcomeSection .welcomeBox .leftSet h2 {
  color: #fff;
  font-size: 60px;
  font-weight: 400;
}

.welcomeSection .welcomeBox .leftSet p {
  color: #fff;
  font-size: 15px;
  font-weight: 400;
  margin-top: 20px;
  line-height: 1.8;
  margin-bottom: 50px;
}

.welcomeSection .welcomeBox .leftSet p a {
  color: #fff;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.welcomeSection .welcomeBox .leftSet p a:hover {
  opacity: 0.85;
}

.welcomeSection .welcomeBox .leftSet h3 {
  color: #fff;
  font-size: 60px;
  font-style: italic;
  font-weight: 900;
  margin-top: 20px;
  max-width: 435px;
}

.welcomeSection .welcomeBox .rightSet {
  width: 40%;
  height: 100%;
  position: relative;
  z-index: 1;
  border-radius: 35px;
  overflow: hidden;
}


@media only screen and (max-width: 1024px) {
  .welcomeSection {
    padding: 40px 0;
  }

  .welcomeSection .welcomeBox {
    border-radius: 40px;
    padding: 32px 28px;
  }

  .welcomeSection .welcomeBox .leftSet {
    width: 55%;
    padding: 28px 20px;
    z-index: 1;
  }

  .welcomeSection .welcomeBox .leftSet h2 {
    font-size: clamp(2rem, 2.8vw + 1rem, 3.5rem);
  }

  .welcomeSection .welcomeBox .leftSet p {
    font-size: 15px;
    margin-top: 18px;
  }

  .welcomeSection .welcomeBox .leftSet h3 {
    font-size: clamp(1.75rem, 2.8vw + 0.75rem, 3.25rem);
    max-width: none;
    margin-top: 18px;
  }

  .welcomeSection .welcomeBox .rightSet {
    width: 45%;
  }

  .welcomeSection .welcomeBox .rightSet .fitnessBox {
    padding: 28px 22px;
    border-radius: 28px;
  }

  .welcomeSection .welcomeBox .rightSet .fitnessBox h3 {
    font-size: 24px;
  }

  .welcomeSection .welcomeBox .rightSet .fitnessBox .progressBar {
    margin-top: 16px;
  }
}

@media only screen and (max-width: 992px) {
  .welcomeSection {
    padding: 32px 0;
  }

  .welcomeSection .welcomeBox {
    flex-direction: column;
    align-items: stretch;
    padding: 28px 20px;
    border-radius: 28px;
    min-height: 0;
  }

  .welcomeSection .welcomeBox .leftSet {

    padding: 0px 0px 40px;
    z-index: 1;
    width: 100%;

  }

  .welcomeSection .welcomeBox .leftSet h2 {
    font-size: clamp(1.875rem, 3.5vw + 1rem, 2.75rem);
  }

  .welcomeSection .welcomeBox .leftSet p {
    margin-top: 16px;
    font-size: 15px;
    margin-bottom: 20px;
  }

  .welcomeSection .welcomeBox .leftSet h3 {
    font-size: clamp(1.5rem, 3.5vw + 0.75rem, 2.25rem);
    margin-top: 16px;
  }

  .welcomeSection .welcomeBox .rightSet {
    width: 100%;
    height: auto;
    z-index: 1;
  }

}

@media only screen and (max-width: 576px) {
  .welcomeSection {
    padding: 24px 0;
  }

  .welcomeSection .welcomeBox {
    padding: 20px 14px;
    border-radius: 20px;
  }

  .welcomeSection .welcomeBox .leftSet h2 {
    font-size: clamp(1.5rem, 6vw, 1.875rem);
  }

  .welcomeSection .welcomeBox .leftSet p {
    font-size: 14px;
    margin-top: 14px;
  }

  .welcomeSection .welcomeBox .leftSet h3 {
    font-size: clamp(1.35rem, 5vw, 1.65rem);
    margin-top: 14px;
  }

  .welcomeSection .welcomeBox .rightSet .fitnessBox {

    border-radius: 20px;
  }

  .welcomeSection .welcomeBox .rightSet .fitnessBox h2 {
    font-size: 13px;
  }

  .welcomeSection .welcomeBox .rightSet .fitnessBox h3 {
    font-size: 20px;
  }

  .welcomeSection .welcomeBox .rightSet .fitnessBox h4,
  .welcomeSection .welcomeBox .rightSet .fitnessBox h5 {
    font-size: 15px;
  }

  .welcomeSection .welcomeBox .rightSet .fitnessBox .progressBar {
    height: 22px;
    margin-top: 14px;
  }

  .welcomeSection .cmnBtn {
    width: 100%;
    max-width: 100%;
    margin-top: 16px;
    padding: 10px 44px 10px 18px;
    font-size: 15px;
    box-sizing: border-box;
    justify-content: flex-start;
  }

  .fitnessJourneyWrapper .welcomeBox .leftSet {
    display: none;
  }

  .fitnessJourneyWrapper .welcomeBox .rightSet {
    width: 100%;
  margin: 0 30px;
  }
}

.cmnBtn {
  background-color: #d3dbd3;
  border-radius: 35px;
  border: 0;
  font-size: 16px;
  font-weight: 100;
  padding: 10px 50px 10px 20px;
  margin-top: 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: max-content;
  max-width: 100%;
  text-decoration: none;
  color: #061e0e;
  cursor: pointer;
  box-sizing: border-box;
}

.cmnBtn::before {
  content: "";
  position: absolute;
  top: 4px;
  right: 5px;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background-image: url("../assets/arrow-big.svg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-color: #061e0e;
  z-index: 0;
}

.selectPlanWrapper {
  padding: 70px 0 50px 0;
  background-color: #fff;
}

.selectPlanWrapper .selectPlanBox {
  border-radius: 50px;
  overflow: hidden;
}

.selectPlanWrapper .selectPlanBox .head {
  padding: 50px;
  background-color: #597954;
}

.selectPlanWrapper .selectPlanBox .head h2 {
  font-size: 60px;
  font-weight: 400;
  max-width: 900px;
  margin: 0 auto;
  text-align: center;
}

.selectPlanWrapper .selectPlanBox .content {
  background-color: #061e0e;
  /* height: calc(100vh - 335px);
  max-height: calc(100vh - 335px);
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-y: contain;
  touch-action: pan-y; */
}

.selectPlanWrapper .selectPlanBox .content .planBox {
  padding: 50px 40px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid #fff;
}

.selectPlanWrapper .selectPlanBox .content .planBox h3 {
  color: #fff;
  font-size: 33px;
  font-weight: 400;
  width: 60%;
}

.selectPlanWrapper .selectPlanBox .content .planBox h4 {
  color: #fff;
  font-size: 16px;
  font-weight: 100;
  width: 20%;
}

.selectPlanWrapper .selectPlanBox .content .planBox button {
  width: 20%;
  background: transparent;
  border: 1px solid #fff;
  border-radius: 35px;
  padding: 10px 40px;
  font-size: 16px;
  font-weight: 100;
  color: #fff;
  cursor: pointer;
  transition: all 0.3s ease;
}

.selectPlanWrapper .selectPlanBox .content .planBox button:hover {
  background-color: #fff;
  color: #061e0e;
}

.selectPlanWrapper .selectPlanBox .content .planBox:hover {
  background-color: #1a332a;
}

@media only screen and (max-width: 1024px) {
  .selectPlanWrapper .selectPlanBox {
    border-radius: 40px;
  }

  .selectPlanWrapper .selectPlanBox .head {
    padding: 40px 28px;
  }

  .selectPlanWrapper .selectPlanBox .head h2 {
    font-size: clamp(2rem, 3vw + 1rem, 3.5rem);
    max-width: 100%;
  }

  .selectPlanWrapper .selectPlanBox .content .planBox {
    padding: 36px 28px;
    gap: 20px;
  }

  .selectPlanWrapper .selectPlanBox .content .planBox h3 {
    font-size: 24px;
  }

  .selectPlanWrapper .selectPlanBox .content .planBox h4 {
    font-size: 15px;
  }

  .selectPlanWrapper .selectPlanBox .content .planBox button {
    padding: 10px 28px;
    font-size: 15px;
  }
}

@media only screen and (max-width: 992px) {
  .selectPlanWrapper .selectPlanBox {
    border-radius: 28px;
  }

  .selectPlanWrapper .selectPlanBox .head {
    padding: 32px 20px;
    text-align: center;
  }

  .selectPlanWrapper .selectPlanBox .head h2 {
    font-size: clamp(1.875rem, 4vw + 0.75rem, 2.75rem);
  }

  .selectPlanWrapper .selectPlanBox .content .planBox {
    flex-direction: column;
    align-items: stretch;
    gap: 14px;
    padding: 28px 20px;
  }

  .selectPlanWrapper .selectPlanBox .content .planBox h3 {
    width: 100%;
    font-size: clamp(1.125rem, 2.5vw + 0.75rem, 1.5rem);
  }

  .selectPlanWrapper .selectPlanBox .content .planBox h4 {
    width: 100%;
    font-size: 16px;
  }

  .selectPlanWrapper .selectPlanBox .content .planBox button {
    width: 100%;
    max-width: 320px;
    margin-top: 4px;
  }
}

@media only screen and (max-width: 576px) {
  .selectPlanWrapper .selectPlanBox {
    border-radius: 20px;
  }

  .selectPlanWrapper .selectPlanBox .head {
    padding: 24px 16px;
  }

  .selectPlanWrapper .selectPlanBox .head h2 {
    font-size: clamp(1.5rem, 5vw + 0.5rem, 1.875rem);
  }

  .selectPlanWrapper .selectPlanBox .content .planBox {
    padding: 22px 16px;
    gap: 12px;
  }

  .selectPlanWrapper .selectPlanBox .content .planBox h3 {
    font-size: 1.0625rem;
    line-height: 1.35;
  }

  .selectPlanWrapper .selectPlanBox .content .planBox h4 {
    font-size: 15px;
  }

  .selectPlanWrapper .selectPlanBox .content .planBox button {
    max-width: none;
    padding: 12px 20px;
    font-size: 15px;
  }
}

.TrainersSectionWrapper {
  padding: 70px 0 0 0;
}

.TrainersSectionWrapper .personalTrainingBox {
  display: flex;
  flex-direction: column;
  justify-content: end;
  height: calc(100vh - 185px);

}

.TrainersSectionWrapper .personalTrainingBox button {
  margin: 30px auto 0 auto;
  position: relative;
  z-index: 1;
}

.TrainersSectionWrapper .personalTrainingBox .cmnBtn {
  margin: 30px auto 0 auto;
  position: relative;
  z-index: 1;
  width: max-content;
  display: inline-flex;
  text-decoration: none;
  color: #061e0e;
}

.TrainersSectionWrapper .personalTrainingBox .trainerBox {
  box-sizing: border-box;
  background-color: #d3dbd3;
  border-radius: 35px;
  width: 60%;
  max-width: 720px;
  margin: 60px auto 0 auto;
  padding: 24px 28px;
  display: flex;
  align-items: stretch;
  gap: 32px;
  position: relative;
  z-index: 1;
  @media only screen and (max-width: 767px) {
  width: 80%;
  }
   @media only screen and (max-width: 570px) {
  width: 96%;
  border-radius: 20px;
  padding: 17px;
  }
}

.TrainersSectionWrapper .personalTrainingBox .trainerBox .leftSet {
  width: 50%;
  min-width: 0;
}

.TrainersSectionWrapper .personalTrainingBox .trainerBox .leftSet h2 {
  font-size: 28px;
  font-weight: 400;
  color: #061e0e;
  margin-bottom: 20px;
}

.TrainersSectionWrapper .personalTrainingBox .trainerBox .leftSet .trainerImg {
  width: 100%;
  min-height: 220px;
  aspect-ratio: 4/3;
  background-image: url("../assets/trainer.avif");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  border-radius: 24px;
}

.TrainersSectionWrapper .personalTrainingBox .trainerBox .rightSet {
  width: 50%;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.TrainersSectionWrapper .personalTrainingBox .trainerBox .rightSet h4 {
  background-color: #597954;
  color: #061e0e;
  border-radius: 35px;
  padding: 10px 20px;
  font-size: 16px;
  font-weight: 100;
  margin-bottom: 20px;
  width: -moz-fit-content;
  width: fit-content;
}

.TrainersSectionWrapper .personalTrainingBox .trainerBox .rightSet p {
  font-size: 14px;
  line-height: 1.5;
  font-weight: 100;
  color: #061e0e;
}

.personalTrainingWrapper {
  padding: 70px 0 0 0;
  background-color: #fff;
}

.personalTrainingWrapper .personalTrainingBox {
  background-image: url("../assets/meet-trainer.avif");
  background-size: cover;
  background-position: top;
  background-repeat: no-repeat;
  border-radius: 50px;
  padding: 50px;
  position: relative;
  overflow: hidden;
  height: calc(100vh - 200px);
}

.personalTrainingWrapper .personalTrainingBox::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.349);
}

.personalTrainingWrapper .personalTrainingBox h2 {
  font-size: 18px;
  font-weight: 100;
  color: #fff;
  position: relative;
  z-index: 1;
}

.personalTrainingWrapper .personalTrainingBox h3 {
  font-size: 50px;
  font-weight: 400;
  color: #fff;
  max-width: 680px;
  margin-top: 30px;
  position: relative;
  z-index: 1;
}

.personalTrainingWrapper .personalTrainingBox button {
  margin: 30px auto 0 auto;
  position: relative;
  z-index: 1;
}

.personalTrainingWrapper .personalTrainingBox .trainerBox {
  min-height: 316px;
}



@media only screen and (max-width: 1024px) {
  .personalTrainingWrapper {
    padding: 72px 0;
  }

  .personalTrainingWrapper .personalTrainingBox {
    border-radius: 40px;
    padding: 40px 32px;
  }

  .personalTrainingWrapper .personalTrainingBox h2 {
    font-size: 17px;
  }

  .personalTrainingWrapper .personalTrainingBox h3 {
    font-size: clamp(1.75rem, 3vw + 1rem, 3rem);
    max-width: 100%;
  }

  .personalTrainingWrapper .personalTrainingBox .trainerBox {
    width: 75%;
    gap: 28px;
    padding: 28px 24px;
    margin-top: 48px;
    border-radius: 28px;
  }

  .personalTrainingWrapper .personalTrainingBox .trainerBox .leftSet h2 {
    font-size: 24px;
  }

  .personalTrainingWrapper .personalTrainingBox .trainerBox .trainerImg {
    border-radius: 28px;
  }
}

@media only screen and (max-width: 992px) {
  .personalTrainingWrapper {
    padding: 56px 0;
  }

  .personalTrainingWrapper .personalTrainingBox {
    border-radius: 28px;
    padding: 32px 22px;
  }

  .personalTrainingWrapper .personalTrainingBox h2 {
    font-size: 16px;
  }

  .personalTrainingWrapper .personalTrainingBox h3 {
    font-size: clamp(1.5rem, 4vw + 0.75rem, 2.25rem);
    margin-top: 22px;
  }

  .personalTrainingWrapper .personalTrainingBox button {
    margin-top: 24px;
  }

  .personalTrainingWrapper .personalTrainingBox .trainerBox {
    width: 100%;
    max-width: 100%;
    flex-direction: column;
    align-items: stretch;
    gap: 22px;
    padding: 24px 20px;
    margin-top: 40px;
  }

  .personalTrainingWrapper .personalTrainingBox .trainerBox .leftSet,
  .personalTrainingWrapper .personalTrainingBox .trainerBox .rightSet {
    width: 100%;
  }

  .personalTrainingWrapper .personalTrainingBox .trainerBox .leftSet h2 {
    font-size: 22px;
    margin-bottom: 14px;
  }

  .personalTrainingWrapper .personalTrainingBox .trainerBox .trainerImg {
    height: auto;
    min-height: 200px;
    aspect-ratio: 4/3;
    padding: 0;
    border-radius: 22px;
  }

  .personalTrainingWrapper .personalTrainingBox .trainerBox .rightSet h4 {
    font-size: 15px;
  }

  .personalTrainingWrapper .personalTrainingBox .trainerBox .rightSet p {
    font-size: 14px;
  }
}

@media only screen and (max-width: 576px) {
  .personalTrainingWrapper {
    padding: 40px 0;
  }

  .personalTrainingWrapper .personalTrainingBox {
    border-radius: 20px;
    padding: 24px 16px;
  }

  .personalTrainingWrapper .personalTrainingBox h2 {
    font-size: 15px;
  }

  .personalTrainingWrapper .personalTrainingBox h3 {
    font-size: clamp(1.35rem, 5vw, 1.75rem);
    margin-top: 18px;
  }

  .personalTrainingWrapper .personalTrainingBox .trainerBox {
    padding: 20px 16px;
    margin-top: 32px;
    border-radius: 20px;
    gap: 18px;
  }

  .personalTrainingWrapper .personalTrainingBox .trainerBox .leftSet h2 {
    font-size: 1.25rem;
  }

  .personalTrainingWrapper .personalTrainingBox .trainerBox .trainerImg {
    min-height: 180px;
    border-radius: 18px;
  }

  .personalTrainingWrapper .personalTrainingBox .trainerBox .rightSet h4 {
    padding: 8px 16px;
    font-size: 14px;
  }

  .personalTrainingWrapper .personalTrainingBox .trainerBox .rightSet p {
    font-size: 13px;
  }

  .personalTrainingWrapper .cmnBtn {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    margin-top: 20px;
  }
}

.facilitiesWrapper {
  padding: 0px 0 40px 0;
  background-color: #fff;
}

.facilitiesWrapper .facilitiesBox {
  border-radius: 50px;
  overflow: hidden;
}

.facilitiesWrapper .facilitiesBox .head {
  padding: 50px;
  background-color: #597954;
}

.facilitiesWrapper .facilitiesBox .head h2 {
  font-size: 60px;
  font-weight: 400;
  max-width: 500px;
  text-align: center;
  margin: 0 auto;
}

.facilitiesWrapper .facilitiesBox .head h3 {
  font-size: 16px;
  font-weight: 100;
  max-width: 475px;
  line-height: 1.5;
  margin: 30px auto 0 auto;
  text-align: center;
}

.facilitiesWrapper .facilitiesBox .facilitiesImgWrap {
  background-image: url("../assets/facilities.avif");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;

  padding: 200px 50px 30px 50px;
  display: flex;
  flex-direction: column;
  justify-content: end;

  @media only screen and (max-width: 1199px) {
    padding: 200px 20px 30px 20px;
  }
}

.facilitiesWrapper .facilitiesBox .facilitiesImgWrap .facilitiesList {
  display: flex;
  gap: 40px;
  justify-content: space-between;

}

.facilitiesWrapper .facilitiesBox .facilitiesImgWrap .facilitiesList .box {
  background-color: #061e0e;
  border-radius: 50px;
  text-align: center;
  padding: 30px 20px;
  width: 100%;
}

.facilitiesWrapper .facilitiesBox .facilitiesImgWrap .facilitiesList .box img {
  max-width: 40px;
}

.facilitiesWrapper .facilitiesBox .facilitiesImgWrap .facilitiesList .box h4 {
  font-size: 16px;
  font-weight: 100;
  color: #fff;
  max-width: 121px;
  line-height: 1.5;
  margin: 20px auto 0px;
}

@media only screen and (max-width: 1024px) {
  .facilitiesWrapper {
    padding: 0px 0 40px 0;
  }

  .facilitiesWrapper .facilitiesBox {
    border-radius: 40px;
  }

  .facilitiesWrapper .facilitiesBox .head {
    padding: 40px 28px;
  }

  .facilitiesWrapper .facilitiesBox .head h2 {
    font-size: clamp(2rem, 3vw + 1rem, 3.5rem);
    max-width: 100%;
  }

  .facilitiesWrapper .facilitiesBox .head h3 {
    font-size: 15px;
    max-width: 100%;
    margin-top: 22px;
  }

  .facilitiesWrapper .facilitiesBox .facilitiesImgWrap .facilitiesList {
    gap: 24px;
    margin-bottom: 0px;
    flex-wrap: wrap;
    padding: 0 16px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }

  .facilitiesWrapper .facilitiesBox .facilitiesImgWrap .facilitiesList .box {
    padding: 24px 20px;
    border-radius: 40px;
    width: auto;
  }

  .facilitiesWrapper .facilitiesBox .facilitiesImgWrap .facilitiesList .box h4 {
    max-width: 100px;
  }
}

@media only screen and (max-width: 992px) {
  .facilitiesWrapper {
    padding: 0px 0 36px 0;
  }

  .facilitiesWrapper .facilitiesBox {
    border-radius: 28px;
  }

  .facilitiesWrapper .facilitiesBox .head {
    padding: 32px 20px;
  }

  .facilitiesWrapper .facilitiesBox .head h2 {
    font-size: clamp(1.75rem, 4vw + 0.5rem, 2.5rem);
  }

  .facilitiesWrapper .facilitiesBox .head h3 {
    margin-top: 18px;
  }

  .facilitiesWrapper .facilitiesBox .facilitiesImgWrap {
    height: auto;
    min-height: 380px;
    padding-bottom: 8px;
  }

  .facilitiesWrapper .facilitiesBox .facilitiesImgWrap .facilitiesList {
    justify-content: center;
    gap: 16px;
    margin-bottom: 32px;
    padding: 0 12px 28px;
  }

  .facilitiesWrapper .facilitiesBox .facilitiesImgWrap .facilitiesList .box {

    border-radius: 20px;
  }

  .facilitiesWrapper .facilitiesBox .facilitiesImgWrap .facilitiesList .box h4 {
    max-width: none;
    font-size: 15px;
    margin-top: 14px;
  }

  .facilitiesWrapper .facilitiesBox .facilitiesImgWrap .facilitiesList .box img {
    max-width: 36px;
  }
}

@media only screen and (max-width: 576px) {
  .facilitiesWrapper {
    padding: 0px 0 28px 0;
  }

  .facilitiesWrapper .facilitiesBox {
    border-radius: 20px;
  }

  .facilitiesWrapper .facilitiesBox .head {
    padding: 24px 16px;
  }

  .facilitiesWrapper .facilitiesBox .head h2 {
    font-size: clamp(1.5rem, 5vw, 1.875rem);
  }

  .facilitiesWrapper .facilitiesBox .head h3 {
    font-size: 14px;
    margin-top: 14px;
  }

  .facilitiesWrapper .facilitiesBox .facilitiesImgWrap {
    min-height: 0;
    padding: 20px 0 24px;
  }

  .facilitiesWrapper .facilitiesBox .facilitiesImgWrap .facilitiesList {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-bottom: 0;
    padding: 0 12px 20px;
  }

  .facilitiesWrapper .facilitiesBox .facilitiesImgWrap .facilitiesList .box {
    flex: none;
    max-width: none;
    min-width: 0;
    width: auto;
    padding: 18px 12px;
    border-radius: 22px;
  }

  .facilitiesWrapper .facilitiesBox .facilitiesImgWrap .facilitiesList .box img {
    max-width: 32px;
  }

  .facilitiesWrapper .facilitiesBox .facilitiesImgWrap .facilitiesList .box h4 {
    font-size: 13px;
    margin-top: 10px;
    line-height: 1.35;
  }

  .facilitiesWrapper .facilitiesBox .facilitiesImgWrap .facilitiesList .box:nth-child(5) {
    grid-column: 1/-1;
    justify-self: center;
    width: min(100%, 220px);
  }
}

.mobileAppWrapper {
  padding: 50px 0 100px 0;
  overflow-x: hidden;
  background-color: #d3dbd3;
  position: relative;
}

.mobileAppWrapper::before {
  content: "";
  position: absolute;
  bottom: -20%;
  left: 0;
  width: 100vw;
  height: 300px;
  border-radius: 50%;
  background-color: #fff;
}

.mobileAppWrapper .head {
  margin-bottom: 70px;
  text-align: center;
}

.mobileAppWrapper .head h2 {
  font-size: 20px;
  font-weight: 100;
}

.mobileAppWrapper .head h3 {
  margin-top: 20px;
  font-size: 14px;
  font-weight: 100;
}

.mobileAppWrapper .mobileAppBox {
  background-image: url("../assets/mobile-app.avif");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  max-width: 350px;
  height: 600px;
  border-radius: 20px;
  margin: 0 auto;
  position: relative;
  border: 2px solid #061e0e;
}

.mobileAppWrapper .mobileAppBox .mobileAppMarquee-sr {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.mobileAppWrapper .mobileAppBox .mobileAppMarquee {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: -1;
  width: 100vw;
  transform: translate(-50%, -50%);
  pointer-events: none;
}

.mobileAppWrapper .mobileAppBox .mobileAppMarquee__viewport {
  overflow: hidden;
  width: 100%;
}

.mobileAppWrapper .mobileAppBox .mobileAppMarquee__track {
  display: flex;
  width: -moz-max-content;
  width: max-content;
  will-change: transform;
  animation: mobileAppMarqueeX 85s linear infinite;
}

.mobileAppWrapper .mobileAppBox .mobileAppMarquee__sequence {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  gap: clamp(1.5rem, 4vw, 3.5rem);
}

.mobileAppWrapper .mobileAppBox .mobileAppMarquee__sequence span {
  font-size: clamp(80px, 18vw, 200px);
  font-weight: 400;
  line-height: 1;
  white-space: nowrap;
}

@keyframes mobileAppMarqueeX {
  to {
    transform: translateX(-50%);
  }
}

@media (prefers-reduced-motion: reduce) {
  .mobileAppWrapper .mobileAppBox .mobileAppMarquee__track {
    animation: none;
  }
}

.mobileAppWrapper .mobileAppBox .contentBox {
  position: absolute;
  top: 30%;
  left: -60px;
  background-color: #597954;
  padding: 12px;
  border-radius: 15px;
}

.mobileAppWrapper .mobileAppBox .contentBox h2 {
  font-size: 14px;
  font-weight: 100;
  text-align: center;
  line-height: 1.5;
  max-width: 140px;
}

.mobileAppWrapper .mobileAppBox .contentBox:nth-child(2) {
  top: 45%;
  right: -60px;
  left: unset;
}

.mobileAppWrapper .mobileAppBox .contentBox:nth-child(2) h2 {
  max-width: 140px;
}

.mobileAppWrapper .mobileAppBox .contentBox:nth-child(3) {
  bottom: 30%;
  top: unset;
  left: -80px;
  background-color: #061e0e;
}

.mobileAppWrapper .mobileAppBox .contentBox:nth-child(3) h2 {
  max-width: unset;
  color: #fff;
}

.mobileAppWrapper .mobileAppBox .contentBox:nth-child(4) {
  bottom: 10%;
  top: unset;
  right: -60px;
  left: unset;
  background-color: #061e0e;
}

.mobileAppWrapper .mobileAppBox .contentBox:nth-child(4) h2 {
  color: #fff;
  max-width: 120px;
}

.mobileAppWrapper .mobileAppBox .mobileAppStoreBtns {
  position: absolute;
  left: 50%;
  top: 18px;
  transform: translateX(-50%);
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: calc(100% - 28px);
  max-width: 210px;
  pointer-events: auto;
}

.mobileAppWrapper .mobileAppBox .mobileAppStoreBtns .storeBtn {
  min-width: 0;
  width: 100%;
  box-sizing: border-box;
  align-items: center;
  text-align: center;
}

@media only screen and (max-width: 1024px) {
  .mobileAppWrapper {
    padding: 40px 0 72px 0;
  }

  .mobileAppWrapper .head {
    margin-bottom: 96px;
  }

  .mobileAppWrapper .head h2 {
    font-size: 18px;
  }

  .mobileAppWrapper .head h3 {
    font-size: 15px;
    margin-top: 16px;
  }

  .mobileAppWrapper .mobileAppBox {
    height: 560px;
    max-width: min(100%, 340px);
  }

  .mobileAppWrapper .mobileAppBox .mobileAppMarquee__sequence span {
    font-size: clamp(64px, 16vw, 160px);
  }

  .mobileAppWrapper .mobileAppBox .contentBox {
    padding: 18px 16px;
  }

  .mobileAppWrapper .mobileAppBox .contentBox h2 {
    font-size: 15px;
  }
}

@media only screen and (max-width: 992px) {
  .mobileAppWrapper {
    padding: 32px 0 56px 0;
  }

  .mobileAppWrapper .head {
    margin-bottom: 56px;
  }

  .mobileAppWrapper .mobileAppBox {
    height: 540px;
    max-width: min(100%, 320px);
  }

  .mobileAppWrapper .mobileAppBox .contentBox:nth-child(1) {
    left: -36px;
  }

  .mobileAppWrapper .mobileAppBox .contentBox:nth-child(2) {
    right: -36px;
  }

  .mobileAppWrapper .mobileAppBox .contentBox:nth-child(3) {
    left: -44px;
  }

  .mobileAppWrapper .mobileAppBox .contentBox:nth-child(4) {
    right: -36px;
  }
}

@media only screen and (max-width: 576px) {
  .mobileAppWrapper {
    padding: 28px 0 48px 0;
  }

  .mobileAppWrapper .head {
    margin-bottom: 36px;
    padding: 0 4px;
  }

  .mobileAppWrapper .head h2 {
    font-size: 17px;
  }

  .mobileAppWrapper .head h3 {
    font-size: 14px;
    margin-top: 12px;
    line-height: 1.45;
  }

  .mobileAppWrapper .mobileAppBox {
    height: auto;
    min-height: 520px;
    max-width: min(100%, 300px);
    width: 100%;
    border-radius: 18px;
  }

  .mobileAppWrapper .mobileAppBox .mobileAppMarquee__sequence span {
    font-size: clamp(52px, 14vw, 120px);
  }

  .mobileAppWrapper .mobileAppBox .contentBox {
    padding: 14px 12px;
    border-radius: 12px;
    max-width: min(200px, 100% - 8px);
  }

  .mobileAppWrapper .mobileAppBox .contentBox h2 {
    font-size: 14px;
    max-width: 140px;
  }

  .mobileAppWrapper .mobileAppBox .contentBox:nth-child(1) {
    top: 25%;
    left: -25px;
    right: auto;
  }

  .mobileAppWrapper .mobileAppBox .contentBox:nth-child(2) {
    top: 45%;
    right: -28px;
    left: auto;
  }

  .mobileAppWrapper .mobileAppBox .contentBox:nth-child(3) {
    bottom: 26%;
    top: unset;
    left: -25px;
    right: auto;
  }

  .mobileAppWrapper .mobileAppBox .contentBox:nth-child(4) {
    bottom: 8%;
    top: unset;
    right: -25px;
    left: auto;
  }

  .mobileAppWrapper .mobileAppBox .mobileAppStoreBtns {
    bottom: 12px;
    width: calc(100% - 20px);
    max-width: 200px;
  }

  .mobileAppWrapper .mobileAppBox .mobileAppStoreBtns .storeBtn {
    padding: 7px 12px;
  }

  .mobileAppWrapper .mobileAppBox .mobileAppStoreBtns .storeBtn__big {
    font-size: 15px;
  }

  .mobileAppWrapper .mobileAppBox .mobileAppStoreBtns .storeBtn__small {
    font-size: 9px;
  }
}

.siteFooter {
  background-color: #0d2a16;
  color: #fff;
}

.footerTop {
  padding: 25px 0 20px;

}

.footerTopInner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
}

.footerBrand {
  font-size: 17px;
  font-weight: 500;
  letter-spacing: 1px;
  color: #fff;
}

.footerSocial {
  display: flex;
  gap: 40px;
}

.footerSocial a {
  color: #fff;
  text-decoration: underline;
  text-underline-offset: 4px;
  font-size: 14px;
  font-weight: 400;
  transition: opacity 0.2s ease;
}

.footerSocial a:hover {
  opacity: 0.75;
}

.footerNewsletter {
  padding: 60px 0 40px;
}

.footerNewsletter h2 {
  color: #fff;
  font-size: 60px;
  font-weight: 500;
  line-height: 1.2;
  margin-bottom: 36px;
}

.newsletterForm {
  width: 100%;
}

.newsletterRow {
  display: flex;
  align-items: flex-end;
  gap: 30px;
  flex-wrap: wrap;
}

.newsletterField {
  flex: 1 1 400px;
  display: flex;
  flex-direction: column;
}

.newsletterField label {
  font-size: 13px;
  color: #fff;
  margin-bottom: 8px;
  font-weight: 400;
}

.newsletterField input {
  background: transparent;
  border: none;
  border-bottom: 1px solid rgba(255, 255, 255, 0.7);
  padding: 10px 2px;
  color: #fff;
  font-size: 15px;
  font-family: "Montserrat", sans-serif;
  outline: none;
}

.newsletterField input:focus {
  border-bottom-color: #fff;
}

.newsletterSubmit {
  background-color: #e9ece0;
  color: #0d2a16;
  border: none;
  border-radius: 35px;
  padding: 12px 0;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  flex: 1 1 320px;
  min-width: 280px;
  transition: background-color 0.2s ease;
}

.newsletterSubmit:hover {
  background-color: #fff;
}

.newsletterCheck {
  display: flex;
  align-items: center;
  gap: 10px;

  font-size: 15px;
  color: #fff;
  font-weight: 400;
  cursor: pointer;
}

.newsletterCheck input {
  width: 14px;
  height: 14px;
  accent-color: #fff;
}

.footerInfo {
  padding: 40px 0 60px;
  max-width: 1300px;
  margin: 0 auto;

  @media only screen and (max-width: 992px) {
    padding: 10px 0 30px;
    max-width: 100%;
  }
}

.footerInfoGrid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 40px;
}

.footerLinks,
.footerCol ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footerLinks li,
.footerCol ul li {
  margin-bottom: 10px;
}

.footerLinks1 {
  padding-top: 38px !important;

  @media only screen and (max-width: 767px) {
    padding-top: 0px !important;
  }
}

.footerLinks a,
.footerCol a {
  color: #fff;
  text-decoration: none;
  font-size: 14px;
  font-weight: 400;
  transition: opacity 0.2s ease;
}

.footerLinks a:hover,
.footerCol a:hover {
  opacity: 0.75;
  text-decoration: underline;
}

.footerCol h4 {
  font-size: 20px;
  font-weight: 500;
  color: #fff;
  margin-bottom: 14px;
}

.footerCol p {
  font-size: 14px;
  line-height: 1.5;
  color: #fff;
  font-weight: 400;
}

.footerKettleBell {
  position: relative;
  width: 100%;

  overflow: hidden;
  border-top-left-radius: 20px;
  border-top-right-radius: 20px;
  button{
background: transparent;
  border: none;
  }

  img {
    border-radius: 30px;
  }
}

.footerKettleBell img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  display: block;

  @media only screen and (max-width: 767px) {
    height: 193px;
  }
}

.footerStoreBtns {
  position: absolute;
  right: 80px;
  bottom: 24px;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 10px;
  pointer-events: auto;

  @media only screen and (max-width: 767px) {
    right: 40px !important;
  }
}

.storeBtn {
  background-color: #000;
  color: #fff;
  text-decoration: none;
  border-radius: 8px;
  padding: 8px 16px;
  display: inline-flex;
  flex-direction: column;
  line-height: 1.1;
  min-width: 140px;
  transition: background-color 0.2s ease;
}

.storeBtn:hover {
  background-color: #1a1a1a;
}

.storeBtn__small {
  font-size: 10px;
  font-weight: 400;
  letter-spacing: 0.5px;
}

.storeBtn__big {
  font-size: 16px;
  font-weight: 600;
  margin-top: 2px;
}

.footerCopy {
  padding: 24px 0;
  text-align: center;

  background-color: #0d2a16;
}

.footerCopy p {
  color: #fff;
  font-size: 12px;
  font-weight: 400;
}

@media only screen and (max-width: 992px) {
  body {
    overflow-x: clip;
  }

  .mainNavbar .headWrap {
    height: 64px;
  }

  .mainNavbar .headWrap .box img {
    height: 46px;
  }

  .mainNavbar .headWrap .box button img {
    height: 17px;
  }

  .footerNewsletter {
    padding: 20px 0 36px;
  }

  .footerNewsletter h2 {
    font-size: clamp(1.5rem, 3.5vw + 0.5rem, 2.125rem);
    margin-bottom: 28px;
  }

  .newsletterRow {
    gap: 20px;
  }

  .newsletterSubmit {
    flex: 1 1 100%;
    min-width: 0;
    max-width: 100%;
  }

  .footerInfoGrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px;
  }

  .footerSocial {
    flex-wrap: wrap;
    gap: 20px 28px;
    justify-content: flex-start;
  }
}

@media only screen and (max-width: 576px) {
  .mainContainer {
    padding: 0 16px;
  }

  .mainNavbar .headWrap {
    height: 60px;
  }

  .mainNavbar .headWrap .box img {
    height: 42px;
  }

  .footerTop {
    padding: 20px 0 16px;
  }

  .footerTopInner {
    flex-direction: column;
    align-items: flex-start;
  }

  .footerSocial {
    gap: 12px 20px;
  }

  .footerNewsletter {
    padding: 36px 0 28px;
  }

  .footerNewsletter h2 {
    font-size: clamp(1.35rem, 5vw, 1.75rem);
    margin-bottom: 22px;
  }

  .newsletterRow {
    flex-direction: column;
    align-items: stretch;
    gap: 16px;
  }

  .newsletterField {
    flex: 1 1 auto;
  }

  .newsletterSubmit {
    width: 100%;
    padding: 14px 20px;
  }

  .newsletterCheck {
    font-size: 12px;
    align-items: flex-start;
  }

  .footerInfo {
    padding: 32px 0 48px;
  }

  .footerInfoGrid {
    grid-template-columns: 1fr;
    gap: 28px;
  }



  .footerCopy {
    padding: 20px 12px;
  }

  .footerCopy p {
    font-size: 11px;
    line-height: 1.4;
  }
}

/*# sourceMappingURL=styles.css.map */








/* ==========================================================================
   PLANS PAGE
   ========================================================================== */

.plansPage {
  padding-top: 70px;
  background-color: #fff;
}

/* ---------- Hero ---------- */
.plansHero {
  position: relative;
  width: 100%;
  min-height: 860px;

  background: url(../assets/plans-img1.jpg);
  background-size: cover;
  background-position: center right;
  background-repeat: no-repeat;
  background-color: #8d7761;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 80px 20px 120px;
  box-sizing: border-box;
}

.plansHeroInner {
  width: 100%;
  max-width: 900px;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.plansHeroHead {
  text-align: center;
  color: #fff;
  margin-bottom: 40px;
}

.plansHeroHead h1 {
  font-size: 72px;
  font-style: italic;
  font-weight: 900;
  letter-spacing: 1px;
  color: #fff;
  line-height: 1;
  text-transform: uppercase;
}

.plansHeroHead p {
  margin-top: 16px;
  font-size: 18px;
  font-weight: 300;
  color: #fff;
}

.plansHeroCard {
  width: 100%;
  max-width: 420px;
}

.planCard {
  background-color: #7a9272;
  border-radius: 35px;
  padding: 40px 36px;
  text-align: center;
  color: #0a2a16;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.12);
}

.planCard__title {
  font-size: 18px;
  font-weight: 400;
  color: #0a2a16;
  margin-bottom: 10px;
}

.planCard__price {
  display: inline-flex;
  align-items: flex-start;
  justify-content: center;
  color: #0a2a16;
  margin-bottom: 20px;
}

.planCard__currency {
  font-size: 22px;
  font-weight: 600;
  margin-top: 6px;
  margin-right: 2px;
}

.planCard__amount {
  font-size: 56px;
  font-weight: 700;
  line-height: 1;
}

.planCard__desc {
  font-size: 13px;
  font-weight: 400;
  line-height: 1.55;
  color: #0a2a16;
  max-width: 300px;
  margin: 0 auto 28px;
}

.planCard__select {
  background-color: #061e0e;
  color: #fff;
  border: none;
  border-radius: 35px;
  font-size: 15px;
  font-weight: 400;
  padding: 12px 60px;
  cursor: pointer;
  transition: background-color 0.2s ease, transform 0.2s ease;
}

.planCard__select:hover {
  background-color: #0a2e18;
  transform: translateY(-1px);
}

.planCard__feature {
  margin-top: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 400;
  color: #0a2a16;
}

.planCard__check {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #0a2a16;
}

/* ---------- Testimonial ---------- */
.testimonialSection {
  padding: 60px 0;
  background-color: #fff;
}

.testimonialHead {
  background: url(../assets/testmonial-banner.jpg);

  background-size: cover;
  background-position: center;
  background-color: #2d2520;
  border-top-left-radius: 20px;
  border-top-right-radius: 20px;
  padding: 70px 30px;
  text-align: center;
}

.testimonialHead h2 {
  color: #fff;
  font-size: 40px;
  font-weight: 500;
}

.testimonialSlider {
  background-color: #d8dfd5;
  border-bottom-left-radius: 20px;
  border-bottom-right-radius: 20px;
  overflow: hidden;
}

.testimonialViewport {
  overflow: hidden;
  width: 100%;
}

.testimonialTrack {
  display: flex;
  will-change: transform;
  transition: transform 0.5s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.testimonialSlide {
  flex: 0 0 100%;
  min-width: 0;
  box-sizing: border-box;
  padding: 40px 40px 20px;
  display: flex;
  align-items: center;
  gap: 40px;
}

.testimonialLeft {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex-shrink: 0;
}

.testimonialAvatar {
  width: 268px;

  border-radius: 60px;
  overflow: hidden;
  background-color: #c0c9bb;
}

.testimonialAvatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.testimonialName {
  margin-top: 14px;
  font-size: 14px;
  font-weight: 400;
  color: #0a2a16;
}

.testimonialRight {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 30px;
  min-width: 0;
}

.testimonialQuote {
  font-size: 34px;
  line-height: 1.4;
  font-weight: 400;
  color: #0a2a16;
  margin: 0;
}

.testimonialArrows {
  display: flex;
  gap: 30px;
  justify-content: center;
  padding: 0 40px 30px;
}

.testimonialArrow {
  background: transparent;
  border: none;
  cursor: pointer;
  color: #0a2a16;
  padding: 4px;
  transition: transform 0.2s ease, opacity 0.2s ease;
}

.testimonialArrow:hover {

  opacity: 0.8;
}

/* ---------- Footer ---------- */


/* ==========================================================================
   BOOK A CLASS PAGE
   ========================================================================== */

.bookClassPage {
  padding-top: 70px;
  background-color: #fff;
}

.bookClassHero {
  position: relative;
  width: 100%;
  min-height: 1200px;
  background: url(../assets/book-class-img.jpg);
  background-size: cover;
  background-position: center right;
  background-repeat: no-repeat;

  padding: 60px 0px 120px;
  box-sizing: border-box;
}

.bookClassHeroInner {
  width: 100%;

  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.bookClassHeroHead {
  color: #fff;
}

.bookClassHeroHead h1 {
  font-size: 72px;
  font-style: italic;
  font-weight: 900;
  letter-spacing: 1px;
  color: #fff;
  line-height: 1;
  text-transform: uppercase;
}

.bookClassHeroHead p {
  margin-top: 14px;
  font-size: 18px;
  font-weight: 300;
  color: #fff;
}

/* ---------- Booking widget ---------- */
.bookingWidget {
  background-color: #597954;
  border-radius: 35px;
  padding: 56px 63px 43px;
  color: #0a2a16;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.12);
}

.bookingToolbar {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 14px;
  padding: 6px 4px 10px;
}

.bookingToolbar__label {
  font-size: 14px;
  font-weight: 400;
  color: rgba(10, 42, 22, 0.5);
}

.bookingService {
  position: relative;
  display: inline-block;
}

.bookingService__trigger {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 400;
  font-family: "Montserrat", sans-serif;
  color: #0a2a16;
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 6px 10px;
  border-radius: 8px;
  transition: background-color 0.2s ease;
}

.bookingService__trigger:hover {
  background-color: rgba(10, 42, 22, 0.08);
}

.bookingService__trigger:focus-visible {
  outline: 2px solid #0a2a16;
  outline-offset: 2px;
}

.bookingService__chevron {
  margin-top: 1px;
  transition: transform 0.2s ease;
}

.bookingService.is-open .bookingService__chevron {
  transform: rotate(180deg);
}

.bookingService__menu {
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  width: 300px;
  max-height: 320px;
  overflow-y: auto;
  background-color: #6a8263;
  border: 1px solid rgba(10, 42, 22, 0.25);
  border-radius: 10px;
  box-shadow: 0 14px 36px rgba(0, 0, 0, 0.22);
  padding: 10px 0;
  margin: 0;
  list-style: none;
  z-index: 20;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-6px);
  transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s ease;
}

.bookingService.is-open .bookingService__menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.bookingService__menu::-webkit-scrollbar {
  width: 6px;
}

.bookingService__menu::-webkit-scrollbar-track {
  background: transparent;
}

.bookingService__menu::-webkit-scrollbar-thumb {
  background-color: rgba(10, 42, 22, 0.35);
  border-radius: 3px;
}

.bookingService__item {
  padding: 0;
  margin: 0;
}

.bookingService__item label {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 10px 18px;
  cursor: pointer;
  font-size: 14px;
  font-weight: 400;
  color: #0a2a16;
  line-height: 1.35;
  transition: background-color 0.15s ease;
}

.bookingService__item label:hover {
  background-color: rgba(10, 42, 22, 0.08);
}

.bookingService__item input[type="checkbox"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.bookingService__box {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  margin-top: 1px;
  border: 1.5px solid #0a2a16;
  border-radius: 3px;
  background-color: transparent;
  position: relative;
  transition: background-color 0.15s ease, border-color 0.15s ease;
}

.bookingService__item input[type="checkbox"]:checked+.bookingService__box {
  background-color: #0a2a16;
}

.bookingService__item input[type="checkbox"]:checked+.bookingService__box::after {
  content: "";
  position: absolute;
  left: 5px;
  top: 1px;
  width: 5px;
  height: 10px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

.bookingService__item input[type="checkbox"]:focus-visible+.bookingService__box {
  outline: 2px solid #fff;
  outline-offset: 2px;
}

.bookingService__text {
  flex: 1;
  word-break: break-word;
}

.bookingMonthNav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 28px;
  padding-bottom: 14px;
}

.bookingMonthBtn {
  background: transparent;
  border: none;
  color: #0a2a16;
  cursor: pointer;
  padding: 6px;
  border-radius: 50%;
  transition: background-color 0.2s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.bookingMonthBtn:hover {
  background-color: rgba(10, 42, 22, 0.1);
}

.bookingMonthLabel {
  font-size: 15px;
  font-weight: 400;
  color: #0a2a16;
  min-width: 110px;
  text-align: center;
}

.bookingGrid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 0;
  padding-top: 10px;
}

.bookingGrid.is-slide-left {
  animation: bookingSlideLeft 0.32s ease;
}

.bookingGrid.is-slide-right {
  animation: bookingSlideRight 0.32s ease;
}

@keyframes bookingSlideLeft {
  0% {
    transform: translateX(40px);
    opacity: 0;
  }

  100% {
    transform: translateX(0);
    opacity: 1;
  }
}

@keyframes bookingSlideRight {
  0% {
    transform: translateX(-40px);
    opacity: 0;
  }

  100% {
    transform: translateX(0);
    opacity: 1;
  }
}

.bookingDay {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  text-align: center;
}

.bookingDay__header {
  padding: 12px 6px 18px;
}

.bookingDay__name {
  font-size: 13px;
  font-weight: 400;
  color: #0a2a16;
  opacity: 0.65;
  margin-bottom: 4px;
}

.bookingDay__num {
  font-size: 19px;
  font-weight: 400;
  color: #0a2a16;
  opacity: 0.9;
}

.bookingDay--active .bookingDay__name,
.bookingDay--active .bookingDay__num {
  color: #c85a2b;
  opacity: 1;
  font-weight: 500;
}

.bookingDay--past .bookingDay__name,
.bookingDay--past .bookingDay__num {
  opacity: 0.4;
}

.bookingSlot {
  background-color: transparent;
  border-right: 1px solid rgba(10, 42, 22, 0.22);
  border-top: 1px solid rgba(10, 42, 22, 0.22);
  border-bottom: 1px solid rgba(10, 42, 22, 0.22);
  padding: 18px 12px 16px;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 8px;
  min-height: 210px;
  text-align: center;
}

.bookingDay:first-child .bookingSlot {
  border-left: 1px solid rgba(10, 42, 22, 0.18);
}

.bookingSlot__time {
  font-size: 13px;
  font-weight: 500;
  color: #0a2a16;
}

.bookingSlot__title {
  font-size: 13px;
  font-weight: 500;
  line-height: 1.35;
  color: #0a2a16;
  padding: 0 2px;
}

.bookingSlot__meta {
  margin-top: 4px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  color: #0a2a16;
  opacity: 0.45;
  font-size: 11px;
  line-height: 1.35;
  font-weight: 400;
}

.bookingDay--past .bookingSlot__meta {
  opacity: 0.35;
}

.bookingSlot__btn {
  margin-top: auto;
  width: 100%;
  background-color: #061e0e;
  color: #fff;
  border: none;
  border-radius: 35px;
  font-size: 13px;
  font-weight: 400;
  padding: 9px 10px;
  cursor: pointer;
  transition: background-color 0.2s ease, transform 0.2s ease;
}

.bookingSlot__btn:hover {

  background: #fff;
  color: #0a2a16;

}

.bookingSlot__btn:disabled {
  background-color: #a8afa0;
  color: #f2f2ef;
  cursor: not-allowed;
  transform: none;
}

/* ---------- Responsive ---------- */
@media only screen and (max-width: 1200px) {
  .bookingGrid {
    grid-template-columns: repeat(4, 1fr);
    gap: 14px 0;
  }

  .bookingDay .bookingSlot {
    border-left: 1px solid rgba(10, 42, 22, 0.18);
  }
}

@media only screen and (max-width: 768px) {
  .bookClassHero {
    padding: 40px 0px 50px;
    min-height: auto;
    background-position: center top;
  }

  .bookClassHeroHead h1 {
    font-size: 44px;
  }

  .bookingWidget {
    padding: 20px 16px 24px;
  }

  .bookingToolbar {
    flex-wrap: wrap;
    justify-content: center;
  }

  .bookingGrid {
    grid-template-columns: repeat(2, 1fr);
    gap: 14px 0;
  }

  .bookingMonthLabel {
    font-size: 14px;
  }
}

@media only screen and (max-width: 480px) {
  .bookClassHeroHead h1 {
    font-size: 34px;
  }

  .bookingGrid {
    grid-template-columns: 1fr;
    gap: 10px 0;
  }
}

/* ==========================================================================
   TRAINERS PAGE
   ========================================================================== */

.trainersPage {
  padding-top: 70px;
  background-color: #fff;
}

/* ---------- Hero ---------- */
.trainersHero {
  position: relative;
  width: 100%;

  background: url(../assets/traniers-bg.jpg);
  background-position: center;
  background-repeat: no-repeat;
  background-color: #3b352c;
  display: flex;
  align-items: flex-start;
  padding: 90px 60px 120px;
  box-sizing: border-box;
  height: 100dvh;
}

.trainersHeroInner {
  max-width: 560px;
  color: #fff;
}

.trainersHeroInner h1 {
  font-size: 58px;
  font-style: italic;
  font-weight: 900;
  letter-spacing: 1px;
  color: #fff;
  line-height: 1;
  text-transform: uppercase;
}

.trainersHeroInner p {
  margin-top: 20px;
  font-size: 15px;
  font-weight: 400;
  color: #fff;
  line-height: 1.5;
  max-width: 420px;
}

/* ---------- Grid ---------- */
.trainersGrid {
  background-color: #fff;
  padding: 60px 0 40px;

}

.trainersGrid__inner {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
  perspective: 1500px;
}

.trainerCard {
  position: relative;
  width: 100%;
  max-width: 696px;
  aspect-ratio: 660 / 748;
  margin: 0 auto;
  overflow: hidden;
  background-color: #a08571;
  border-radius: 60px;
  transform: rotateY(var(--flip, 0deg)) translateY(var(--lift, 0px));
  transform-style: preserve-3d;
  backface-visibility: hidden;
  transition: transform 0.25s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: transform;
}

.trainerCard:hover {

  transition: transform 0.25s ease;
}

.trainerCard img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.trainerCard__name {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 33px 24px;
  text-align: center;
  background-color: rgba(255, 255, 255, 0.47);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  color: #0a2a16;
  font-size: 20px;
  font-weight: 500;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  z-index: 2;
}

.trainerCard__icon {
  position: absolute;
  top: 16px;
  right: 18px;
  width: 34px;
  height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
  filter: drop-shadow(0 1px 6px rgba(0, 0, 0, 0.4));
  animation: trainerIconSpin 3s ease-in-out infinite alternate;
  transform-origin: 50% 50%;
}

@keyframes trainerIconSpin {
  0% {
    transform: rotateY(0deg);
  }

  100% {
    transform: rotateY(180deg);
  }
}

.trainersGrid__cta {
  margin-top: 40px;
  display: flex;
  justify-content: center;
}

.trainersBookBtn {
  background-color: #061e0e;
  color: #fff;
  border: none;
  border-radius: 35px;
  padding: 12px 48px;
  font-size: 14px;
  font-weight: 400;
  text-decoration: none;
  cursor: pointer;
  display: inline-block;
  transition: background-color 0.2s ease, transform 0.2s ease;
}

.trainersBookBtn:hover {
  background-color: #0d3018;
  transform: translateY(-1px);
}

/* ---------- Stories ---------- */
.storiesSection {
  background-color: #6e8866;
  padding: 80px 0 100px;
}

.storiesSection__title {
  font-size: 48px;
  font-weight: 400;
  color: #0a2a16;
  text-align: center;
  margin-bottom: 40px;
}

.storiesSlider {

  margin: 0 auto;
  background-color: #d8dfd5;
  border-radius: 40px;
  padding: 90px 60px 70px;
  position: relative;
}

.storiesViewport {
  overflow: hidden;
  width: 100%;
}

.storiesTrack {
  display: flex;
  will-change: transform;
  transition: transform 0.5s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.storiesSlide {
  flex: 0 0 100%;
  min-width: 0;
  box-sizing: border-box;
  padding: 0 20px;
  text-align: center;
  color: #0a2a16;
    @media only screen and (max-width: 570px) {
  padding: 0 0px;
    }
      img{
 border-radius: 20px;
  overflow: hidden;
  max-width: 400px!important;
  margin-bottom: 35px;
  @media only screen and (max-width: 570px) {
  max-width: 100%!important;
  }
    }
}

.storiesSlide__label {
  font-size: 17px;
  font-weight: 400;
  color: #0a2a16;
  margin-bottom: 26px;
}

.storiesSlide__quote {
  font-size: 27px;
  font-weight: 400;
  line-height: 1.35;
  color: #0a2a16;
  margin: 0 auto 28px;
  max-width: 920px;
}

.storiesSlide__name {
  font-size: 14px;
  color: #0a2a16;
  font-weight: 400;
}

.storiesArrows {
  display: flex;
  gap: 40px;
  justify-content: center;
  margin-top: 50px;
}

.storiesArrow {
  background: transparent;
  border: none;
  cursor: pointer;
  color: #0a2a16;
  padding: 4px;
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.storiesArrow:hover {
  opacity: 0.7;
  transform: translateY(-1px);
}

/* ---------- Responsive ---------- */
@media only screen and (max-width: 992px) {
  .trainersHero {
    padding: 70px 24px 100px;
    min-height: 400px;
  }

  .trainersHeroInner h1 {
    font-size: 42px;
  }

  .trainersGrid__inner {
    gap: 20px;
  }

  .storiesSection {
    padding: 60px 0 80px;
  }

  .storiesSection__title {
    font-size: 32px;
  }

  .storiesSlide__quote {
    font-size: 22px;
  }

  .storiesSlide__label {
    font-size: 15px;
  }

  .storiesSlider {
    padding: 20px 28px 20px;
    border-radius: 30px;


  }

  .storiesArrows {
    margin-top: 32px;
  }
}

@media only screen and (max-width: 600px) {
  .trainersHeroInner h1 {
    font-size: 32px;
  }

  .trainersGrid {
    padding: 40px 0 30px;

  }

  .trainersGrid__inner {
    grid-template-columns: 1fr;
    gap: 18px;
  }

}

/* ==========================================================================
   BOOKING CALENDAR PAGE
   ========================================================================== */

.bookingCalendarPage {
  padding-top: 70px;
  background-color: #fff;
}

.scheduleSection {
  background-color: #fff;
  padding: 0px 0px 80px;
}

.scheduleSection__inner {
  max-width: 1440px;
  margin: 0 auto;
  background-color: #0b2618;
  color: #fff;
  border-radius: 20px;
  padding: 40px 60px 60px;
  box-sizing: border-box;
}

/* Top bar: Back + store buttons */
.scheduleSection__top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 20px;
  margin-bottom: 30px;
}

.scheduleSection__back {
  background: transparent;
  border: none;
  color: #fff;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  padding: 4px 0;
  font-size: 15px;
  font-weight: 400;
  opacity: 0.9;
  transition: opacity 0.2s ease;
}

.scheduleSection__back:hover {
  opacity: 1;
}

.scheduleSection__storeBtns {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.scheduleStoreBtn {
  background-color: #000;
  color: #fff;
  text-decoration: none;
  border-radius: 8px;
  padding: 6px 14px;
  display: inline-flex;
  flex-direction: column;
  line-height: 1.1;
  min-width: 130px;
  transition: background-color 0.2s ease;
}

.scheduleStoreBtn:hover {
  background-color: #1a1a1a;
}

.scheduleStoreBtn__small {
  font-size: 9px;
  font-weight: 400;
  letter-spacing: 0.5px;
}

.scheduleStoreBtn__big {
  font-size: 14px;
  font-weight: 600;
  margin-top: 1px;
}

/* Title block */
.scheduleSection__header {
  margin-bottom: 50px;
  max-width: 780px;
}

.scheduleSection__header h1 {
  font-size: 56px;
  font-weight: 400;
  color: #fff;
  line-height: 1.05;
  letter-spacing: -0.5px;
}

.scheduleSection__header p {
  margin-top: 16px;
  font-size: 14px;
  font-weight: 400;
  color: #fff;
  opacity: 0.8;
  line-height: 1.5;
}

/* Shared grid columns: calendar | availability | service details */
.scheduleHeaderRow,
.scheduleGrid {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr;
  gap: 50px;
}

.scheduleHeaderRow {
  align-items: center;
  padding-bottom: 20px;
  margin-bottom: 36px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}

.scheduleGrid {
  align-items: flex-start;
}

.scheduleCol__heading {
  font-size: 18px;
  font-style: italic;
  font-weight: 700;
  color: #fff;
  margin: 0 0 22px;
  padding-bottom: 5px;
  border-bottom: 1px solid #fff;
}

/* Calendar */
.calendar {
  width: 100%;
  color: #fff;
}

.calendar__nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 28px;
  margin-bottom: 14px;
}

.calendar__navBtn {
  background: transparent;
  border: none;
  color: #fff;
  cursor: pointer;
  padding: 6px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background-color 0.2s ease;
}

.calendar__navBtn:hover {
  background-color: rgba(255, 255, 255, 0.1);
}

.calendar__label {
  font-size: 15px;
  font-weight: 400;
  color: #fff;
  min-width: 140px;
  text-align: center;
}

.calendar__weekdays,
.calendar__days {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 4px 6px;
}

.calendar__weekdays {
  margin-bottom: 10px;
}

.calendar__weekdays span {
  font-size: 12px;
  font-weight: 400;
  color: #fff;
  opacity: 0.7;
  text-align: center;
  padding: 6px 0;
}

.calendar__day {
  background: transparent;
  border: none;
  color: #fff;
  cursor: pointer;
  font-size: 14px;
  font-weight: 400;
  padding: 10px 0;
  border-radius: 50%;
  aspect-ratio: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background-color 0.18s ease, color 0.18s ease;
  font-family: "Montserrat", sans-serif;
}

.calendar__day:hover:not(.is-past):not(.is-selected) {
  background-color: rgba(255, 255, 255, 0.12);
}

.calendar__day.is-past {
  opacity: 0.3;
  cursor: not-allowed;
  pointer-events: none;
}

.calendar__day.is-selected {
  background-color: #d8dfd5;
  color: #0b2618;
  font-weight: 500;
}

.calendar__day--empty {
  pointer-events: none;
}

/* Availability column */
.scheduleTzWrapper {
  position: relative;
  width: 100%;
  text-align: right;
  margin: 0 0 22px;
  padding-bottom: 5px;
  border-bottom: 1px solid #fff;
}

.scheduleTz {
  background: transparent;
  border: none;
  color: #fff;
  font-size: 14px;
  font-weight: 400;
  font-family: "Montserrat", sans-serif;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;

  margin: 0;
  border-radius: 6px;
  opacity: 0.9;
  transition: background-color 0.2s ease, opacity 0.2s ease;
}

.scheduleTz:hover {
  opacity: 1;
  background-color: rgba(255, 255, 255, 0.06);
}

.scheduleTz__chevron {
  transition: transform 0.2s ease;
}

.scheduleTzWrapper.is-open .scheduleTz__chevron {
  transform: rotate(180deg);
}

.scheduleTz__menu {
  position: absolute;
  top: calc(100% - 10px);
  right: 0;
  text-align: left;
  min-width: 280px;
  background-color: #061a10;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 6px;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.4);
  padding: 6px;
  margin: 0;
  list-style: none;
  z-index: 20;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-6px);
  transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s ease;
}

.scheduleTzWrapper.is-open .scheduleTz__menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.scheduleTz__item {
  padding: 12px 16px;
  font-size: 14px;
  font-weight: 400;
  color: #fff;
  cursor: pointer;
  border-radius: 4px;
  transition: background-color 0.15s ease;
}

.scheduleTz__item:hover,
.scheduleTz__item:focus-visible {
  background-color: rgba(255, 255, 255, 0.08);
  outline: none;
}

.scheduleTz__item.is-selected {
  background-color: #1f4a30;
}

.scheduleTz__item.is-selected:hover {
  background-color: #245539;
}

.scheduleTz:hover {
  opacity: 1;
}

.scheduleAvail {
  margin-bottom: 28px;
}

.scheduleAvail__header {
  font-size: 14px;
  color: #fff;
  font-weight: 400;
  margin-bottom: 6px;
}

.scheduleAvail__status {
  font-size: 14px;
  color: #d46a3a;
  font-weight: 400;
}

.scheduleCheckBtn {
  background-color: #d8dfd5;
  color: #0b2618;
  border: none;
  border-radius: 35px;
  padding: 13px 34px;
  font-size: 14px;
  font-weight: 400;
  font-family: "Montserrat", sans-serif;
  cursor: pointer;
  transition: background-color 0.2s ease;
}

.scheduleCheckBtn:hover {
  background-color: #fff;
}

/* Service details column */
.scheduleService {
  font-size: 14px;
  color: #fff;
  margin-bottom: 16px;
  font-weight: 400;
}

.scheduleMoreBtn {
  background: transparent;
  border: none;
  color: #fff;
  font-family: "Montserrat", sans-serif;
  font-size: 14px;
  font-weight: 400;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
  padding: 0px 0 10px;
  margin-bottom: 10px;

  text-align: left;
  opacity: 0.9;
  transition: opacity 0.2s ease;
}

.scheduleMoreBtn:hover {
  opacity: 1;
}

.scheduleMoreBtn svg {
  transition: transform 0.2s ease;
}

.scheduleMoreBtn.is-open svg {
  transform: rotate(180deg);
}

.scheduleMoreInfo {
  font-size: 13px;
  color: #fff;
  opacity: 0.85;
  line-height: 1.6;
  margin-bottom: 22px;
}

.scheduleMoreInfo p {
  margin-bottom: 4px;
}

.scheduleNextBtn {
  display: block;
  width: 100%;
  background-color: #d8dfd5;
  color: #0b2618;
  border: none;
  border-radius: 35px;
  padding: 14px 20px;
  font-size: 14px;
  font-weight: 400;
  font-family: "Montserrat", sans-serif;
  cursor: pointer;
  transition: background-color 0.2s ease;
}

.scheduleNextBtn:hover:not(:disabled) {
  background-color: #fff;
}

.scheduleNextBtn:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

.scheduleAlready {
  margin-top: 18px;
  font-size: 13px;
  color: #fff;
  opacity: 0.9;
  text-align: center;
}

.scheduleAlready a {
  color: #fff;
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: opacity 0.2s ease;
}

.scheduleAlready a:hover {
  opacity: 0.75;
}

/* ---------- Plan Customization ---------- */
.planCustomizationPage {
  padding-top: 70px;
  background-color: #fff;
  min-height: 100vh;
}

.planCustom {
  padding: 60px 20px 120px;
  background-color: #fff;
}

.planCustom__inner {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 80px;
  align-items: start;
}

.planCustom__form {
  width: 100%;
  max-width: 760px;
}

.planCustom__header {
  margin-bottom: 40px;
}

.planCustom__header h1 {
  font-family: 'Montserrat', sans-serif;
  font-size: 32px;
  font-weight: 700;
  color: #0a2a16;
  line-height: 1.25;
  margin: 0 0 18px;
}

.planCustom__rule {
  display: block;
  width: 100%;
  height: 1px;
  background-color: #d9dcd7;
}

.planCustomForm {
  width: 100%;
}

.planCustomField {
  margin-bottom: 36px;
}

.planCustomField label {
  display: block;
  font-size: 13px;
  font-weight: 400;
  color: #0a2a16;
  margin-bottom: 8px;
}

.planCustomDate {
  position: relative;
  width: 100%;
  max-width: 280px;
}

.planCustomDate input {
  width: 100%;
  height: 40px;
  padding: 8px 0px 8px 0;
  font-family: 'Montserrat', sans-serif;
  font-size: 15px;
  font-weight: 400;
  color: #0a2a16;
  background-color: transparent;
  border: none;
  border-bottom: 1px solid #0a2a16;
  border-radius: 0;
  outline: none;
  box-sizing: border-box;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
}

.planCustomDate input::-webkit-calendar-picker-indicator {
  display: none;
  -webkit-appearance: none;
  appearance: none;
}

.planCustomDate input::-webkit-inner-spin-button,
.planCustomDate input::-webkit-clear-button {
  display: none;
  -webkit-appearance: none;
  appearance: none;
}

.planCustomDate input:focus {
  border-bottom-color: #061e0e;
}

.planCustomDate__icon {
  position: absolute;
  right: 4px;
  top: 50%;
  transform: translateY(-50%);
  width: 32px;
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #0a2a16;
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 0;
}

.planCustomDate__icon:hover {
  color: #061e0e;
}

.planCustomSubmit {
  display: block;
  width: 100%;
  background-color: #061e0e;
  color: #fff;
  border: none;
  border-radius: 60px;
  font-family: 'Montserrat', sans-serif;
  font-size: 15px;
  font-weight: 400;
  padding: 16px 30px;

  cursor: pointer;
  transition: background-color 0.2s ease, transform 0.2s ease;
}

.planCustomSubmit:hover {
  background-color: #0a2e18;


}

.planCustomSubmit.is-loading {
  opacity: 0.8;
  cursor: wait;
  transform: none;
}

.planCustomNote {
  margin-top: 18px;
  text-align: center;
  font-size: 13px;
  font-weight: 400;
  color: #0a2a16;
}

.planCustom__card {
  width: 100%;
  max-width: 360px;
  justify-self: end;
}

/* Responsive */
@media only screen and (max-width: 1100px) {

  .scheduleSection__header h1 {
    font-size: 42px;
  }

  .scheduleHeaderRow,
  .scheduleGrid {
    grid-template-columns: 1fr 1fr;
    gap: 40px;
  }

  .scheduleHeaderRow .scheduleCol__heading:last-child {
    grid-column: 1 / -1;
    padding-top: 12px;
    border-top: 1px solid rgba(255, 255, 255, 0.15);
  }

  .scheduleCol--service {
    grid-column: 1 / -1;
  }

  .planCustom__inner {
    grid-template-columns: 1fr;
    gap: 48px;
  }

  .planCustom__card {
    justify-self: center;
    order: 2;
  }

  .planCustom__form {
    order: 1;
    max-width: 100%;
  }
}

@media only screen and (max-width: 700px) {

  .scheduleSection__inner {
    padding: 24px 20px 36px;
    border-radius: 16px;
  }

  .scheduleSection__top {
    flex-direction: column;
    align-items: flex-start;
  }

  .scheduleSection__storeBtns {
    flex-direction: row;
  }

  .scheduleSection__header h1 {
    font-size: 32px;
  }

  .scheduleHeaderRow,
  .scheduleGrid {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .scheduleHeaderRow {
    padding-bottom: 14px;
    margin-bottom: 24px;
  }

  .scheduleHeaderRow .scheduleCol__heading:last-child {
    border-top: none;
    padding-top: 0;
  }

  .scheduleTz {
    justify-self: start;
    text-align: left;
  }

  .scheduleCol--service {
    grid-column: auto;
  }
}

/* ==========================================================================
   PLANS + BOOK A CLASS — shared responsive
   ========================================================================== */

@media only screen and (max-width: 992px) {
  .plansHero {
    min-height: auto;
    padding: 60px 16px 80px;
    background-position: center;
  }

  .plansHeroHead h1 {
    font-size: 48px;
  }

  .testimonialHead {
    padding: 50px 20px;
  }

  .testimonialHead h2 {
    font-size: 30px;
  }

  .testimonialSlide {
    flex-direction: column;
    text-align: center;
    padding: 30px 20px;
    gap: 24px;
  }

  .testimonialArrows {
    padding: 0 20px 24px;
  }

  .testimonialQuote {
    font-size: 20px;
  }

  .footerNewsletter h2 {
    font-size: 28px;
  }

  .newsletterRow {
    flex-direction: column;
    align-items: stretch;
    gap: 20px;
  }

  .newsletterSubmit {
    min-width: 0;
  }

  .footerInfoGrid {
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
  }


  .storeBtn__big {
    font-size: 14px;
  }
}

@media only screen and (max-width: 600px) {
  .plansHeroHead h1 {
    font-size: 36px;
  }

  .planCard {
    padding: 30px 24px;
  }

  .planCard__amount {
    font-size: 44px;
  }

  .footerTopInner {
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
  }

  .footerSocial {
    gap: 20px;
    flex-wrap: wrap;
  }

  .footerInfoGrid {
    grid-template-columns: 1fr;
  }

  .planCustom {
    padding: 36px 16px 80px;
  }

  .planCustom__header h1 {
    font-size: 24px;
  }

  .planCustomDate {
    max-width: 100%;
  }
}

/* ---------- Checkout Page ---------- */
body.checkoutBody {
  background-color: #fff;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  padding-top: 85px;
  padding-bottom: 55px;
}

.checkoutHead {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  padding: 32px 0 28px;
  border-bottom: 1px solid #e6e6e6;
  background-color: #fff;
  z-index: 100;
}



.checkoutHead__title {
  font-family: 'Montserrat', sans-serif;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 2px;
  color: #111;
  margin: 0;
}

.checkoutPage {
  flex: 1;
  background-color: #f5f6f2;
  padding: 92px 0 60px;
}

.dividerBorder {
  width: 1px;
  background-color: #e6e6e6;
  align-self: stretch;
  justify-self: center;
}

.checkoutGrid {
  display: grid;
  grid-template-columns: 1fr 1px 1fr;
  column-gap: 60px;
  align-items: stretch;
  max-width: 1100px;
  margin: 0 auto;
}

.checkoutMain,
.checkoutSide {
  min-width: 0;
  background: #fff;
  border-radius: 16px;
  padding: 28px 26px;
  box-shadow: 0 10px 24px rgba(6, 30, 14, 0.08);
}







/* Auth block */
.checkoutBlock {
  margin-bottom: 20px;
}

.checkoutBlock__title {
  font-family: 'Montserrat', sans-serif;
  font-size: 22px;
  font-weight: 700;
  color: #111;
  margin: 0 0 10px;
}

.checkoutBlock__desc {
  font-size: 14px;
  font-weight: 400;
  color: #4a4a4a;
  margin: 0 0 20px;
  line-height: 1.45;
}

.checkoutAuthBtns {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
}

.checkoutAuthBtn {
  font-family: 'Montserrat', sans-serif;
  font-size: 14px;
  font-weight: 500;
  min-width: 160px;
  padding: 10px 28px;
  border-radius: 2px;
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.checkoutAuthBtn--primary {
  background-color: #111;
  color: #fff;
  border: 1px solid #111;
}

.checkoutAuthBtn--primary:hover,
.checkoutAuthBtn--primary.is-active {
  background-color: #000;
}

.checkoutAuthBtn--outline {
  background-color: #fff;
  color: #111;
  border: 1px solid #111;
}

.checkoutAuthBtn--outline:hover,
.checkoutAuthBtn--outline.is-active {
  background-color: #f4f4f4;
}

.checkoutAuthPanel {
  margin-top: 20px;
  padding: 20px;
  border: 1px solid #e6e6e6;
  border-radius: 4px;
  background-color: #fafafa;
}

.checkoutAuthForm {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.checkoutField label {
  display: block;
  font-size: 13px;
  color: #4a4a4a;
  margin-bottom: 6px;
}

.checkoutField input {
  width: 100%;
  height: 40px;
  padding: 8px 12px;
  font-family: 'Montserrat', sans-serif;
  font-size: 14px;
  color: #111;
  background-color: #fff;
  border: 1px solid #d0d0d0;
  border-radius: 3px;
  outline: none;
  box-sizing: border-box;
  transition: border-color 0.2s ease;
}

.checkoutField input:focus {
  border-color: #111;
}

.checkoutAuthSubmit {
  background-color: #111;
  color: #fff;
  border: none;
  border-radius: 2px;
  font-family: 'Montserrat', sans-serif;
  font-size: 14px;
  font-weight: 500;
  padding: 12px 28px;
  cursor: pointer;
  align-self: flex-start;
  min-width: 160px;
  transition: background-color 0.2s ease, opacity 0.2s ease;
}

.checkoutAuthSubmit:hover {
  background-color: #000;
}

.checkoutAuthSubmit:disabled {
  opacity: 0.65;
  cursor: wait;
}

/* Greyed-out next steps */
.checkoutStep {
  padding: 22px 0;
}

.checkoutStep+.checkoutStep {
  border-top: 1px solid #e6e6e6;
}

.checkoutStep:first-of-type {
  margin-top: 10px;
}

.checkoutStep__title {
  font-family: 'Montserrat', sans-serif;
  font-size: 18px;
  font-weight: 600;
  color: #1d2b22;
  margin: 0;
}

/* Order summary (right) */
.checkoutSide__title {
  font-family: 'Montserrat', sans-serif;
  font-size: 18px;
  font-weight: 700;
  color: #111;
  margin: 0 0 20px;
}

.checkoutSide__count {
  font-weight: 400;
  color: #4a4a4a;
  font-size: 14px;
}

.checkoutItem {
  display: grid;
  grid-template-columns: 56px 1fr auto;
  gap: 16px;
  align-items: start;
  padding-bottom: 24px;
  margin-bottom: 0px;
}

.checkoutItem__media {
  width: 56px;
  height: 56px;
  background-color: #111;
  color: #fff;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.checkoutItem__info {
  min-width: 0;
}

.checkoutItem__name {
  font-size: 14px;
  font-weight: 500;
  color: #111;
  margin: 0 0 6px;
  line-height: 1.3;
}

.checkoutItem__meta {
  font-size: 13px;
  color: #4a4a4a;
  margin: 0;
  line-height: 1.3;
}

.checkoutItemDetails {
  margin-top: 6px;
}

.checkoutItemDetails p {
  margin: 0 0 6px;
  font-size: 13px;
  color: #4a4a4a;
  line-height: 1.45;
}

.checkoutItem__price {
  font-size: 14px;
  font-weight: 500;
  color: #111;
  white-space: nowrap;
}

/* Promo code */
.checkoutPromo {
  margin-bottom: 22px;
  border: 1px solid #d9d9d9;
  border-radius: 8px;
  padding: 14px 16px;
  background-color: #fff;
}

.checkoutPromo__toggle {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0;
  background-color: transparent;
  border: none;
  color: #111;
  font-family: 'Montserrat', sans-serif;
  font-size: 14px;
  font-weight: 400;
  cursor: pointer;
}

.checkoutPromo__toggle svg {
  flex-shrink: 0;
}

.checkoutPromo__toggle span {
  text-decoration: underline;
  text-underline-offset: 3px;
}

.checkoutPromo__toggle:hover span {
  color: #000;
}

.checkoutPromo__form {
  display: flex;
  gap: 8px;
  max-height: 0;
  margin-top: 0;
  opacity: 0;
  overflow: hidden;
  visibility: hidden;
  transition: max-height 0.3s ease, margin-top 0.3s ease, opacity 0.25s ease 0.05s, visibility 0s linear 0.3s;
}

.checkoutPromo__form.is-open {
  max-height: 80px;
  margin-top: 12px;
  opacity: 1;
  visibility: visible;
  transition: max-height 0.3s ease, margin-top 0.3s ease, opacity 0.25s ease, visibility 0s linear 0s;
}

.checkoutPromo__form input {
  flex: 1;
  min-width: 0;
  height: 30px;
  padding: 8px 12px;
  font-family: 'Montserrat', sans-serif;
  font-size: 14px;
  color: #111;
  background-color: #fff;
  border: 1px solid #111;
  border-radius: 4px;
  outline: none;
}

.checkoutPromo__form input::placeholder {
  color: #9a9a9a;
}

.checkoutPromo__form input:focus {
  border-color: #111;
  box-shadow: 0 0 0 1px #111;
}

.checkoutPromo__form button {
  padding: 0 22px;
  background-color: #bdbdbd;
  color: #fff;
  border: none;
  border-radius: 4px;
  font-family: 'Montserrat', sans-serif;
  font-size: 13px;
  font-weight: 500;
  cursor: not-allowed;
  transition: background-color 0.2s ease;
}

.checkoutPromo__form button:not(:disabled) {
  background-color: #111;
  cursor: pointer;
}

.checkoutPromo__form button:not(:disabled):hover {
  background-color: #000;
}

.checkoutPromo__msg {
  margin-top: 8px;
  font-size: 13px;
}

.checkoutPromo__msg.is-success {
  color: #1c7a4e;
}

.checkoutPromo__msg.is-error {
  color: #b4393e;
}

/* Totals */
.checkoutTotals {
  margin: 0 0 18px;
  padding: 0;
}

.checkoutTotals__row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding: 10px 0;
  font-size: 14px;
  color: #111;
}

.checkoutTotals__row dt {
  margin: 0;
  font-weight: 400;
}

.checkoutTotals__row dd {
  margin: 0;
  font-weight: 400;
}

.checkoutTotals__row--total {
  border-top: 1px solid #e6e6e6;
  padding-top: 14px;
}

.checkoutTotals__row--total dt,
.checkoutTotals__row--total dd {
  font-size: 16px;
  font-weight: 700;
}

.checkoutSide__note {
  font-size: 12px;
  color: #7a7a7a;
  line-height: 1.5;
  margin: 0;
}

.checkoutPayBtn {
  display: block;
  width: 100%;
  box-sizing: border-box;
  margin-top: 22px;
  padding: 13px 16px;
  background: #061e0e;
  color: #fff;
  border-radius: 999px;
  font-size: 16px;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
  transition: background-color 0.2s ease, transform 0.15s ease;
}

.checkoutPayBtn:hover {
  background: #0d2a16;
}

.checkoutPayBtn:active {
  transform: translateY(1px);
}

.customer-details {
  margin-top: 10px;
  background: #f7f8f5;
  border: 1px solid #e3e8df;
  border-radius: 12px;
  padding: 12px 14px;
}

.customer-details p {
  margin: 0 0 8px;
  font-size: 14px;
  color: #243328;
}

.customer-details p:last-child {
  margin-bottom: 0;
}

/* Footer */
.checkoutFoot {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  border-top: 1px solid #e6e6e6;
  background-color: #fff;
  padding: 18px 0;
  z-index: 100;
}

.checkoutFoot__inner {

  margin: 0 auto;
  padding: 0 40px;
  display: flex;
  justify-content: center;
}

.checkoutFoot__lock {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  font-size: 13px;
  color: #111;
}

/* Responsive */
@media only screen and (max-width: 900px) {
  .checkoutGrid {
    grid-template-columns: 1fr;
    gap: 40px;
    padding: 0 20px;
  }

  .dividerBorder {
    display: none;
  }

  .checkoutMain,
  .checkoutSide {
    padding: 0;
    grid-column: auto;
    border-radius: 14px;
    padding: 22px 18px;
  }

  .checkoutSide {
    order: -1;
    padding-bottom: 24px;
    border-bottom: 1px solid #e6e6e6;
  }

  .checkoutHead__inner,
  .checkoutFoot__inner {
    padding: 0 20px;
  }
}

@media only screen and (max-width: 600px) {
  body.checkoutBody {
    padding-top: 62px;
  }

  .checkoutHead {
    padding: 22px 0 18px;
  }

  .checkoutHead__title {
    font-size: 13px;
  }

  .checkoutBlock__title {
    font-size: 18px;
  }

  .checkoutAuthBtns {
    flex-direction: column;
  }

  .checkoutAuthBtn {
    width: 100%;
  }
}

/* ---------- Login Page ---------- */
body.loginBody {
  background-color: #fff;
  min-height: 100vh;
  position: relative;
}

.loginClose {
  position: fixed;
  top: 22px;
  right: 28px;
  width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: none;
  color: #111;
  cursor: pointer;
  padding: 0;
  border-radius: 50%;
  transition: background-color 0.15s ease;
  z-index: 5;
}

.loginClose:hover {
  background-color: #f2f2f2;
}

.loginPage {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 80px 20px 60px;
  box-sizing: border-box;
}

.loginCard {
  width: 100%;
  max-width: 360px;
  display: flex;
  flex-direction: column;
  align-items: stretch;
}

.loginCard__title {
  font-family: 'Montserrat', sans-serif;
  font-size: 56px;
  font-style: italic;
  font-weight: 900;
  color: #061e0e;
  text-align: center;
  line-height: 1;
  margin: 0 0 22px;
}

.loginCard__switch {
  text-align: center;
  font-size: 15px;
  color: #111;
  margin: 0 0 32px;
}

.loginCard__switchLink {
  color: #c08a3e;
  text-decoration: underline;
  text-underline-offset: 3px;
  font-weight: 500;
  margin-left: 4px;
}

.loginCard__switchLink:hover {
  color: #a27230;
}

.loginCard__actions {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.loginBtn {
  position: relative;
  width: 100%;
  min-height: 46px;
  padding: 12px 18px 12px 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: 'Montserrat', sans-serif;
  font-size: 14px;
  font-weight: 500;
  background-color: #fff;
  color: #111;
  border: 1px solid #d9d9d9;
  border-radius: 3px;
  cursor: pointer;
  box-sizing: border-box;
  transition: background-color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}

.loginBtn:hover {
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
}

.loginBtn__icon {
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  width: 22px;
  height: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.loginBtn__label {
  text-align: center;
}

.loginBtn--facebook {
  background-color: #1877F2;
  border-color: #1877F2;
  color: #fff;
}

.loginBtn--facebook:hover {
  background-color: #166fe0;
  border-color: #166fe0;
}

.loginBtn--email {
  padding: 12px 18px;
}

.loginBtn--email.is-open {
  background-color: #f4f4f4;
}

.loginDivider {
  display: flex;
  align-items: center;
  gap: 12px;
  color: #555;
  font-size: 13px;
  margin: 4px 0;
}

.loginDivider__line {
  flex: 1;
  height: 1px;
  background-color: #d9d9d9;
}

.loginDivider__text {
  font-size: 13px;
  color: #555;
}

.loginEmailForm {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 4px;
  padding: 16px;
  border: 1px solid #e6e6e6;
  border-radius: 4px;
  background-color: #fafafa;
}

.loginField label {
  display: block;
  font-size: 13px;
  color: #4a4a4a;
  margin-bottom: 6px;
}

.loginField input {
  width: 100%;
  height: 40px;
  padding: 8px 12px;
  font-family: 'Montserrat', sans-serif;
  font-size: 14px;
  color: #111;
  background-color: #fff;
  border: 1px solid #d0d0d0;
  border-radius: 3px;
  outline: none;
  box-sizing: border-box;
  transition: border-color 0.15s ease;
}

.loginField input:focus {
  border-color: #111;
}

.loginEmailSubmit {
  background-color: #061e0e;
  color: #fff;
  border: none;
  border-radius: 3px;
  font-family: 'Montserrat', sans-serif;
  font-size: 14px;
  font-weight: 500;
  padding: 12px 18px;
  cursor: pointer;
  transition: background-color 0.2s ease, opacity 0.2s ease;
}

.loginEmailSubmit:hover {
  background-color: #0a2e18;
}

.loginEmailSubmit:disabled {
  opacity: 0.65;
  cursor: wait;
}

@media only screen and (max-width: 480px) {
  .loginCard__title {
    font-size: 44px;
  }

  .loginClose {
    top: 12px;
    right: 14px;
  }

  .loginPage {
    padding: 64px 16px 40px;
  }
}

/* ---------- Privacy Policy Page ---------- */
.privacyPage {
  padding-top: 70px;
  background-color: #fff;
}

.privacyHero {
  position: relative;

  margin: 0 auto;
  padding: 20px 0px 40px;
  box-sizing: border-box;
}

.privacyHero__panel {
  position: relative;
  background-color: #7a9272;
  border-radius: 40px;
  padding: 80px 60px 120px;
  color: #0a2a16;
  box-sizing: border-box;
  overflow: hidden;

}

.privacyHero__title {
  font-family: 'Montserrat', sans-serif;
  font-size: 52px;
  font-weight: 400;
  color: #0a2a16;
  text-align: left;
  line-height: 1.1;
  margin: 0 0 60px;
}

.privacyHero__body {
  max-width: 880px;
  margin: 0;
  color: #0a2a16;
  text-align: left;
}

.privacyHero__subtitle {
  font-family: 'Montserrat', sans-serif;
  font-size: 22px;
  font-weight: 400;
  color: #0a2a16;
  text-align: left;
  margin: 48px 0 24px;
  line-height: 1.3;
}

.privacyHero__subtitle:first-child {
  margin-top: 0;
}

.privacyHero__body p {
  font-family: 'Montserrat', sans-serif;
  font-size: 15px;
  font-weight: 400;
  color: #0a2a16;
  line-height: 1.75;
  text-align: left;
  margin: 0 0 20px;
}

.privacyHero__body ul {
  font-family: 'Montserrat', sans-serif;
  font-size: 15px;
  font-weight: 400;
  color: #0a2a16;
  line-height: 1.75;
  text-align: left;
  margin: 0 0 20px;
  padding-left: 1.5rem;
}

.privacyHero__body li {
  margin-bottom: 8px;
}

.privacyHero__more {
  margin-top: 32px !important;
}

.privacyHero__link {
  color: #0a2a16;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.privacyHero__link:hover {
  opacity: 0.75;
}

.privacyFloatBtns {
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
  display: flex;
  flex-direction: column;
  gap: 10px;
  z-index: 2;
  pointer-events: none;
}

.privacyFloatBtns .storeBtn {
  pointer-events: auto;
}

/* Responsive */
@media only screen and (max-width: 992px) {

  .privacyHero__panel {
    padding: 60px 30px 90px;
    border-radius: 30px;
  }

  .privacyHero__title {
    font-size: 40px;
    margin-bottom: 40px;
  }

  .privacyFloatBtns {
    position: static;
    transform: none;
    flex-direction: row;
    justify-content: center;
    margin-top: 20px;
  }
}

@media only screen and (max-width: 600px) {
  .privacyHero__panel {
    padding: 44px 20px 60px;
    border-radius: 24px;
  }

  .privacyHero__title {
    font-size: 30px;
    margin-bottom: 28px;
  }

  .privacyHero__subtitle {
    font-size: 18px;
    margin: 32px 0 18px;
  }

  .privacyHero__body p {
    font-size: 14px;
    line-height: 1.65;
  }

  .privacyFloatBtns {
    flex-direction: column;
    align-items: center;
  }
}

/* ---------- Accessibility Statement Page ---------- */
.accessPage {
  padding-top: 70px;
  background-color: #fff;
}

.accessDisclaimer {
  width: 100%;
  background-color: #0a2a16;
  color: #e8ebe6;
  padding: 100px 0;
}



.accessDisclaimer p {
  font-family: 'Montserrat', sans-serif;
  font-size: 14px;
  font-weight: 400;
  color: #e8ebe6;
  line-height: 1.7;
  margin: 0 0 14px;
}

.accessDisclaimer p:last-child {
  margin-bottom: 0;
}

.accessDisclaimer a {
  color: #e8ebe6;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.accessDisclaimer a:hover {
  opacity: 0.8;
}

.accessBody {
  position: relative;

  margin: 0 auto;
  padding: 70px 40px 80px;
  box-sizing: border-box;
}

.accessBody__inner {
  max-width: 720px;
}

.accessBody__title {
  font-family: 'Montserrat', sans-serif;
  font-size: 46px;
  font-weight: 400;
  color: #0a1f15;
  line-height: 1.1;
  margin: 0 0 32px;
}

.accessBody__meta {
  font-size: 15px;
  color: #0a1f15;
  margin: 0 0 18px;
  line-height: 1.6;
}

.accessBody p {
  font-family: 'Montserrat', sans-serif;
  font-size: 15px;
  font-weight: 400;
  color: #0a1f15;
  line-height: 1.75;
  margin: 0 0 18px;
}

.accessBody em {
  font-style: italic;
  color: #0a1f15;
}

.accessBody__subtitle {
  font-family: 'Montserrat', sans-serif;
  font-size: 24px;
  font-weight: 400;
  color: #0a1f15;
  line-height: 1.3;
  margin: 44px 0 20px;
}

.accessBody__list {
  list-style: disc;
  padding-left: 22px;
  margin: 0 0 22px;
}

.accessBody__list li {
  font-family: 'Montserrat', sans-serif;
  font-size: 15px;
  color: #0a1f15;
  line-height: 1.75;
  margin-bottom: 6px;
}

.accessBody__italic {
  font-style: italic;
}

.accessFloatBtns {
  position: absolute;
  top: 60%;
  right: 20px;
  transform: translateY(-50%);
  display: flex;
  flex-direction: column;
  gap: 10px;
  z-index: 2;
}

@media only screen and (max-width: 992px) {
  .accessDisclaimer {
    padding: 36px 0;
  }

  .accessDisclaimer__inner {
    padding: 0 20px;
  }

  .accessBody {
    padding: 48px 20px 60px;
  }

  .accessBody__title {
    font-size: 36px;
  }

  .accessBody__subtitle {
    font-size: 20px;
    margin: 36px 0 16px;
  }

  .accessFloatBtns {
    position: static;
    transform: none;
    flex-direction: row;
    justify-content: center;
    margin-top: 30px;
  }
}

@media only screen and (max-width: 600px) {
  .accessBody__title {
    font-size: 30px;
  }

  .accessBody__subtitle {
    font-size: 18px;
  }

  .accessBody p,
  .accessBody__list li {
    font-size: 14px;
    line-height: 1.65;
  }

  .accessFloatBtns {
    flex-direction: column;
    align-items: center;
  }
}

/* ---------- FAQ Page ---------- */
.faqPage {
  padding-top: 70px;
  background-color: #fff;
}

.faqSection {
  width: 100%;
  padding: 80px 0 100px;
  background-color: #fff;
}



.faqHead {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  margin-bottom: 36px;
}

.faqHead__title {
  font-family: 'Montserrat', sans-serif;
  font-size: 40px;
  font-weight: 400;
  color: #0a1f15;
  line-height: 1.15;
  margin: 0;
}

.faqSearch {
  position: relative;
  width: 320px;
  max-width: 100%;
}

.faqSearch input {
  width: 100%;
  height: 42px;
  padding: 8px 44px 8px 16px;
  font-family: 'Montserrat', sans-serif;
  font-size: 14px;
  color: #0a1f15;
  background-color: transparent;
  border: none;
  border-bottom: 1px solid #cfd3cd;
  border-radius: 0;
  outline: none;
  box-sizing: border-box;
  transition: border-color 0.2s ease;
}

.faqSearch input::placeholder {
  color: #6b7770;
}

.faqSearch input:focus {
  border-bottom-color: #0a1f15;
}

.faqSearch__btn {
  position: absolute;
  right: 6px;
  top: 50%;
  transform: translateY(-50%);
  width: 32px;
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: none;
  color: #0a1f15;
  cursor: pointer;
}

.faqTabs {
  display: flex;
  gap: 40px;
  border-bottom: 1px solid #e3e6e1;
  margin-bottom: 30px;
}

.faqTab {
  position: relative;
  padding: 14px 0 16px;
  background: transparent;
  border: none;
  font-family: 'Montserrat', sans-serif;
  font-size: 15px;
  font-weight: 400;
  color: #6b7770;
  cursor: pointer;
  transition: color 0.2s ease;
}

.faqTab:hover {
  color: #0a1f15;
}

.faqTab.is-active {
  color: #0a1f15;
}

.faqTab.is-active::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 2px;
  background-color: #0a1f15;
}

.faqList {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.faqItem.is-hidden {
  display: none !important;
}

.faqItem {
  border: 1px solid #e3e6e1;
  border-radius: 10px;
  background-color: #fff;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  overflow: hidden;
}

.faqItem[open] {
  border-color: #cfd3cd;
}

.faqItem__header {
  list-style: none;
  cursor: pointer;
  padding: 20px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  color: #0a1f15;
}

.faqItem__header::-webkit-details-marker {
  display: none;
}

.faqItem__q {
  font-family: 'Montserrat', sans-serif;
  font-size: 16px;
  font-weight: 400;
  color: #0a1f15;
  line-height: 1.4;
}

.faqItem__icon {
  flex: none;
  width: 24px;
  height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #0a1f15;
  transition: transform 0.25s ease;
}

.faqItem[open] .faqItem__icon {
  transform: rotate(180deg);
}

.faqItem__body {
  padding: 0 24px 22px;
  opacity: 0;
  transform: translateY(-4px);
  transition: opacity 0.25s ease 0.05s, transform 0.25s ease 0.05s;
}

.faqItem[open] .faqItem__body {
  opacity: 1;
  transform: translateY(0);
}

.faqItem__a {
  font-family: 'Montserrat', sans-serif;
  font-size: 14px;
  font-weight: 400;
  color: #3a4a42;
  line-height: 1.7;
  margin: 0 0 14px;
}

.faqShare {
  display: flex;
  align-items: center;
  gap: 14px;
}

.faqShare__btn {
  width: 28px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #0a1f15;
  background: transparent;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  text-decoration: none;
  transition: background-color 0.15s ease;
}

.faqShare__btn:hover {
  background-color: #f2f4f0;
}

.faqShare__btn.is-copied {
  color: #1c7a4e;
}

.faqEmpty {
  text-align: center;
  padding: 30px 0;
  color: #6b7770;
  font-size: 14px;
}

/* Responsive */
@media only screen and (max-width: 900px) {
  .faqSection {
    padding: 54px 0 70px;
  }

  .faqSection__inner {
    padding: 0 20px;
  }

  .faqHead {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
  }

  .faqHead__title {
    font-size: 32px;
  }

  .faqSearch {
    width: 100%;
  }
}

@media only screen and (max-width: 600px) {
  .faqHead__title {
    font-size: 26px;
  }

  .faqTabs {
    gap: 24px;
  }

  .faqItem__header {
    padding: 16px 18px;
  }

  .faqItem__q {
    font-size: 15px;
  }

  .faqItem__body {
    padding: 0 18px 18px;
  }
}

/* ---------- Newsletter Form (footer) ---------- */
.newsletterCheck input[type="checkbox"] {
  -webkit-appearance: none;
  appearance: none;
  width: 18px;
  height: 18px;
  border: 1.5px solid #e9ece0;
  border-radius: 2px;
  background-color: transparent;
  cursor: pointer;
  position: relative;
  margin: 0;
  flex: none;
  transition: background-color 0.15s ease, border-color 0.15s ease;
}

.newsletterCheck input[type="checkbox"]:hover {
  border-color: #fff;
}

.newsletterCheck input[type="checkbox"]:checked {
  background-color: #e9ece0;
  border-color: #e9ece0;
}

.newsletterCheck input[type="checkbox"]:checked::after {
  content: "";
  position: absolute;
  left: 4px;
  top: 1px;
  width: 5px;
  height: 9px;
  border: solid #0d2a16;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

.newsletterCheck input[type="checkbox"]:focus-visible {
  outline: 2px solid rgba(255, 255, 255, 0.6);
  outline-offset: 2px;
}

.newsletterForm {
  width: 100%;
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-areas:
    "email email"
    "check submit";
  column-gap: 30px;
  row-gap: 18px;
  align-items: center;
}

.newsletterRow {
  display: contents;
}

.newsletterField {
  grid-area: email;
  flex: none;
  width: 100%;
  display: flex;
  flex-direction: column;
}


.newsletterSubmit {
  grid-area: submit;
  flex: none;
  width: 59%;
  min-width: 0;
  justify-self: self-end;

  @media only screen and (max-width: 767px) {
    width: 100%;


  }
}

@media only screen and (max-width: 700px) {
  .newsletterForm {
    grid-template-columns: 1fr;
    grid-template-areas:
      "email"
      "check"
      "submit";
    row-gap: 14px;
  }

  .newsletterCheck {
    white-space: normal;
  }
}

/* ---------- App Store Badges ---------- */
.storeBtn {
  background-color: #000;
  color: #fff;
  text-decoration: none;
  border-radius: 8px;
  padding: 8px 14px;
  display: inline-grid;
  grid-template-columns: 22px 1fr;
  grid-template-rows: auto auto;
  column-gap: 10px;
  row-gap: 2px;
  align-items: center;
  line-height: 1.1;
  min-width: 150px;
  min-height: 44px;
  box-sizing: border-box;
  border: 1px solid #2a2a2a;
  transition: background-color 0.2s ease, transform 0.2s ease;
}

.storeBtn:hover {
  background-color: #1a1a1a;

}

.storeBtn::before {
  content: "";
  grid-column: 1;
  grid-row: 1 / span 2;
  width: 22px;
  height: 24px;
  align-self: center;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.storeBtn:first-child::before,
.storeBtn.storeBtn--google::before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'><path fill='%23EA4335' d='M325.3 234.3 104.6 13l280.8 161.2-60.1 60.1z'/><path fill='%23FBBC04' d='M385.4 337.7 104.6 499 325.3 277.7l60.1 60z'/><path fill='%234285F4' d='M104.6 13v486l220.7-243L104.6 13z'/><path fill='%2334A853' d='m325.3 234.3 60.1-60.1 99.6 57.2c17.3 9.9 17.3 39.8 0 49.7l-99.6 57.1-60.1-60z'/></svg>");
}

.storeBtn:last-child::before,
.storeBtn.storeBtn--apple::before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'><path d='M17.05 20.28c-.98.95-2.05.8-3.08.35-1.09-.46-2.09-.48-3.24 0-1.44.62-2.2.44-3.06-.35C2.79 15.25 3.51 7.59 9.05 7.31c1.35.07 2.29.74 3.08.8 1.18-.24 2.31-.93 3.57-.84 1.51.12 2.65.72 3.4 1.8-3.12 1.87-2.38 5.98.48 7.13-.57 1.5-1.31 2.99-2.54 4.09zM12.03 7.25c-.15-2.23 1.66-4.07 3.74-4.25.29 2.58-2.34 4.5-3.74 4.25z'/></svg>");
}

.storeBtn__small {
  grid-column: 2;
  grid-row: 1;
  font-family: 'Montserrat', sans-serif;
  font-size: 9px;
  font-weight: 400;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #fff;
  line-height: 1;
  align-self: end;
}

.storeBtn__big {
  grid-column: 2;
  grid-row: 2;
  font-family: 'Montserrat', sans-serif;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.2px;
  color: #fff;
  line-height: 1.1;
  align-self: start;
}

@media only screen and (max-width: 600px) {
  .storeBtn {
    min-width: 130px;
    padding: 6px 12px;
    grid-template-columns: 18px 1fr;
    column-gap: 8px;
  }

  .storeBtn::before {
    width: 18px;
    height: 20px;
  }

  .storeBtn__big {
    font-size: 13px;
  }
}

/* ---------- Nav Overlay ---------- */
.navOverlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #ccd5c6;
  z-index: 1000;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 40px 20px;
  transform: translateY(-100%);
  opacity: 0;
  visibility: hidden;
  transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1),
    opacity 0.35s ease,
    visibility 0s linear 0.45s;
  box-sizing: border-box;
}

.navOverlay.is-open {
  transform: translateY(0);
  opacity: 1;
  visibility: visible;
  transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1),
    opacity 0.35s ease,
    visibility 0s linear 0s;
}

.navOverlay__close {
  position: absolute;
  top: 26px;
  right: 26px;
  z-index: 2;
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: none;
  color: #0a1f15;
  cursor: pointer;
  border-radius: 50%;
  transition: background-color 0.15s ease;
}

.navOverlay__close:hover {
  background-color: rgba(10, 31, 21, 0.08);
}

.navOverlay__links {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 70px;
  flex-wrap: nowrap;
  padding: 0 24px;
  width: 100%;
  max-width: 1400px;
  box-sizing: border-box;
}

.navOverlay__links a {
  font-family: 'Montserrat', sans-serif;
  font-size: 44px;
  font-weight: 400;
  color: #0a1f15;
  text-decoration: none;
  line-height: 1.1;
  padding-bottom: 4px;
  border-bottom: 2.5px solid transparent;
  white-space: nowrap;
  transition: border-color 0.2s ease, opacity 0.2s ease;

  &:hover {
    text-decoration: underline;
  }
}

.navOverlay__links a:hover {
  opacity: 0.85;
}

.navOverlay__links a.is-active {
  border-bottom-color: #0a1f15;
}

body.has-navOverlay {
  overflow: hidden;
}

@media only screen and (max-width: 1600px) {
  .navOverlay__links {
    gap: clamp(16px, 2.4vw, 46px);
  }

  .navOverlay__links a {
    font-size: clamp(30px, 3.2vw, 42px);
  }
}

@media only screen and (max-width: 1400px) {
  .navOverlay__links {
    gap: clamp(14px, 2vw, 28px);
    flex-wrap: wrap;
    padding: 0 24px;
  }

  .navOverlay__links a {
    font-size: clamp(26px, 3.3vw, 38px);
  }
}

@media only screen and (max-width: 1200px) {
  .navOverlay__links {
    gap: clamp(16px, 2.8vw, 34px);
    flex-wrap: wrap;
    padding: 0 24px;
  }

  .navOverlay__links a {
    font-size: clamp(28px, 4.2vw, 40px);
  }
}

@media only screen and (max-width: 900px) {
  .navOverlay__links {
    flex-direction: column;
    gap: 30px;
    padding: 0 20px;
  }

  .navOverlay__links a {
    font-size: 40px;
  }
}

@media only screen and (max-width: 600px) {
  .navOverlay__links a {
    font-size: 32px;
  }

  .navOverlay__close {
    top: 16px;
    right: 16px;
  }
}

/*# sourceMappingURL=styles.css.map */

   main.page > section.heroSection,
    main.page > section.welcomeSection,
    main.page > section.fitnessJourneyWrapper,
    main.page > section.personalTrainingWrapper,
    main.page > section.TrainersSectionWrapper,
    main.page > section.mobileAppWrapper {
      position: sticky;
      top: 0;
      min-height: 100vh;
      width: 100%;
      max-width: 100%;
      box-sizing: border-box;
    }

    /* Normal scroll; z-index only works with position — stack above sticky trainers (6) */
    main.page > section.selectPlanWrapper {
      position: relative;
      z-index: 7;
      width: 100%;
      max-width: 100%;
      box-sizing: border-box;
    }

    main.page > section.facilitiesWrapper {
      position: relative;
      z-index: 8;
      width: 100%;
      max-width: 100%;
      box-sizing: border-box;
    }

    /* main.page > section.welcomeSection,
    main.page > section.selectPlanWrapper,
    main.page > section.fitnessJourneyWrapper,
    main.page > section.personalTrainingWrapper,
    main.page > section.facilitiesWrapper,
    main.page > section.mobileAppWrapper {
      box-shadow: 0 -20px 50px rgba(6, 30, 14, 0.14);
    } */

    main.page > section.heroSection {
      z-index: 1;
    }

    main.page > section.welcomeSection {
      z-index: 2;
    }

    main.page > section.fitnessJourneyWrapper {
      z-index: 3;
    }

    main.page > section.personalTrainingWrapper {
      z-index: 5;
    }

    main.page > section.TrainersSectionWrapper {
      z-index: 6;
    }

    main.page > section.mobileAppWrapper {
      z-index: 9;
    }

      .heromain1 {
 
      padding: 2rem 0px 3.5rem;
      text-align: center;
      h1 {
    
      font-size: clamp(32px, 5vw, 52px);
      font-weight: 400;
      line-height: 1.18;
      color: var(--ink);
      margin-bottom: 1.5rem;
      letter-spacing: -0.02em;
      em {
      font-style: italic;
      color: var(--green-mid);
    }
    }
    .sub {
      font-size: 17px;
      color: var(--ink-muted);
      line-height: 1.8;
      max-width: 700px;
      margin: 0 auto 2.25rem;
    }
      .badge {
      display: inline-block;
      background: var(--green-pale);
      color: var(--green-text);
      font-size: 12px;
      font-weight: 500;
      padding: 5px 16px;
      border-radius: 20px;
      margin-bottom: 1.75rem;
      letter-spacing: 0.05em;
      text-transform: uppercase;
    }
        .hero-btn {
background-color: #061e0e;
  color: #fff;
  border: none;
  border-radius: 35px;
  font-size: 15px;
  font-weight: 400;
  padding: 12px 30px;
      text-decoration: none;
 
      transition: background 0.2s, transform 0.15s;
    }
    .hero-btn:hover { background: var(--green-deep);  }

    }
  
  

    /* DIVIDER */
    .divider {
 height: 1.5px;
  background: rgba(60,60,40,0.12);
 
  margin: 0 auto;
    }

    .page{
      padding-top:70px;
    }

.story{
  padding-top:40px;
}

    .story p {
      font-size: 16.5px;
      color: var(--ink);
      line-height: 1.9;
      margin-bottom: 1.5rem;
    }
    .story p.lead {

      font-size: 21px;
      font-weight: 400;
      line-height: 1.55;
      color: var(--ink);
    }
    .pull {
      border-left: 3px solid var(--green-light);
      padding: 1rem 1.5rem;
      margin: 2.25rem 0;
      background: var(--green-pale);
      border-radius: 0 var(--radius) var(--radius) 0;
    }
    .pull p {
      font-size: 16px;
      color: var(--green-text);
      font-weight: 500;
      margin: 0;
      line-height: 1.7;
    }
   .perks-wrap {
      background: #f0ede4;
      border-top: 0.5px solid var(--border);
      border-bottom: 0.5px solid var(--border);
      padding: 2.5rem 2.5rem;
    }
    .perks {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
      gap: 14px;
      max-width: 750px;
      margin: 0 auto;
    }
    .perk {
      background: var(--cream);
      border: 0.5px solid var(--border);
      border-radius: var(--radius-lg);
      padding: 1.25rem 1rem;
      text-align: center;
    }
    .perk .title {
      font-size: 14px;
      font-weight: 500;
      color: var(--ink);
      margin-bottom: 5px;
    }
    .perk .label {
      font-size: 12.5px;
      color: var(--ink-muted);
      line-height: 1.5;
    }

       .cta-section {
    
      padding: 4rem 0px;
      text-align: center;
         .hero-btn {
background-color: #061e0e;
  color: #fff;
  border: none;
  border-radius: 35px;
  font-size: 15px;
  font-weight: 400;
  padding: 12px 30px;
      text-decoration: none;
 
      transition: background 0.2s, transform 0.15s;
    }
    .hero-btn:hover { background: var(--green-deep);  }
    }
    .cta-section h2 {
    
      font-size: clamp(24px, 3.5vw, 36px);
      font-weight: 400;
      color: var(--ink);
      line-height: 1.3;
      margin-bottom: 1rem;
      letter-spacing: -0.01em;
    }
    .cta-section p {
      font-size: 15px;
      color: var(--ink-muted);
      line-height: 1.75;
      max-width: 700px;
      margin: 0 auto 1.75rem;
    }
    .cta-section .note {
      font-size: 12px;
      color: var(--ink-muted);
      margin-top: 2rem;
    }

    .free-banner {
  background-color: #061e0e;
      color: var(--green-pale);
      text-align: center;
      padding: 1rem 2rem;
      font-size: 14px;
      font-weight: 500;
      letter-spacing: 0.01em;
   letter-spacing: 0.01em;
  line-height: 22px;
    }
    .free-banner strong { color: #fff; }

    /* SERVICES GRID */
    .services-section {

      margin: 0 auto;
      padding: 3.5rem 0px 5rem;
       @media only screen and (max-width: 767px) {
 padding: 3.5rem 0px 0rem;
       }
          .section-label {
      font-size: 15px;
      font-weight: 500;
      text-transform: uppercase;
      letter-spacing: 0.08em;
      color: var(--ink-muted);
      margin-bottom: 1.5rem;
      padding-bottom: 0.75rem;
      border-bottom: 0.5px solid var(--border);
    }
    }

  .page-header {
      max-width: 760px;
      margin: 0 auto;
      padding: 4.5rem 2.5rem 3rem;
      text-align: center;
      @media only screen and (max-width: 767px) {
padding: 1.5rem 2.5rem 0rem;
      }
    }
    .page-header .eyebrow {
      display: inline-block;
      background: var(--green-pale);
      color: var(--green-text);
      font-size: 11px;
      font-weight: 500;
      padding: 5px 16px;
      border-radius: 20px;
      margin-bottom: 1.5rem;
      letter-spacing: 0.06em;
      text-transform: uppercase;
    }
    .page-header h1 {

      font-size: clamp(30px, 5vw, 48px);
      font-weight: 400;
      line-height: 1.2;
      color: var(--ink);
      letter-spacing: -0.02em;
      margin-bottom: 1rem;
    }
    .page-header h1 em { font-style: italic; color: var(--green-mid); display: block;}
    .page-header p {
      font-size: 16px;
      color: var(--ink-muted);
      max-width: 520px;
      margin: 0 auto;
      line-height: 1.8;
    }

    .services-grid {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(372px, 1fr));
      gap: 16px;
      margin-bottom: 2.5rem;
    }

        .cardMainAll {
      background: #fff;
      border: 0.5px solid var(--border);
      border-radius: var(--radius-lg);
      padding: 1.75rem 1.5rem 1.5rem;
      display: flex;
      flex-direction: column;
      gap: 1rem;
      transition: border-color 0.2s, transform 0.2s;
      position: relative;
      overflow: hidden;
    }
    .cardMainAll:hover {
      border-color: var(--green-light);
 
    }
    .cardMainAll.featured {
      border-color: var(--green-mid);
      border-width: 1.5px;
      background: #fff;
    }
    .cardMainAll.featured::before {
      content: 'Most popular';
      position: absolute;
      top: 0; right: 0;
      background: var(--green-pale);
      color: var(--green-text);
      font-size: 11px;
      font-weight: 500;
      padding: 5px 14px;
      border-bottom-left-radius: var(--radius);
      letter-spacing: 0.04em;
    }
    .cardMainAll.free-card {
      background: var(--green-pale);
      border-color: var(--green-light);
    }

    .card-tag {
      display: inline-block;
      font-size: 11px;
      font-weight: 500;
      text-transform: uppercase;
      letter-spacing: 0.06em;
      color: var(--green-text);
      background: var(--green-pale);
      padding: 3px 10px;
      border-radius: 20px;
      width: fit-content;
    }
    .free-card .card-tag {
      background: rgba(255,255,255,0.6);
    }

    .card-title {

      font-size: 20px;
      font-weight: 400;
      color: var(--ink);
      line-height: 1.3;
      letter-spacing: -0.01em;
    }

    .card-price {
      display: flex;
      align-items: baseline;
      gap: 6px;
    }
    .price-main {
      font-size: 28px;
      font-weight: 500;
      color: var(--green-deep);
      letter-spacing: -0.02em;
    }
    .price-sub {
      font-size: 13px;
      color: var(--ink-muted);
    }
    .price-note {
      font-size: 12px;
      color: var(--green-mid);
      font-weight: 500;
      margin-top: 2px;
    }
    .free-card .price-main { color: var(--green-deep); }

    .card-desc {
      font-size: 14px;
      color: var(--ink-muted);
      line-height: 1.7;
      flex: 1;
    }

    .perks-list {
      list-style: none;
      display: flex;
      flex-direction: column;
      gap: 7px;
    }
    .perks-list li {
      font-size: 13px;
      color: var(--ink-muted);
      display: flex;
      align-items: flex-start;
      gap: 8px;
      line-height: 1.5;
    }
    .perks-list li::before {
      content: '';
      display: block;
      width: 14px;
      height: 14px;
      min-width: 14px;
      margin-top: 1px;
      border-radius: 50%;
      background: var(--green-pale);
      border: 1.5px solid var(--green-light);
      position: relative;
    }
    .perks-list li::before {
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M3 7l3 3 5-5' stroke='%233B6D11' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
      background-size: contain;
      background-repeat: no-repeat;
      background-color: var(--green-pale);
    }
    .free-card .perks-list li::before {
      background-color: rgba(255,255,255,0.7);
    }

    .card-btn {
 background-color: #061e0e;
  color: #fff;
  border: none;
  border-radius: 35px;
  font-size: 15px;
  font-weight: 400;
  padding: 12px 30px;
      text-decoration: none;
 transition: background 0.2s, transform 0.15s;
  text-align: center;
      transition: background 0.2s, transform 0.15s;
    }
    .card-btn:hover { background: var(--green-deep); }
    .card-btn.outline {
       background: transparent;
      border: 1px solid #061e0e;
      color: #061e0e;
    }
    .card-btn.outline:hover {
      background: var(--green-pale);
    }

    .free-card .card-btn:hover {
      background: #152f07;
    }

    /* FULL-WIDTH CARD */
    .card-full {
      grid-column: 1 / -1;
      flex-direction: row;
      align-items: center;
      gap: 2rem;
      padding: 1.75rem 2rem;
    }
    .card-full .card-body { flex: 1; display: flex; flex-direction: column; gap: 0.5rem; }
    .card-full .card-price-col { text-align: right; display: flex; flex-direction: column; align-items: flex-end; gap: 0.75rem; min-width: 160px; }
 .cta-strip {
      background: var(--cream-dark);
      border-top: 0.5px solid var(--border);
      border-bottom: 0.5px solid var(--border);
      padding: 3.5rem 2.5rem;
      text-align: center;
       @media only screen and (max-width: 767px) {
padding: 2.5rem 2.5rem;
       }
    }
    .cta-strip h2 {

      font-size: clamp(22px, 3.5vw, 34px);
      font-weight: 400;
      color: var(--ink);
      margin-bottom: 0.75rem;
      letter-spacing: -0.01em;
    }
    .cta-strip p {
      font-size: 15px;
      color: var(--ink-muted);
      max-width: 440px;
      margin: 0 auto 1.75rem;
      line-height: 1.75;
    }
    .cta-strip .btn-row { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }
    .btn-primary {
   background-color: #061e0e;
  color: #fff;
  border: none;
  border-radius: 35px;
  font-size: 15px;
  font-weight: 400;
  padding: 12px 30px;
      text-decoration: none;
      transition: background 0.2s;
    }
    .btn-primary:hover { background: var(--green-deep); }
    .btn-secondary {
      background: transparent;
      border: 1px solid #061e0e;
      color: #061e0e;
      font-size: 14px;
      font-weight: 500;
      padding: 12px 28px;
     border-radius: 35px;
      text-decoration: none;
      transition: background 0.2s;
    }
    .btn-secondary:hover { background: var(--green-pale); }
    
    
.welcomeSection .welcomeBox .leftSet h1 {
  color: #fff;
  font-size: 60px;
  font-weight: 400;
  }