/* ==========================================================================
   Sofi Health - Custom Refinements & Exact Match with sofihealth.com
   ========================================================================== */

/* Typography & Base Setup */
@font-face {
  font-family: HelveticaNowDisplayMedium;
  src: url("./_next/static/media/font.588583f4.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

html, body {
  margin: 0;
  padding: 0;
  background-color: #f7f7f7;
  color: #121212;
  font-family: HelveticaNowDisplayMedium, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body.prevent__scroll {
  overflow: hidden !important;
}

/* SplitText characters & words */
.split-char {
  display: inline-block;
  will-change: transform, opacity;
}
.split-word {
  display: inline-block;
  white-space: nowrap;
}

/* Base Image Defaults */
img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* ==========================================================================
   1. HERO SECTION
   ========================================================================== */
.Hero_hero__EW3HD {
  position: relative;
  z-index: 1 !important;
  overflow: hidden !important;
  background-color: #f7f7f7 !important;
  height: 100vh !important;
}

.Hero_hero__EW3HD .Hero_heroHolder__dKj3Y {
  position: relative !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 2560px !important;
  margin: 0 auto !important;
  padding-inline: clamp(20px, 4vw, 52px) !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  overflow: hidden !important;
}

/* Hero Title: "feel" on line 1, "better" on line 2, both horizontal */
.Hero_hero__EW3HD .Hero_heroTitle__dzWAx {
  position: relative !important;
  z-index: 10 !important;
  margin-top: clamp(40px, 10vh, 100px) !important;
  margin-left: clamp(20px, 5vw, 100px) !important;
}

.Hero_hero__EW3HD .Hero_heroTitle__dzWAx h1 {
  font-style: normal !important;
  font-weight: 500 !important;
  font-size: clamp(80px, 16vw, 240px) !important;
  line-height: 0.88 !important;
  letter-spacing: -0.04em !important;
  color: #000000 !important;
  margin: 0 !important;
  opacity: 1 !important;
}

.Hero_heroTitle__dzWAx h1 > span {
  display: block !important;
  overflow: hidden !important;
  white-space: nowrap !important;
}

.Hero_heroTitle__dzWAx h1 span.split-char {
  display: inline-block !important;
  overflow: visible !important;
  vertical-align: top !important;
  white-space: normal !important;
}

.Hero_heroTitleBetter__MQrkI {
  margin-top: -0.15em !important;
  letter-spacing: -0.04em !important;
}

/* Subtitle paragraph */
.Hero_hero__EW3HD .Hero_heroText__p12rm {
  position: relative !important;
  z-index: 10 !important;
  margin-left: clamp(20px, 5vw, 117px) !important;
  width: clamp(280px, 32vw, 440px) !important;
  margin-top: 24px !important;
  opacity: 1 !important;
}

.Hero_hero__EW3HD .Hero_heroText__p12rm p {
  margin: 0 !important;
  font-style: normal !important;
  font-weight: 500 !important;
  font-size: 15px !important;
  line-height: 18px !important;
  letter-spacing: -0.005em !important;
  color: #121212 !important;
}

/* CTA button ("shop sofi") */
.Hero_hero__EW3HD .Hero_heroCta__FqawY {
  position: absolute !important;
  bottom: 80px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  z-index: 10 !important;
}

.Hero_hero__EW3HD .Hero_heroCta__FqawY a {
  display: inline-block !important;
  padding: 14px 34px !important;
  background: #000000 !important;
  font-weight: 500 !important;
  font-size: 15px !important;
  color: #ffffff !important;
  border-radius: 56px !important;
  text-decoration: none !important;
  transition: transform 0.25s ease, background-color 0.25s ease, color 0.25s ease !important;
}

.Hero_hero__EW3HD .Hero_heroCta__FqawY a:hover {
  background-color: #ffffff !important;
  color: #000000 !important;
  transform: scale(1.05) !important;
}

/* Hero Hand Image Container */
.Hero_hero__EW3HD .Hero_heroImg__XUqEV {
  height: calc(100vh - 40px) !important;
  width: clamp(500px, 60vw, 1100px) !important;
  position: absolute !important;
  bottom: 0 !important;
  right: clamp(10px, 5vw, 140px) !important;
  pointer-events: none !important;
  z-index: 2 !important;
  overflow: hidden !important;
}

.Hero_hero__EW3HD .Hero_heroImg__XUqEV img {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: right top !important;
  opacity: 1 !important;
}

/* Bottom Navigation Bar ("purity of plants • power of people...") */
.NavigationBottom_navigationBottom__u0Vsy,
.main__navigation__bottom {
  position: fixed !important;
  bottom: 0 !important;
  left: 0 !important;
  width: 100% !important;
  z-index: 30 !important;
  mix-blend-mode: difference !important;
  transform: translateY(0) !important;
  pointer-events: none !important;
}

.NavigationBottom_navigationBottomHolder__FUu_h {
  padding: 20px 40px !important;
  box-sizing: border-box !important;
  margin: 0 auto !important;
  max-width: 2560px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}

.NavigationBottom_navigationBottomHolder__FUu_h p {
  color: #ffffff !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: -0.01em !important;
}

/* ==========================================================================
   2. SECTION 2: WATER STICK VIDEO (Canvas 01 / Emerging Pod)
   ========================================================================== */
.WaterStickVideo_waterStickVideo__cc5Zt {
  position: relative;
  z-index: 2 !important;
  background-color: #000000 !important;
  height: 100vh !important;
  overflow: hidden !important;
}

.WaterStickVideo_waterStickVideoHolder__SR5q3 {
  position: relative !important;
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Central Capsule Pill: Dark charcoal (#121212) initially, matching live site */
.WaterStickVideo_waterStickVideoShape__5H4jy,
.canvas__holder {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: clamp(280px, 45vh, 480px);
  height: calc(100vh - 140px);
  border-radius: 2000px;
  background-color: #121212 !important;
  overflow: hidden !important;
  z-index: 2 !important;
  opacity: 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 20px 80px rgba(0, 0, 0, 0.9) !important;
}

/* Canvas 01 starts HIDDEN (opacity: 0) behind the dark pill overlay! */
.WaterStickVideo_canvas01__VBd88 {
  height: 100vh !important;
  width: auto !important;
  max-width: none !important;
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  opacity: 0;
  display: block !important;
  pointer-events: none !important;
  background-color: transparent !important;
}

/* Overlay Headline over the Pill ("sofi measures the impact...") */
.WaterStickVideo_heroTitleHolder__o3K6Z {
  position: relative !important;
  z-index: 5 !important;
  pointer-events: none !important;
  text-align: center !important;
}

.WaterStickVideo_splitedTextHolder__ZVds6 {
  position: relative !important;
  width: min(848px, 90vw) !important;
  margin: 0 auto !important;
}

.WaterStickVideo_splitedTextHolder__ZVds6 h2 {
  font-weight: 500 !important;
  font-size: clamp(34px, 5.2vw, 80px) !important;
  line-height: 1.05 !important;
  letter-spacing: -0.02em !important;
  text-align: center !important;
  color: #383838 !important;
  margin: 0 !important;
}

.WaterStickVideo_splitedTextHolder__ZVds6 h2.WaterStickVideo_fillerText__ghcZl,
.WaterStickVideo_fillerText__ghcZl,
#fillText {
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  width: 100% !important;
  color: #ffffff !important;
}

#fillText .split-word,
#fillText1 .split-word {
  display: inline-block !important;
  white-space: nowrap !important;
}

#fillText .split-char {
  display: inline-block !important;
  color: #ffffff !important;
}

#fillText1 .split-char {
  display: inline-block !important;
  color: #383838 !important;
}

.sofi__moon {
  opacity: 1 !important;
  margin-bottom: 24px !important;
}

/* ==========================================================================
   3. SECTION 3: STICK SECTION (Canvas 02 / 360 Rotating Pod)
   ========================================================================== */
.Stick_stick__TPIJz {
  position: relative;
  z-index: 3 !important;
  overflow: hidden !important;
}

.Stick_stickVideoHolder__G13Rz {
  position: absolute !important;
  width: 100% !important;
  height: 100% !important;
  top: 0 !important;
  left: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  pointer-events: none !important;
  z-index: 2 !important;
}

.Stick_canvas02__3LIvl {
  max-height: 85vh !important;
  width: auto !important;
  height: auto !important;
  display: block !important;
  margin: 0 auto !important;
  opacity: 1 !important;
}

/* Container & Dynamic Global Background */
.front-page_container__zQ9CM,
.container {
  position: relative !important;
  width: 100% !important;
  background-color: transparent !important;
}

.front-page_containerBackground__WBQKS,
.container__background {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  background-color: #000000 !important;
  z-index: 1 !important;
  pointer-events: none !important;
  opacity: 0;
  will-change: opacity;
}

/* ==========================================================================
   4. OTHER SECTIONS (Passiflora, Capsules, App, Grid, Testimonials, Footer)
   ========================================================================== */
.Passiflora_passiflora__uxVqR {
  position: relative !important;
  z-index: 2 !important;
  background: transparent !important;
  overflow: hidden !important;
}

.Passiflora_passifloraIlustration__3zNp3 img {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

/* Passiflora Information Section ("sofi capsules //") */
.Passiflora_passifloraInformation__sJaN_,
.passiflora__info__holder {
  padding-inline: clamp(20px, 4vw, 52px) !important;
  padding-block: 80px 120px !important;
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
  column-gap: 20px !important;
  background-color: transparent !important;
  position: relative !important;
  z-index: 2 !important;
}

.Passiflora_divider__sbX1e,
.passiflora__info__divider {
  height: 1px !important;
  background: #121212 !important;
  grid-column: 2 / span 10 !important;
  transform: scaleX(0);
  transform-origin: left center !important;
  margin-bottom: 40px !important;
}

.Passiflora_passifloraInformationTitle__P2HGL {
  grid-column: 2 / span 3 !important;
}

.Passiflora_passifloraInformationText__BTyM0 {
  grid-column: 8 / span 4 !important;
}

.passiflora__info__stager {
  font-style: normal !important;
  font-weight: 500 !important;
  font-size: 15px !important;
  line-height: 18px !important;
  letter-spacing: -0.005em !important;
  color: #121212 !important;
  margin: 0 0 24px 0 !important;
  transform: translateY(20px);
  opacity: 0;
}

@media only screen and (max-width: 1050px) {
  .Passiflora_passifloraInformation__sJaN_,
  .passiflora__info__holder {
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  }
  .Passiflora_divider__sbX1e,
  .passiflora__info__divider {
    grid-column: 1 / span 6 !important;
  }
  .Passiflora_passifloraInformationTitle__P2HGL {
    grid-column: 1 / span 6 !important;
    margin-bottom: 24px !important;
  }
  .Passiflora_passifloraInformationText__BTyM0 {
    grid-column: 1 / span 6 !important;
  }
}

/* ==========================================================================
   4. CAPSULES SECTION
   ========================================================================== */
.Capsules_capsules__4gHxX,
.capsules__holder {
  position: relative !important;
  z-index: 2 !important;
  background-color: #f7f7f7 !important;
  padding-top: 60px !important;
  padding-bottom: 20px !important;
  overflow: hidden !important;
}

.Capsules_capsulesWrapper__vCkNF {
  padding-inline: clamp(20px, 4vw, 52px) !important;
  box-sizing: border-box !important;
  max-width: 2560px !important;
  margin: 0 auto !important;
}

.Capsules_capsulesText__rY3kb {
  display: grid !important;
  grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
  column-gap: 20px !important;
}

.Capsules_capsulesText__rY3kb h2,
.color__change__color008 {
  font-style: normal !important;
  font-weight: 500 !important;
  font-size: clamp(48px, 8.5vw, 120px) !important;
  line-height: 0.95 !important;
  letter-spacing: -0.035em !important;
  grid-column: 1 / span 7 !important;
  margin: 0 !important;
  color: #000000 !important;
}

.Capsules_capsulesCta__NjRtN {
  grid-column: 9 / span 3 !important;
  margin-top: 33px !important;
}

.Capsules_capsulesCta__NjRtN p,
.color__change__color002 {
  font-style: normal !important;
  font-weight: 500 !important;
  font-size: 15px !important;
  line-height: 18px !important;
  letter-spacing: -0.005em !important;
  color: #555555 !important;
  margin: 0 0 20px 0 !important;
}

.Capsules_capsulesCardHolder__sE3fM {
  margin-top: 60px !important;
  margin-bottom: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
  column-gap: 20px !important;
}

.Capsules_capsule__GbTbr {
  border-radius: 24px !important;
  background-color: #ffffff !important;
  box-sizing: border-box !important;
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  cursor: pointer !important;
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.4s ease !important;
  box-shadow: 0 10px 35px rgba(0, 0, 0, 0.06) !important;
  padding: 36px 28px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  min-height: 520px !important;
}

.Capsules_capsule__GbTbr:hover {
  transform: translateY(-8px) scale(1.02) !important;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.1) !important;
}

.Capsules_capsuleBackground__h3KC0,
.capsule__card__bg__color {
  display: none !important;
}

.capsule__color {
  color: #121212 !important;
}

.capsule__cta__color {
  stroke: #121212 !important;
}

.Capsules_capsuleTop__SBm93 h2 {
  font-size: clamp(32px, 4vw, 56px) !important;
  line-height: 1.0 !important;
  letter-spacing: -0.03em !important;
  margin: 0 !important;
  color: #121212 !important;
}

.Capsules_latinName__1GWdw p {
  font-size: 13px !important;
  color: #888888 !important;
  margin: 6px 0 0 0 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
}

.Capsules_imageHolder__FQlua {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 24px 0 !important;
}

.Capsules_imageHolder__FQlua img {
  height: clamp(200px, 28vh, 300px) !important;
  width: auto !important;
  object-fit: contain !important;
  filter: drop-shadow(0 15px 25px rgba(0, 0, 0, 0.12)) !important;
}

.Capsules_cta__i8oOI {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding-top: 18px !important;
  border-top: 1px solid #f0f0f0 !important;
  font-size: 13px !important;
  color: #666666 !important;
}

.Capsules_cta__i8oOI p {
  margin: 0 !important;
}

.Capsules_cta__i8oOI span.capsule__color {
  font-weight: 600 !important;
  color: #000000 !important;
}

@media only screen and (max-width: 1050px) {
  .Capsules_capsulesText__rY3kb {
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  }
  .Capsules_capsulesText__rY3kb h2,
  .color__change__color008 {
    grid-column: 1 / span 6 !important;
  }
  .Capsules_capsulesCta__NjRtN {
    grid-column: 1 / span 6 !important;
    margin-top: 20px !important;
  }
  .Capsules_capsulesCardHolder__sE3fM {
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    row-gap: 20px !important;
  }
  .Capsules_capsule__GbTbr {
    grid-column: 1 / span 6 !important;
  }
}

/* ==========================================================================
   5. APPLICATION SECTION & HEADLINE SCRUB
   ========================================================================== */
.Application_application__JD6O3 {
  position: relative !important;
  z-index: 2 !important;
  background-color: #f7f7f7 !important;
  padding-top: 40px !important;
  padding-bottom: 80px !important;
  overflow: hidden !important;
}

.Application_applicationWrapper__QmTwH {
  max-width: 2560px !important;
  margin: 0 auto !important;
  padding-inline: clamp(20px, 4vw, 52px) !important;
  box-sizing: border-box !important;
}

.Application_applicationTitle__MCfcc {
  position: relative !important;
  max-width: 1400px !important;
  margin-top: 20px !important;
  margin-bottom: 60px !important;
}

.Application_applicationTitle__MCfcc h2,
#splitText2 {
  font-style: normal !important;
  font-weight: 500 !important;
  font-size: clamp(48px, 8.5vw, 128px) !important;
  line-height: 0.94 !important;
  letter-spacing: -0.035em !important;
  color: #d2d2d2 !important;
  margin: 0 !important;
  user-select: none !important;
}

.Application_applicationTitle__MCfcc .split-word {
  display: inline-block !important;
  white-space: nowrap !important;
}

.Application_applicationTitle__MCfcc .split-char {
  display: inline-block !important;
  color: #d2d2d2;
  will-change: color;
  transition: color 0.1s linear;
}

.Application_mobileAplicationCta__Ox9q1,
.Application_appScreenText__7gasn {
  display: block !important;
  margin-bottom: 60px !important;
}

.Application_mobileAplicationCta__Ox9q1 p,
.Application_appScreenText__7gasn p,
.mobile__paragraph__one {
  font-size: 16px !important;
  line-height: 1.6 !important;
  color: #666666 !important;
  max-width: 620px !important;
  margin: 0 !important;
}

/* Pinned Screens Container */
.Application_applicationScreensHolder__6BiIG,
.application__pin__holder {
  position: relative !important;
  width: 100% !important;
  height: 100vh !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 auto !important;
}

.Application_applicationScreens__FMpAF,
.application__screens {
  width: 100% !important;
  max-width: 1350px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: clamp(16px, 3vw, 44px) !important;
  height: auto !important;
  position: relative !important;
}

.Application_appScreen__xK5WF {
  width: clamp(240px, 24vw, 340px) !important;
  height: auto !important;
  aspect-ratio: 338 / 732 !important;
  border-radius: 46px !important;
  position: relative !important;
  overflow: hidden !important;
  background-color: #000000 !important;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.14) !important;
  transition: transform 0.4s ease, box-shadow 0.4s ease !important;
}

.Application_applicationVideoHolder__u8XNB.main__app {
  transform: scale(1.05) !important;
  z-index: 5 !important;
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.22) !important;
}

.Application_iphoneMockup__Gu283 {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  z-index: 10 !important;
  pointer-events: none !important;
  object-fit: fill !important;
}

.Application_appCanvasHolder__s6_VX {
  position: relative !important;
  width: 100% !important;
  height: 100% !important;
  overflow: hidden !important;
}

.Application_applicationAnimation__pVkm_ {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  overflow: hidden !important;
}

.Application_homeScreen__mnsjC,
.home__app {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background: #01040e !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  padding: 85px 24px 80px 24px !important;
  box-sizing: border-box !important;
  z-index: 2 !important;
}

.Application_journalingScreen__GSukF,
.journal__app {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background: #01040e !important;
  padding: 85px 24px 80px 24px !important;
  box-sizing: border-box !important;
  z-index: 3 !important;
}

.Application_applicationNavigationHolder__slMLs {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  z-index: 4 !important;
  pointer-events: none !important;
}

.Application_appHeader__02ZjX {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
}

.Application_appHeader__02ZjX svg {
  width: 100% !important;
  height: auto !important;
  display: block !important;
}

.Application_appFooter___iEdc {
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  width: 100% !important;
}

.Application_appFooter___iEdc svg {
  width: 100% !important;
  height: auto !important;
  display: block !important;
}

@media only screen and (max-width: 900px) {
  .Application_applicationScreens__FMpAF {
    flex-direction: column !important;
    gap: 30px !important;
  }
  .Application_applicationScreensHolder__6BiIG {
    height: auto !important;
    padding-block: 40px !important;
  }
}

/* ==========================================================================
   6. TITLE BREAK SECTION ("we learn across individual responses")
   ========================================================================== */
.TitleBreakSection_titleBreakSection__x5q1L {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  padding-block: 140px 100px !important;
  background-color: #f7f7f7 !important;
  position: relative !important;
  z-index: 2 !important;
}

.TitleBreakSection_titleBreakSectionWrapper__kMV5v {
  max-width: 2560px !important;
  margin: 0 auto !important;
  padding-inline: clamp(20px, 4vw, 52px) !important;
  box-sizing: border-box !important;
  text-align: center !important;
}

.TitleBreakSection_titleBreakSectionWrapper__kMV5v h2,
#splitText3 {
  font-weight: 500 !important;
  font-size: clamp(48px, 8.5vw, 128px) !important;
  line-height: 0.92 !important;
  letter-spacing: -0.035em !important;
  color: #d2d2d2 !important;
  margin: 0 !important;
  text-align: center !important;
}

.TitleBreakSection_titleBreakSectionWrapper__kMV5v .split-char {
  display: inline-block !important;
  color: #d2d2d2;
  will-change: color;
  transition: color 0.1s linear;
}

.TitleBreakSection_titleBreakSectionWrapper__kMV5v .split-word {
  display: inline-block !important;
  white-space: nowrap !important;
}

.TitleBreakSection_titleBreakSectionWrapper__kMV5v p {
  font-weight: 500 !important;
  font-size: 15px !important;
  line-height: 18px !important;
  letter-spacing: -0.005em !important;
  text-align: center !important;
  color: #888888 !important;
  margin-top: 24px !important;
  margin-bottom: 0 !important;
}

/* ==========================================================================
   7. BENTO GRID STATS SECTION
   ========================================================================== */
.GridSection_gridSection__jA9yV,
.grid__section__holder {
  position: relative !important;
  z-index: 2 !important;
  background-color: #f7f7f7 !important;
  padding-block: 80px 120px !important;
  overflow: hidden !important;
}

.GridSection_gridSectionWrapper__wdUld {
  width: 100% !important;
  max-width: 2560px !important;
  margin: 0 auto !important;
  padding-inline: clamp(20px, 4vw, 52px) !important;
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
  column-gap: 20px !important;
  row-gap: 20px !important;
}

.GridSection_gridBlock__ilKbM {
  background: #ffffff !important;
  border-radius: 24px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05) !important;
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s ease !important;
  padding: 32px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
}

.GridSection_gridBlock__ilKbM:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 18px 45px rgba(0, 0, 0, 0.09) !important;
}

.GridSection_grid01__j_D20 {
  grid-row: 1 / span 2 !important;
  grid-column: 1 / span 4 !important;
  padding: 36px 28px 0 28px !important;
}

.GridSection_grid01__j_D20 h2 {
  font-size: clamp(28px, 3.2vw, 44px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.02em !important;
  color: #121212 !important;
  margin: 0 0 24px 0 !important;
}

.GridSection_grid01__j_D20 .GridSection_imageHolder__2DUA1 img {
  width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
}

.GridSection_grid02__5hyQT {
  grid-column: 5 / span 4 !important;
}

.GridSection_grid02__5hyQT h2 {
  font-size: clamp(48px, 6vw, 76px) !important;
  line-height: 1.0 !important;
  letter-spacing: -0.03em !important;
  color: #121212 !important;
  margin: 0 0 12px 0 !important;
}

.GridSection_grid02__5hyQT p {
  font-size: 15px !important;
  line-height: 1.45 !important;
  color: #666666 !important;
  margin: 0 !important;
}

.GridSection_grid03__fcjkA {
  grid-column: 9 / span 4 !important;
}

.GridSection_grid03__fcjkA .GridSection_text__VXiVP h2 {
  font-size: clamp(48px, 6vw, 76px) !important;
  line-height: 1.0 !important;
  color: #121212 !important;
  margin: 0 0 8px 0 !important;
}

.GridSection_grid03__fcjkA .GridSection_text__VXiVP p {
  font-size: 15px !important;
  color: #666666 !important;
  margin: 0 !important;
}

.GridSection_grid04__MqD7D {
  grid-column: 5 / span 8 !important;
}

.GridSection_grid04__MqD7D h2 {
  font-size: clamp(32px, 4vw, 54px) !important;
  line-height: 1.1 !important;
  letter-spacing: -0.025em !important;
  color: #121212 !important;
  margin: 0 !important;
}

.GridSection_grid05__4e4Ei {
  grid-column: 1 / span 6 !important;
}

.GridSection_grid05__4e4Ei .GridSection_text__VXiVP h2 {
  font-size: clamp(48px, 6vw, 76px) !important;
  line-height: 1.0 !important;
  color: #121212 !important;
  margin: 0 0 8px 0 !important;
}

.GridSection_grid05__4e4Ei .GridSection_text__VXiVP p {
  font-size: 15px !important;
  color: #666666 !important;
  margin: 0 !important;
}

.GridSection_grid06__7lXMW {
  grid-column: 7 / span 6 !important;
}

.GridSection_grid06__7lXMW .GridSection_text__VXiVP h2 {
  font-size: clamp(48px, 6vw, 76px) !important;
  line-height: 1.0 !important;
  color: #121212 !important;
  margin: 0 0 8px 0 !important;
}

.GridSection_grid06__7lXMW .GridSection_text__VXiVP p {
  font-size: 15px !important;
  color: #666666 !important;
  margin: 0 !important;
}

@media only screen and (max-width: 1050px) {
  .GridSection_gridSectionWrapper__wdUld {
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  }
  .GridSection_grid01__j_D20 {
    grid-column: 1 / span 6 !important;
    grid-row: auto !important;
  }
  .GridSection_grid02__5hyQT,
  .GridSection_grid03__fcjkA,
  .GridSection_grid04__MqD7D,
  .GridSection_grid05__4e4Ei,
  .GridSection_grid06__7lXMW {
    grid-column: 1 / span 6 !important;
  }
}

/* ==========================================================================
   8. TESTIMONIALS SECTION
   ========================================================================== */
.Testimonials_testimonials__Gzrzm {
  position: relative !important;
  z-index: 2 !important;
  background-color: #f7f7f7 !important;
  padding-block: 100px 140px !important;
  overflow: hidden !important;
}

.Testimonials_testimonialsWrapper__S58aP {
  max-width: 2560px !important;
  margin: 0 auto !important;
  padding-inline: clamp(20px, 4vw, 52px) !important;
  box-sizing: border-box !important;
  text-align: center !important;
}

.Testimonials_testimonialsHeadline__qPCu7 h2 {
  font-size: clamp(60px, 12vw, 180px) !important;
  line-height: 0.95 !important;
  letter-spacing: -0.035em !important;
  color: #121212 !important;
  margin: 0 0 24px 0 !important;
  text-align: center !important;
}

.Testimonials_testimonialsHeadline__qPCu7 p {
  font-size: 16px !important;
  line-height: 1.5 !important;
  color: #666666 !important;
  max-width: 520px !important;
  margin: 0 auto 60px auto !important;
  text-align: center !important;
}

.testimonials__content__holder {
  max-width: 900px !important;
  margin: 0 auto !important;
  padding: 48px 36px !important;
  background: #ffffff !important;
  border-radius: 28px !important;
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.06) !important;
}

/* ==========================================================================
   9. IMAGE BREAK & FOOTER
   ========================================================================== */
.ImageBreakSection_ImageBreakSection__qCgXI {
  position: relative !important;
  z-index: 9 !important;
  height: 100vh !important;
  overflow: hidden !important;
  background: #000 !important;
}

.ImageBreakSection_ImageBreakSectionWrapper__BM0y8 img {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
}

.AwwwFooter_footer__4TGrf,
.footer {
  position: relative !important;
  z-index: 10 !important;
  background-color: #f7f7f7 !important;
  padding-block: 80px 40px !important;
  margin-top: 0 !important;
}

.AwwwFooter_footerHolder__0qJtk {
  max-width: 2560px !important;
  margin: 0 auto !important;
  padding-inline: clamp(20px, 4vw, 52px) !important;
  box-sizing: border-box !important;
}

.AwwwFooter_footerTitles__Venxz {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin-bottom: 60px !important;
  flex-wrap: wrap !important;
  gap: 20px !important;
}

.AwwwFooter_footerTitle__L0BZM p {
  font-size: clamp(48px, 10vw, 140px) !important;
  line-height: 0.95 !important;
  letter-spacing: -0.035em !important;
  color: #121212 !important;
  margin: 0 !important;
}

.AwwwFooter_footerTitle__L0BZM span {
  font-size: 14px !important;
  color: #888888 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  display: block !important;
  margin-bottom: 8px !important;
}

/* Pin Spacer Normalization */
.pin-spacer {
  background-color: transparent !important;
}
.pin-spacer:has(.video__section__1) {
  background-color: #000000 !important;
}

/* Floating CTA button */
.FloatingCta_floatingCta__UxVk_ {
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.4s ease;
  opacity: 0;
  transform: translateY(20px);
  pointer-events: none;
  z-index: 99;
}
.FloatingCta_floatingCta__UxVk_.visible {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

/* Navigation Drawer */
.sofi-menu-overlay {
  position: fixed;
  top: 0;
  right: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.9);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  z-index: 1000;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.35s cubic-bezier(0.16, 1, 0.3, 1);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.sofi-menu-overlay.active {
  opacity: 1;
  pointer-events: auto;
}
.sofi-menu-close {
  position: absolute;
  top: 32px;
  right: 40px;
  background: none;
  border: none;
  color: #fff;
  font-size: 36px;
  cursor: pointer;
  padding: 8px;
  line-height: 1;
}
.sofi-menu-links {
  list-style: none;
  padding: 0;
  margin: 0;
  text-align: center;
}
.sofi-menu-links li {
  margin: 20px 0;
}
.sofi-menu-links a {
  color: #f7f7f7;
  font-size: clamp(2rem, 5vw, 3.5rem);
  text-decoration: none;
  letter-spacing: -0.02em;
  transition: opacity 0.2s ease, transform 0.2s ease;
  display: inline-block;
}
.sofi-menu-links a:hover {
  opacity: 0.6;
  transform: translateX(10px);
}
