html,
body {
  overscroll-behavior: none; /* Prevent scroll chaining and bounce */
  touch-action: pan-x pan-y; /* Makes touch scrolling more predictable */
  overflow: hidden; /* Optional: fully lock scroll */
}

html {
  /* Smooth font rendering */
  -webkit-font-smoothing: antialiased; /* macOS + iOS */
  -moz-osx-font-smoothing: grayscale; /* macOS Firefox */

  /* Improves text legibility (especially thin weights) */
  text-rendering: optimizeLegibility;

  /* Allows better kerning and ligature handling */
  font-feature-settings: "kern", "liga", "clig", "calt";

  /* For system UI fonts fallback */
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen,
    Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
}

body {
  /* Prevent blurry text on transformed/scaled elements */
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

.page_wrap {
  opacity: 0;
}

/* [data-preloader="wrap"] {
  display: block !important;
} */

.smooothy_wrap {
  cursor: default !important;
}

[data-smooothy="1"] {
  user-select: none;
}

.active [data-p="1"] {
  filter: grayscale(0%);
  /* transition-delay: 0.3s; */
}

.smooothy_slide_wrap.is-focussed {
  clip-path: inset(10% 10% 10% 10%);
  transition: 1s clip-path cubic-bezier(0.292, 0.001, 0.006, 0.995);
}

.smooothy_slide_wrap.active.is-focussed {
  clip-path: inset(0% 0% 0% 0%);
  transition: 1s clip-path cubic-bezier(0.292, 0.001, 0.006, 0.995);
}

.smooothy_slide_wrap.active.is-focussed .smooothy_image_inner {
  clip-path: inset(10% 10% 10% 10%);
  transition: 1s clip-path cubic-bezier(0.292, 0.001, 0.006, 0.995);
}

.smooothy_image_inner {
  clip-path: inset(0% 0% 0% 0%);
  transition: 1s clip-path cubic-bezier(0.292, 0.001, 0.006, 0.995);
}

.smooothy_slide_wrap {
  clip-path: inset(0% 0% 0% 0%);
  transition: 1s clip-path cubic-bezier(0.292, 0.001, 0.006, 0.995);
}

.smooothy_video {
  transition: 1s all cubic-bezier(0.292, 0.001, 0.006, 0.995);
  transition-delay: 0s;
  scale: 1.1;
}

.smooothy_slide_wrap.active.is-focussed .smooothy_video {
  scale: 1;
  clip-path: inset(0% 0% 0% 0%);
  transition: 1s all cubic-bezier(0.292, 0.001, 0.006, 0.995);
}

.smooothy_slide_wrap.active.is-focussed .smooothy_link {
  display: block;
}

.smooothy_slide_wrap.active.is-focussed .smooothy_image_mask {
  scale: 1;
  clip-path: inset(0% 0% 0% 0%);
  transition: 1s all cubic-bezier(0.292, 0.001, 0.006, 0.995);
}

.smooothy_image_mask:hover {
  scale: 1.1;
  clip-path: inset(0% 0% 0% 0%);
  transition: 1s scale cubic-bezier(0.292, 0.001, 0.006, 0.995);
}

.smooothy_image_mask {
  scale: 1;
  clip-path: inset(0% 0% 0% 0%);
  transition: 1s scale cubic-bezier(0.292, 0.001, 0.006, 0.995);
}

/* 
.smooothy_slide_wrap:hover .smooothy_image {
  clip-path: inset(5% 5% 5% 5%);
  transition: 1s clip-path cubic-bezier(0.292, 0.001, 0.006, 0.995);
}

.smooothy_image {
  clip-path: inset(0% 0% 0% 0%);
  transition: 1s clip-path cubic-bezier(0.292, 0.001, 0.006, 0.995);
} */

/* .smooothy_video {
  transition: 1s all cubic-bezier(0.292, 0.001, 0.006, 0.995);
  transition-delay: 1.5s;
} */

[data-modal="close"] {
  transform: translateY(120%);
  transition: transform 1s cubic-bezier(0.292, 0.001, 0.006, 0.995);
  transition-delay: 0s;
}

[data-modal="open"] {
  transform: translateY(0%);
  transition: transform 1s cubic-bezier(0.292, 0.001, 0.006, 0.995);
  transition-delay: 0s;
}

.hero_main_modal_link.active [data-modal="close"] {
  transform: translateY(0%);
  transition: transform 1s cubic-bezier(0.292, 0.001, 0.006, 0.995);
  transition-delay: 0s;
}

.hero_main_modal_link.active [data-modal="open"] {
  transform: translateY(-100%);
  transition: transform 1s cubic-bezier(0.292, 0.001, 0.006, 0.995);
  transition-delay: 0s;
}

.smooothy_slide_text_wrap p {
  transform: translateY(120%);
  transition: transform 1s cubic-bezier(0.292, 0.001, 0.006, 0.995);
  transition-delay: 0s;
}

.smooothy_slide_text_wrap_about p {
  transform: translateY(120%);
  transition: transform 1s cubic-bezier(0.292, 0.001, 0.006, 0.995);
  transition-delay: 0s;
}

.hero_main_top_link_wrap a {
  pointer-events: none;
  transform: translateY(135%);
  transition: transform 1s cubic-bezier(0.292, 0.001, 0.006, 0.995);
  transition-delay: 0s;
}

.hero_main_top_link_wrap.is-focussed a {
  pointer-events: auto;
  transform: translateY(0%);
  transition: transform 1s cubic-bezier(0.292, 0.001, 0.006, 0.995);
  transition-delay: 0.3s;
}

.smooothy_slide_text_wrap.active p {
  transform: translateY(0%);
  transition: transform 1s cubic-bezier(0.292, 0.001, 0.006, 0.995);
  transition-delay: 0.3s;
}

.smooothy_slide_text_wrap_about.active p {
  transform: translateY(0%);
  transition: transform 1s cubic-bezier(0.292, 0.001, 0.006, 0.995);
  transition-delay: 0.3s;
}

.smooothy_slide_text_wrap.active .smooothy_slide_text_mask p {
  transform: translateY(0%);
  transition: transform 1s cubic-bezier(0.292, 0.001, 0.006, 0.995);
  transition-delay: 0.6s;
}

.smooothy_slide_text_wrap_about.active .smooothy_slide_text_mask p {
  transform: translateY(0%);
  transition: transform 1s cubic-bezier(0.292, 0.001, 0.006, 0.995);
  transition-delay: 0.6s;
}

.smooothy_slide_text_wrap.active .smooothy_slide_text_mask.u-margin-bottom-7 p {
  transform: translateY(0%);
  transition: transform 1s cubic-bezier(0.292, 0.001, 0.006, 0.995);
  transition-delay: 0.5s;
}

.smooothy_slide_text_wrap_about.active
  .smooothy_slide_text_mask.u-margin-bottom-7
  p {
  transform: translateY(0%);
  transition: transform 1s cubic-bezier(0.292, 0.001, 0.006, 0.995);
  transition-delay: 0.5s;
}

.smooothy_slide_text_wrap.active .smoothy_slide_text_header-wrap p {
  transform: translateY(0%);
  transition: transform 1s cubic-bezier(0.292, 0.001, 0.006, 0.995);
  transition-delay: 0.4s;
}

.smooothy_slide_text_wrap_about.active .smoothy_slide_text_header-wrap p {
  transform: translateY(0%);
  transition: transform 1s cubic-bezier(0.292, 0.001, 0.006, 0.995);
  transition-delay: 0.4s;
}

.smooothy_slide_text_mask.u-margin-bottom-7 p {
  opacity: 0.5;
}

.smooothy_slide_text_wrap .hero_main_text.u-text-style-main {
  opacity: 0.5;
}

.smooothy_slide_text_wrap_about .hero_main_text.u-text-style-main {
  opacity: 0.5;
}

a {
  display: inline-block;
  position: relative;
}

a::after {
  content: "";
  position: absolute;
  width: 100%;
  transform: scaleX(0);
  height: 1px;
  bottom: -25%;
  left: 0;
  background-color: black;
  transform-origin: bottom right;
  transition: transform 0.5s cubic-bezier(0.292, 0.001, 0.006, 0.995);
}

a:hover::after {
  transform: scaleX(1);
  transform-origin: bottom left;
}

.hero_main_modal_outter {
  position: relative;
}

.hero_main_modal_outter::after {
  content: "";
  position: absolute;
  width: 100%;
  transform: scaleX(0);
  height: 1px;
  bottom: -1px;
  left: 0;
  background-color: black;
  transform-origin: bottom right;
  transition: transform 0.5s cubic-bezier(0.292, 0.001, 0.006, 0.995);
}

.hero_main_modal_outter:hover::after {
  transform: scaleX(1);
  transform-origin: bottom left;
}

.hero_main_top_link_wrap a {
  position: relative;
  display: inline-block;
}

/* Top line — starts visible */
.hero_main_top_link_wrap a::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 1px;
  bottom: -2.5px;
  left: 0;
  background-color: black;
  transform: scaleX(1);
  transform-origin: bottom left;
  transition: transform 0.5s cubic-bezier(0.292, 0.001, 0.006, 0.995);
}

/* On hover: after shrinks, before grows */
.hero_main_top_link_wrap a:hover::after {
  transform: scaleX(0);
  transform-origin: bottom right;
}
