/* ─────────────────────────────────────────────────────────────────────────────
   GLOBAL RESETS
   ───────────────────────────────────────────────────────────────────────────── */

body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

*[tabindex]:focus-visible,
input[type="file"]:focus-visible {
  outline: 0.125rem solid #4d65ff;
  outline-offset: 0.125rem;
}

.inherit-color * {
  color: inherit;
}

.w-richtext> :not(div):first-child,
.w-richtext>div:first-child> :first-child {
  margin-top: 0 !important;
}

.w-richtext> :last-child,
.w-richtext ol li:last-child,
.w-richtext ul li:last-child {
  margin-bottom: 0 !important;
}

.container-medium,
.container-small,
.container-large {
  margin-right: auto !important;
  margin-left: auto !important;
}

.text-style-3lines {
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}

.text-style-2lines {
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.hide {
  display: none !important;
}

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

  .hide,
  .hide-tablet {
    display: none !important;
  }
}

@media screen and (max-width: 767px) {
  .hide-mobile-landscape {
    display: none !important;
  }
}

@media screen and (max-width: 479px) {
  .hide-mobile {
    display: none !important;
  }
}

.margin-0 {
  margin: 0rem !important;
}

.padding-0 {
  padding: 0rem !important;
}

.spacing-clean {
  padding: 0rem !important;
  margin: 0rem !important;
}

.margin-top {
  margin-right: 0rem !important;
  margin-bottom: 0rem !important;
  margin-left: 0rem !important;
}

.padding-top {
  padding-right: 0rem !important;
  padding-bottom: 0rem !important;
  padding-left: 0rem !important;
}

.margin-right {
  margin-top: 0rem !important;
  margin-bottom: 0rem !important;
  margin-left: 0rem !important;
}

.padding-right {
  padding-top: 0rem !important;
  padding-bottom: 0rem !important;
  padding-left: 0rem !important;
}

.margin-bottom {
  margin-top: 0rem !important;
  margin-right: 0rem !important;
  margin-left: 0rem !important;
}

.padding-bottom {
  padding-top: 0rem !important;
  padding-right: 0rem !important;
  padding-left: 0rem !important;
}

.margin-left {
  margin-top: 0rem !important;
  margin-right: 0rem !important;
  margin-bottom: 0rem !important;
}

.padding-left {
  padding-top: 0rem !important;
  padding-right: 0rem !important;
  padding-bottom: 0rem !important;
}

.margin-horizontal {
  margin-top: 0rem !important;
  margin-bottom: 0rem !important;
}

.padding-horizontal {
  padding-top: 0rem !important;
  padding-bottom: 0rem !important;
}

.margin-vertical {
  margin-right: 0rem !important;
  margin-left: 0rem !important;
}

.padding-vertical {
  padding-right: 0rem !important;
  padding-left: 0rem !important;
}

/* ─────────────────────────────────────────────────────────────────────────────
   SCALING SYSTEM — Osmo (https://osmo.supply/)
   ───────────────────────────────────────────────────────────────────────────── */

body {
  font-size: var(--size-font);
}

.container {
  max-width: var(--size-container);
}

.container.medium {
  max-width: calc(var(--size-container) * 0.85);
}

.container.small {
  max-width: calc(var(--size-container) * 0.7);
}

/* Desktop */
:root {
  --size-unit: 16;
  /* body font-size in design - no px */
  --size-container-ideal: 1440;
  /* screen-size in design - no px */
  --size-container-min: 992px;
  --size-container-max: 1920px;
  --size-container: clamp(var(--size-container-min), 100vw, var(--size-container-max));
  --size-font: calc(var(--size-container) / (var(--size-container-ideal) / var(--size-unit)));
}

/* Large screens - stop scaling, add margins instead */
@media (min-width: 1441px) {
  :root {
    --size-font: 16px;
    /* Lock font size at design base */
    --size-container: 1440px;
    /* Lock container at design width */
  }
}

/* Tablet */
@media screen and (max-width: 991px) {
  :root {
    --size-container-ideal: 834;
    /* screen-size in design - no px */
    --size-container-min: 768px;
    --size-container-max: 991px;
  }
}

/* Mobile Landscape */
@media screen and (max-width: 767px) {
  :root {
    --size-container-ideal: 390;
    /* screen-size in design - no px */
    --size-container-min: 480px;
    --size-container-max: 767px;
  }
}

/* Mobile Portrait */
@media screen and (max-width: 479px) {
  :root {
    --size-container-ideal: 390;
    /* screen-size in design - no px */
    --size-container-min: 320px;
    --size-container-max: 479px;
  }
}

/* ─────────────────────────────────────────────────────────────────────────────
   SITE LOADER
   ───────────────────────────────────────────────────────────────────────────── */

:is(.wf-design-mode, .w-editor) .loading-container {
  display: none;
}

/* ─────────────────────────────────────────────────────────────────────────────
   NAV
   ───────────────────────────────────────────────────────────────────────────── */

:root {
  --nav-bg-height: calc(20em + calc(2em + 3em + 2.5em + 3em));
  --cubic-default: cubic-bezier(0.525, 0, 0, 1);
  --duration-fast: 0.2s;
  --duration-normal: 0.450s;
  --color-dark: #2b1d15;
}

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

a:focus-visible,
button:focus-visible {
  outline: 1px solid var(--color-dark);
}

.nav-bg {
  transition: height var(--duration-normal) var(--cubic-default);
}

.page-bg {
  transition: opacity var(--duration-fast) var(--cubic-default);
}

.nav {
  transition: color var(--duration-fast) var(--cubic-default),
    transform 1s ease,
    padding 1s ease;
}

.nav-button {
  transition: all var(--duration-fast) var(--cubic-default);
}

.nav-dropdown {
  transition: all var(--duration-fast) ease, transform var(--duration-normal) var(--cubic-default);
}

[data-dropdown-toggle]:not([data-dropdown-toggle="closed"]):hover+.nav-dropdown,
[data-dropdown-toggle]:not([data-dropdown-toggle="closed"]):focus-visible+.nav-dropdown,
[data-dropdown-toggle]:not([data-dropdown-toggle="closed"])+.nav-dropdown:hover,
[data-dropdown-toggle]:not([data-dropdown-toggle="closed"])+.nav-dropdown:focus-within {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

:is(body:has([data-dropdown-toggle]:not([data-dropdown-toggle="closed"]):hover),
  body:has([data-dropdown-toggle]:not([data-dropdown-toggle="closed"]):focus-visible),
  body:has([data-dropdown-toggle]:not([data-dropdown-toggle="closed"]):focus-within),
  body:has([data-dropdown-toggle]:not([data-dropdown-toggle="closed"]) + .nav-dropdown:hover),
  body:has([data-dropdown-toggle]:not([data-dropdown-toggle="closed"]) + .nav-dropdown:focus-within)) {
  .nav-bg {
    height: var(--nav-bg-height);
  }

  .page-bg {
    opacity: 1;
  }

  .nav {
    color: var(--color-dark);
  }

  .nav-button {
    border-color: var(--color-dark);
    color: var(--color-dark);
  }

  .nav-button.is--primary {
    background-color: var(--color-dark);
    border-color: var(--color-dark);
    color: #fff;
  }
}

.nav-link__dropdown-icon {
  transition: transform var(--duration-normal) var(--cubic-default);
}

[data-dropdown-toggle] {
  transition: background-color var(--duration-fast) var(--cubic-default);
}

@media screen and (min-width: 768px) {

  [data-dropdown-toggle]:not([data-dropdown-toggle="closed"]):hover .nav-link__dropdown-icon,
  [data-dropdown-toggle]:not([data-dropdown-toggle="closed"]):focus .nav-link__dropdown-icon,
  [data-dropdown-toggle]:not([data-dropdown-toggle="closed"]):focus-within .nav-link__dropdown-icon,
  [data-dropdown-toggle]:not([data-dropdown-toggle="closed"]):has(+ .nav-dropdown:hover) .nav-link__dropdown-icon,
  [data-dropdown-toggle]:not([data-dropdown-toggle="closed"]):has(+ .nav-dropdown:focus-within) .nav-link__dropdown-icon {
    transform: rotate(180deg);
  }

  [data-dropdown-toggle]:not([data-dropdown-toggle="closed"]):hover,
  [data-dropdown-toggle]:not([data-dropdown-toggle="closed"]):focus,
  [data-dropdown-toggle]:not([data-dropdown-toggle="closed"]):focus-within,
  [data-dropdown-toggle]:not([data-dropdown-toggle="closed"]):has(+ .nav-dropdown:hover),
  [data-dropdown-toggle]:not([data-dropdown-toggle="closed"]):has(+ .nav-dropdown:focus-within) {
    background-color: #f9f6ee;
  }
}

.nav-dropdown__content-li {
  transition: all var(--duration-normal) var(--cubic-default);
  transition-delay: 0.18s;
  opacity: 0;
  transform: translate(4em, 0px);
}

.nav-dropdown__content-li:nth-child(2) {
  transition-delay: 0.24s;
}

.nav-dropdown__content-li:nth-child(3) {
  transition-delay: 0.3s;
}

.nav-dropdown__content-li:nth-child(4) {
  transition-delay: 0.36s;
}

.nav-dropdown__content-li:nth-child(5) {
  transition-delay: 0.44s;
}

body:has([data-dropdown-toggle]:not([data-dropdown-toggle="closed"]):hover) [data-dropdown-toggle]:not([data-dropdown-toggle="closed"]):hover+.nav-dropdown .nav-dropdown__content-li,
body:has([data-dropdown-toggle]:not([data-dropdown-toggle="closed"]):focus-visible) .nav-dropdown__content-li,
body:has([data-dropdown-toggle]:not([data-dropdown-toggle="closed"]):focus-within) .nav-dropdown__content-li,
body:has([data-dropdown-toggle]:not([data-dropdown-toggle="closed"]) + .nav-dropdown:hover) .nav-dropdown__content-li,
body:has([data-dropdown-toggle]:not([data-dropdown-toggle="closed"]) + .nav-dropdown:focus-within) .nav-dropdown__content-li {
  opacity: 1;
  transform: translate(0em, 0px);
}

.nav-dropdown__link:hover .nav-dropdown__img-overlay,
.nav-dropdown__link:focus-visible .nav-dropdown__img-overlay {
  opacity: 0;
}

.nav-dropdown__link:hover .nav-dropdown__img,
.nav-dropdown__link:focus-visible .nav-dropdown__img {
  transform: scale(1.1);
}

.nav-dropdown__link.is--static:hover,
.nav-dropdown__link.is--static:focus-visible {
  background: #d7d1cd;
}

a.nav-link .nav-link__label::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -0.3em;
  width: 100%;
  height: 1px;
  background: currentColor;
  transition: transform var(--duration-normal) var(--cubic-default);
  transform: scale(0, 1);
  transform-origin: right center;
}

a.nav-link:hover .nav-link__label::after,
a.nav-link:focus-visible .nav-link__label::after {
  transform: scale(1, 1);
  transform-origin: left center;
}

@media screen and (max-width: 767px) {
  :root {
    --nav-bg-height: 100dvh;
  }

  .nav-dropdown__overflow {
    transition: grid-template-rows var(--duration-normal) var(--cubic-default);
  }

  .nav-center {
    transition: all var(--duration-normal) var(--cubic-default), opacity var(--duration-fast) var(--cubic-default);
  }

  .menu-button__line {
    transition: all var(--duration-normal) var(--cubic-default);
  }

  :is([data-menu-status="open"]) {
    color: var(--color-dark);

    .menu-button__line:nth-of-type(1) {
      transform: translate(0px, 0.125em) rotate(135deg);
      background-color: #000;
    }

    .menu-button__line:nth-of-type(2) {
      transform: translate(0px, -0.175em) rotate(-135deg);
      background-color: #000;
    }

    .nav-bg {
      height: var(--nav-bg-height);
    }

    .page-bg {
      opacity: 1;
    }

    .nav-button.is--primary {
      background-color: var(--color-dark);
      border-color: var(--color-dark);
      color: #fff;
    }

    .nav-center {
      opacity: 1;
      visibility: visible;
      transform: translate(0px, 0em);
      transition-delay: 0.1s;
    }
  }

  [data-dropdown-toggle="open"]+.nav-dropdown .nav-dropdown__overflow {
    grid-template-rows: 1fr;
  }

  [data-dropdown-toggle="open"]+.nav-dropdown .nav-dropdown__content-li {
    opacity: 1;
    transform: translate(0em, 0px);
  }

  [data-dropdown-toggle="open"] .nav-link__dropdown-icon {
    transform: rotate(180deg);
  }
}

/* Scroll direction */
nav {
  transform: translateY(0%) rotate(0.001deg);
  padding: 1em 1em;
}

[data-scrolling-started="true"] nav {
  padding: 1em 1em;
}

[data-scrolling-started="true"][data-scrolling-direction="down"] nav {
  transform: translateY(-100%) rotate(0.001deg);
}

.nav-inner {
  transition: background-color 1s ease;
}

/* Preload — suppress nav transitions on initial paint */
.preload .nav-dropdown,
.preload .nav-dropdown__content-li,
.preload .nav-bg,
.preload .page-bg {
  transition: none !important;
}

/* ─────────────────────────────────────────────────────────────────────────────
   SPLIT HEADINGS
   ───────────────────────────────────────────────────────────────────────────── */

h1 .split-line,
h2 .split-line,
h3 .split-line,
h4 .split-line,
h5 .split-line,
h6 .split-line {
  display: inline-block !important;
  vertical-align: baseline;
  text-align: inherit !important;
}

/* ─────────────────────────────────────────────────────────────────────────────
   MAIN TITLE
   ───────────────────────────────────────────────────────────────────────────── */

.main-title__list:hover:has(.main-title__item:hover) .main-title__item:not(:hover) {
  opacity: 0.45;
}

.main-title::after {
  position: absolute;
  content: '';
  top: 50%;
  right: -0.3em;
  width: 0.75em;
  height: 0.15em;
  border-radius: 100em;
  background: currentColor;
  opacity: 0;
  transition: all 0.525s cubic-bezier(0.65, 0.05, 0, 1);
  transform: translate(100%, 0%) scale(0);
}

.main-title__item:hover .main-title::after {
  transform: translate(0%, 0%) scale(1);
  opacity: 1;
  width: 0.15em;
}

.overlay-title__wrap .main-title {
  position: absolute;
  font-size: 9em;
}

/* ─────────────────────────────────────────────────────────────────────────────
   COPY EMAIL BUTTON
   ───────────────────────────────────────────────────────────────────────────── */

@media (hover: hover) {
  .copy-email-button:hover .copy-email-icon__wrap {
    background: #fbbe86 !important;
  }

  .copy-email-button:hover .copy-email-text__el {
    transform: translate(0px, -100%);
  }
}

.copy-email-button:focus .copy-email-icon__wrap {
  background: #f39008 !important;
}

.copy-email-button:focus .copy-email-text__el {
  transform: translate(0px, -100%);
}

[data-copy-button="copied"] .copy-email-icon__wrap {
  background: #f39008 !important;
}

[data-copy-button="copied"] .copy-email-text__el {
  transform: translate(0px, -200%) !important;
  color: white !important;
}

/* ─────────────────────────────────────────────────────────────────────────────
   UNDERLINE ANIMATION BUTTON
   ───────────────────────────────────────────────────────────────────────────── */

.underline-link::before,
.underline-link.is--alt::before,
.underline-link.is--alt::after {
  content: "";
  position: absolute;
  bottom: 0em;
  left: 0;
  width: 100%;
  height: 0.1em;
  background-color: #f39008 !important;
  bottom: -0.3em;
  transition: transform 0.735s cubic-bezier(0.625, 0.05, 0, 1);
  transform-origin: right;
  transform: scaleX(0) rotate(0.001deg);
}

.underline-link:hover::before {
  transform-origin: left;
  transform: scaleX(1) rotate(0.001deg);
}

.underline-link.is--alt::before {
  transform-origin: left;
  transform: scaleX(1) rotate(0.001deg);
  transition-delay: 0.3s;
}

.underline-link.is--alt:hover::before {
  transform-origin: right;
  transform: scaleX(0) rotate(0.001deg);
  transition-delay: 0s;
}

.underline-link.is--alt::after {
  transform-origin: right;
  transform: scaleX(0) rotate(0.001deg);
  transition-delay: 0s;
}

.underline-link.is--alt:hover::after {
  transform-origin: left;
  transform: scaleX(1) rotate(0.001deg);
  transition-delay: 0.3s;
}

/* ─────────────────────────────────────────────────────────────────────────────
   CSS SLIDER
   ───────────────────────────────────────────────────────────────────────────── */

[data-gsap-slider-init] {
  --slider-status: on;
  --slider-spv: 3;
  --slider-gap: 1.5em;
}

@media screen and (max-width: 991px) {
  [data-gsap-slider-init] {
    --slider-status: on;
    --slider-spv: 2.25;
    --slider-gap: 1.5em;
  }
}

@media screen and (max-width: 767px) {
  [data-gsap-slider-init] {
    --slider-status: on;
    --slider-spv: 1.15;
    --slider-gap: 1em;
  }
}

[data-gsap-slider-item]:last-child {
  margin-right: 0;
}

[data-gsap-slider-status="not-active"] [data-gsap-slider-controls] {
  display: none;
}

[data-gsap-slider-control-status="not-active"] {
  opacity: 0.2;
  pointer-events: none;
}

[data-gsap-slider-list] {
  touch-action: pan-y;
}

/* ─────────────────────────────────────────────────────────────────────────────
   FILTER BUTTONS
   ───────────────────────────────────────────────────────────────────────────── */

.filter-btn {
  transition: color 0.6s cubic-bezier(0.625, 0.05, 0, 1), background-color 0.6s cubic-bezier(0.625, 0.05, 0, 1);
}

.filter-btn[data-filter-status="active"] {
  background-color: #72256b;
  color: #efeeec;
}

.reset-btn {
  transition: all 0.6s cubic-bezier(0.625, 0.05, 0, 1);
  opacity: 0;
  visibility: hidden;
}

.reset-btn[data-filter-status="active"] {
  opacity: 1;
  visibility: visible;
}

.w-dyn-item {
  transition: opacity 0.6s cubic-bezier(0.625, 0.05, 0, 1),
    transform 0.6s cubic-bezier(0.625, 0.05, 0, 1);
  will-change: opacity, transform;
}

[data-filter-name] {
  transition: opacity 0.6s cubic-bezier(0.625, 0.05, 0, 1),
    transform 0.6s cubic-bezier(0.625, 0.05, 0, 1);
  will-change: opacity, transform;
}

[data-filter-name][data-filter-status="active"] {
  transform: scale(1) rotate(0.001deg);
  opacity: 1;
  visibility: visible;
  position: relative;
  display: block;
  pointer-events: auto;
}

[data-filter-name][data-filter-status="transition-out"] {
  transition: opacity 0.45s cubic-bezier(0.625, 0.05, 0, 1),
    transform 0.45s cubic-bezier(0.625, 0.05, 0, 1);
  transform: scale(0.9) rotate(0.001deg);
  opacity: 0;
  visibility: hidden;
  display: block;
  pointer-events: none;
}

[data-filter-name][data-filter-status="not-active"] {
  opacity: 0;
  transform: scale(0.9) rotate(0.001deg);
  visibility: hidden;
  position: absolute;
  pointer-events: none;
  height: 0;
  overflow: hidden;
}

[data-filter-target-match] {
  transition: opacity 0.6s cubic-bezier(0.625, 0.05, 0, 1),
    transform 0.6s cubic-bezier(0.625, 0.05, 0, 1);
  will-change: opacity, transform;
}

[data-filter-target-match][data-filter-status="active"] {
  transform: scale(1) rotate(0.001deg);
  opacity: 1;
  visibility: visible;
  position: relative;
  display: block;
  pointer-events: auto;
}

[data-filter-target-match][data-filter-status="transition-out"] {
  transition: opacity 0.45s cubic-bezier(0.625, 0.05, 0, 1),
    transform 0.45s cubic-bezier(0.625, 0.05, 0, 1);
  transform: scale(0.9) rotate(0.001deg);
  opacity: 0;
  visibility: hidden;
  display: block;
  pointer-events: none;
}

[data-filter-target-match][data-filter-status="not-active"] {
  opacity: 0;
  transform: scale(0.9) rotate(0.001deg);
  visibility: hidden;
  position: absolute;
  pointer-events: none;
  height: 0;
  overflow: hidden;
}

[data-filter-name],
[data-filter-target-match] {
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  perspective: 1000px;
  -webkit-perspective: 1000px;
}

/* ─────────────────────────────────────────────────────────────────────────────
   ACCORDION CSS
   ───────────────────────────────────────────────────────────────────────────── */

.accordion-css__item-bottom {
  transition: grid-template-rows 0.6s cubic-bezier(0.625, 0.05, 0, 1);
}

[data-accordion-status="active"] .accordion-css__item-bottom {
  grid-template-rows: 1fr;
}

.accordion-css__item-icon {
  transition: transform 0.6s cubic-bezier(0.625, 0.05, 0, 1);
}

[data-accordion-status="active"] .accordion-css__item-icon {
  transform: rotate(0.001deg);
}

/* ─────────────────────────────────────────────────────────────────────────────
   STICKY FEATURES
   ───────────────────────────────────────────────────────────────────────────── */

.wf-design-mode .sticky-features__text-list {
  overflow: auto;
  max-height: 45em;
  gap: 2em;
  justify-content: flex-start;
}

.wf-design-mode .sticky-features__text-item {
  position: relative;
}

.wf-design-mode [data-sticky-feature-item] {
  visibility: visible;
}

[data-sticky-feature*] {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

@media (max-width: 991px) {
  .sticky-features__col {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    transform: none !important;
    width: 100% !important;
  }

  .sticky-features__col.is--img {
    order: -1;
  }
}

/* ─────────────────────────────────────────────────────────────────────────────
   SERVICE WRAPPER
   ───────────────────────────────────────────────────────────────────────────── */

@media (min-width: 992px) {
  .service-wrapper {
    position: relative;
    display: block;
    overflow: visible;
    min-height: 45em;
    height: 45em;
  }

  .image-wrapper.is-services {
    position: relative;
    overflow: hidden;
    transition: height 0.6s cubic-bezier(0.65, 0, 0.35, 1);
    height: 100%;
    z-index: 2;
  }

  .image-wrapper.is-services .services-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }

  .service-wrapper_content {
    position: absolute;
    z-index: 1;
    opacity: 0;
    transition: opacity 0.4s ease;
    transition-delay: 0s;
  }

  .image-wrapper.is-services .cover-video {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
  }

  .service-wrapper:first-child .image-wrapper.is-services {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
  }

  .service-wrapper:first-child .service-wrapper_content {
    bottom: 0;
    left: 0;
    right: 0;
  }

  .service-wrapper:first-child:hover .image-wrapper.is-services {
    height: 60%;
  }

  .service-wrapper:first-child:hover .service-wrapper_content {
    opacity: 1;
    transition-delay: 0.5s;
  }

  .service-wrapper:last-child .image-wrapper.is-services {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
  }

  .service-wrapper:last-child .service-wrapper_content {
    top: 0;
    left: 0;
    right: 0;
  }

  .service-wrapper:last-child:hover .image-wrapper.is-services {
    height: 60%;
  }

  .service-wrapper:last-child:hover .service-wrapper_content {
    opacity: 1;
    transition-delay: 0.5s;
  }
}

@media (max-width: 991px) {
  .service-wrapper {
    min-height: 0;
    height: auto;
    overflow: visible;
  }

  .image-wrapper.is-services,
  .service-wrapper:first-child .image-wrapper.is-services,
  .service-wrapper:last-child .image-wrapper.is-services {
    position: relative;
    height: auto;
    width: auto;
    top: auto;
    bottom: auto;
    left: auto;
    right: auto;
    transition: none;
  }

  .image-wrapper.is-services .services-image {
    width: 100%;
    height: 100%;
    object-fit: unset;
  }

  .service-wrapper_content,
  .service-wrapper:first-child .service-wrapper_content,
  .service-wrapper:last-child .service-wrapper_content {
    position: relative;
    opacity: 1;
    top: auto;
    bottom: auto;
    left: auto;
    right: auto;
    transition: none;
    transition-delay: 0s;
  }

  .service-wrapper:first-child:hover .image-wrapper.is-services,
  .service-wrapper:last-child:hover .image-wrapper.is-services {
    height: auto;
  }

  .service-wrapper:first-child:hover .service-wrapper_content,
  .service-wrapper:last-child:hover .service-wrapper_content {
    opacity: 1;
    transition-delay: 0s;
  }
}

/* ─────────────────────────────────────────────────────────────────────────────
   VIMEO BACKGROUND
   ───────────────────────────────────────────────────────────────────────────── */

.vimeo-bg[data-vimeo-activated="true"][data-vimeo-loaded="true"] .vimeo-bg__placeholder {
  opacity: 0;
  transition-delay: 0.2s;
}

/* ─────────────────────────────────────────────────────────────────────────────
   VIMEO LIGHTBOX
   ───────────────────────────────────────────────────────────────────────────── */

.vimeo-lightbox__player {
  transition: all 0.3s cubic-bezier(0.625, 0.05, 0, 1);
  opacity: 0;
  visibility: hidden;
  transform: scale(0.9) rotate(0.001deg) translateX(0);
}

.vimeo-lightbox[data-vimeo-activated="true"] .vimeo-lightbox__player {
  opacity: 1;
  visibility: visible;
  transform: scale(1) rotate(0.001deg) translateX(0);
}

.vimeo-lightbox__bg {
  transition: all 0.3s cubic-bezier(0.625, 0.05, 0, 1);
  opacity: 0;
  visibility: hidden;
}

.vimeo-lightbox[data-vimeo-activated="loading"] .vimeo-lightbox__bg,
.vimeo-lightbox[data-vimeo-activated="true"] .vimeo-lightbox__bg {
  opacity: 1;
  visibility: visible;
}

.vimeo-lightbox__close {
  transition: all 0.5s cubic-bezier(0.625, 0.05, 0, 1);
  opacity: 0;
  visibility: hidden;
}

.vimeo-lightbox[data-vimeo-activated="true"] .vimeo-lightbox__close {
  opacity: 1;
  visibility: visible;
}

.vimeo-lightbox[data-vimeo-update-size="cover"] .vimeo-lightbox__calc-wrap {
  height: 100%;
}

.vimeo-lightbox[data-vimeo-update-size="cover"] [data-vimeo-lightbox-player] {
  width: 100%;
  min-width: 100%;
  max-width: 100%;
  height: 100%;
  min-height: 100%;
  max-height: 100%;
}

.vimeo-lightbox[data-vimeo-loaded="true"] .vimeo-lightbox__placeholder {
  opacity: 0;
}

.vimeo-lightbox[data-vimeo-playing="false"] .vimeo-lightbox__dark {
  opacity: 0.33;
}

.vimeo-lightbox[data-vimeo-activated="false"][data-vimeo-playing="false"] .vimeo-lightbox__dark {
  opacity: 0;
}

.vimeo-lightbox[data-vimeo-activated="true"][data-vimeo-loaded="true"] .vimeo-lightbox__dark {
  opacity: 0;
}

@media (hover: hover) and (pointer: fine) {
  .vimeo-lightbox[data-vimeo-hover="true"]:hover .vimeo-lightbox__dark {
    opacity: 0.33 !important;
  }
}

.vimeo-lightbox .vimeo-lightbox__pause {
  display: none;
}

.vimeo-lightbox[data-vimeo-playing="true"] .vimeo-lightbox__pause {
  display: flex;
}

.vimeo-lightbox .vimeo-lightbox__pause .vimeo-lightbox__btn {
  opacity: 0;
}

.vimeo-lightbox[data-vimeo-activated="true"][data-vimeo-playing="false"] .vimeo-lightbox__pause .vimeo-lightbox__btn,
.vimeo-lightbox[data-vimeo-activated="true"][data-vimeo-hover="true"]:hover .vimeo-lightbox__pause .vimeo-lightbox__btn {
  opacity: 1;
}

@media (hover: none) and (pointer: coarse) {
  .vimeo-lightbox[data-vimeo-activated="true"][data-vimeo-playing="true"] .vimeo-lightbox__pause .vimeo-lightbox__btn {
    opacity: 0 !important;
  }
}

.vimeo-lightbox[data-vimeo-playing="true"] .vimeo-lightbox__play {
  opacity: 0;
}

.vimeo-lightbox .vimeo-lightbox__loading {
  opacity: 0;
}

.vimeo-lightbox[data-vimeo-playing="true"] .vimeo-lightbox__loading {
  opacity: 1;
}

.vimeo-lightbox[data-vimeo-playing="true"][data-vimeo-loaded="true"] .vimeo-lightbox__loading {
  opacity: 0;
}

.vimeo-lightbox .vimeo-lightbox__interface {
  opacity: 0;
}

.vimeo-lightbox[data-vimeo-activated="false"][data-vimeo-playing="false"] .vimeo-lightbox__interface {
  opacity: 1;
}

.vimeo-lightbox .vimeo-lightbox__interface * {
  pointer-events: all;
}

.vimeo-lightbox[data-vimeo-activated="true"][data-vimeo-playing="false"] .vimeo-lightbox__interface,
.vimeo-lightbox[data-vimeo-activated="true"][data-vimeo-hover="true"]:hover .vimeo-lightbox__interface {
  opacity: 1;
}

@media (hover: none) and (pointer: coarse) {
  .vimeo-lightbox[data-vimeo-activated="true"][data-vimeo-playing="true"] .vimeo-lightbox__interface {
    opacity: 0 !important;
  }
}

.vimeo-lightbox {
  --timeline-rounded-corners: 1.5em;
  --timeline-dot-height: 0.75em;
  --timeline-dot-color: #ff4c24;
  --progress-bg: rgba(239, 238, 236, 0.2);
  --progress-fill-bg: #ff4c24;
  --progress-height: 0.2em;
}

.vimeo-lightbox progress::-webkit-progress-bar {
  border-radius: var(--timeline-rounded-corners);
  background-color: var(--progress-bg);
  box-shadow: 0;
}

.vimeo-lightbox progress::-webkit-progress-value {
  background: var(--progress-fill-bg);
}

.vimeo-lightbox progress::-moz-progress-bar {
  border-radius: var(--timeline-rounded-corners);
  background: var(--progress-fill-bg);
  box-shadow: 0;
}

.vimeo-lightbox progress::-ms-fill {
  border-radius: var(--timeline-rounded-corners);
}

.vimeo-lightbox [type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none;
}

.vimeo-lightbox [type="range"]:focus {
  outline: none;
}

.vimeo-lightbox [type="range"]::-ms-track {
  width: 100%;
  cursor: pointer;
  background-color: transparent;
  border-color: transparent;
  color: transparent;
}

.vimeo-lightbox [type="range"]::-webkit-slider-runnable-track {
  width: 100%;
  height: var(--progress-height);
  cursor: pointer;
  background-color: transparent;
  border-color: transparent;
  color: transparent;
  border-radius: var(--timeline-rounded-corners);
}

.vimeo-lightbox [type="range"]::-webkit-slider-thumb {
  box-shadow: 0;
  height: var(--timeline-dot-height);
  width: var(--timeline-dot-height);
  border-radius: var(--timeline-rounded-corners);
  background-color: var(--timeline-dot-color);
  cursor: pointer;
  -webkit-appearance: none;
  margin-top: calc((var(--progress-height) / 2) - (var(--timeline-dot-height) / 2));
}

.vimeo-lightbox [type="range"]::-webkit-slider-runnable-track,
.vimeo-lightbox [type="range"]:focus::-webkit-slider-runnable-track {
  background-color: transparent;
  border-color: transparent;
  color: transparent;
}

.vimeo-lightbox [type="range"]::-moz-range-track {
  width: 100%;
  height: var(--progress-height);
  cursor: pointer;
  background: var(--progress-bg);
  border-radius: var(--timeline-rounded-corners);
  border: 0;
  overflow: hidden;
  opacity: 1 !important;
}

.vimeo-lightbox [type="range"]::-moz-range-thumb {
  box-shadow: 0;
  border: 0;
  height: var(--timeline-dot-height);
  width: var(--timeline-dot-height);
  border-radius: var(--timeline-rounded-corners);
  background: var(--timeline-dot-color);
  cursor: pointer;
}

.vimeo-lightbox .vimeo-lightbox__mute svg:nth-child(2),
.vimeo-lightbox[data-vimeo-muted="true"] .vimeo-lightbox__mute svg:nth-child(1) {
  display: none;
}

.vimeo-lightbox .vimeo-lightbox__mute svg:nth-child(1),
.vimeo-lightbox[data-vimeo-muted="true"] .vimeo-lightbox__mute svg:nth-child(2) {
  display: block;
}

.vimeo-lightbox .vimeo-lightbox__fullscreen svg:nth-child(2),
.vimeo-lightbox[data-vimeo-fullscreen="true"] .vimeo-lightbox__fullscreen svg:nth-child(1) {
  display: none;
}

.vimeo-lightbox .vimeo-lightbox__fullscreen svg:nth-child(1),
.vimeo-lightbox[data-vimeo-fullscreen="true"] .vimeo-lightbox__fullscreen svg:nth-child(2) {
  display: block;
}

/* Button Characters */
.btn-animate-chars [data-button-animate-chars] {
  overflow: hidden;
  position: relative;
  display: inline-block;
}

.btn-animate-chars [data-button-animate-chars] span {
  display: inline-block;
  position: relative;
  text-shadow: 0px 1.3em currentColor;
  transform: translateY(0em) rotate(0.001deg);
  transition: transform 0.6s cubic-bezier(0.625, 0.05, 0, 1);
}

.btn-animate-chars:hover [data-button-animate-chars] span {
  transform: translateY(-1.3em) rotate(0.001deg);
}

.btn-animate-chars__bg {
  inset: 0;
  transition: inset 0.6s cubic-bezier(0.625, 0.05, 0, 1);
}

.btn-animate-chars:hover .btn-animate-chars__bg {
  inset: 0.125em;
}

/* ─────────────────────────────────────────────────────────────────────────────
   MEDIA
   ───────────────────────────────────────────────────────────────────────────── */

[data-media-init] [data-media-placeholder] {
  transition: opacity 0.6s ease, visibility 0.6s ease;
}

[data-media-init][data-media-status="playing"] [data-media-placeholder],
[data-media-init][data-media-status="paused"] [data-media-placeholder] {
  visibility: hidden;
  opacity: 0;
}

[data-media-init] video {
  opacity: 0;
  transition: opacity 0.4s ease;
}

[data-media-init][data-media-status="playing"] video {
  opacity: 1;
}

[data-media-init][data-media-status="not-active"] video {
  opacity: 0;
  transition: opacity 0.4s ease 0s;
}

/* ─────────────────────────────────────────────────────────────────────────────
   MODAL
   ───────────────────────────────────────────────────────────────────────────── */

[data-modal-group-status] {
  transition: all 0.2s linear;
}

[data-modal-group-status="active"] {
  opacity: 1;
  visibility: visible;
}

[data-modal-name][data-modal-status="active"] {
  display: flex;
}

/* ─────────────────────────────────────────────────────────────────────────────
   IMAGE CYCLE
   ───────────────────────────────────────────────────────────────────────────── */

.content-wrapper.is-stands-preview {
  position: relative;
}

.content-wrapper.is-stands-preview img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
}

.content-wrapper.is-stands-preview img.is-active {
  opacity: 1;
}
