::-webkit-scrollbar {
  display: none;
}

/* Mobile scrolling performance optimizations */
* {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

html {
  -webkit-overflow-scrolling: touch;
  /* Prevent momentum scrolling issues on iOS */
  overscroll-behavior: none;
}

body {
  /* Improve touch scrolling performance */
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
}

:root {
  --transition-smooth: all 400ms cubic-bezier(0.625, 0.05, 0, 1);
}

[arrow-left],
[arrow-right] {
  transition: var(--transition-smooth);
}

[ease-smooth] {
  transition: var(--transition-smooth);
}

.home-page .nav-logo_item {
  -webkit-clip-path: inset(0% 0% 100%);
  clip-path: inset(0% 0% 100%);
  transform: translateY(0) rotateX(0);
}

.loti-wrap {
  display: var(--preloader-display, none);
}

.scroll-icon .face-svg {
  width: auto;
  height: 100%;
}

.slider-dot {
  transition: var(--transition-smooth);
}

.loti-wrap {
  opacity: 1;
}

.work-tags-item:not(:last-child)::after {
  content: "-";
  padding-right: 0.3rem;
}

.work-tags-item.u-text-style-small:not(:last-child)::after {
  padding-right: 0.4rem;
}

[line] {
  clip-path: inset(0% 100% 0% 0%);
  opacity: 0;
  transition: opacity 0.3s ease, clip-path 0s 0.3s linear;
}

[line-off] {
  clip-path: inset(0% 0% 0% 0%);
  opacity: 1;
  transition: clip-path 0.3s ease, opacity 0.3s ease;
}

.review-circle {
  position: absolute;
  pointer-events: none;
}

.review-circle svg {
  width: 100%;
  height: 100%;
  overflow: visible;
}

.review-circle .rc-bg {
  fill: none;
  stroke: rgba(0, 0, 0, 0.2);
  stroke-width: 1px;
  vector-effect: non-scaling-stroke;
}

.review-circle .rc-ring {
  fill: none;
  stroke: #2f2f32;
  stroke-width: 1px;
  vector-effect: non-scaling-stroke;
  stroke-dasharray: 100;
  stroke-dashoffset: 100;
  transform: rotate(-90deg);
  transform-origin: 50% 50%;
}

.menu-hover {
  opacity: 0;
}

.loti-item-wrap,
[flip-wrap],
[split-heading],
[nav-logo-wrap],
.header-scroll_wrap {
  perspective: 1000px;
}

.loti-item,
[flip-item],
[split-heading] .line,
[nav-logo-item],
.header-scroll-text {
  display: block;
  transform-origin: right center;
  will-change: transform, clip-path;
}

html {
  --plyr-range-thumb-height: 0px;
  --plyr-control-radius: 0px;
  --plyr-range-track-height: 1px;
}

.plyr--video .plyr__controls {
  --plyr-color-main: transparent;
  background: transparent;
  padding: 1.25rem;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: space-between;
  font-family: var(--text-small--font-family);
  font-size: var(--sizes--16-14);
  line-height: var(--_typography---line-height--1-3);
  font-weight: var(--_typography---font--primary-medium);
  letter-spacing: var(--_typography---letter-spacing--0-01em);
}

.plyr__time {
  font-family: var(--text-small--font-family);
  font-size: var(--sizes--16-14);
  line-height: var(--_typography---line-height--1-3);
  font-weight: var(--_typography---font--primary-medium);
  letter-spacing: var(--_typography---letter-spacing--0-01em);
}

.plyr_stretch {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}

.plyr_col {
  display: flex;
  flex-direction: row;
  align-items: center;
  column-gap: 1em;
  justify-content: space-between;
  width: 100%;
  padding-right: var(--sizes--16-14);
}
.plyr--full-ui input[type="range"] {
  -webkit-appearance: none;

  border-radius: 0 !important;
  color: #fff;
}

.plyr--full-ui input[type="range"]::-webkit-slider-thumb,
.plyr--full-ui input[type="range"]::-moz-range-thumb,
.plyr--full-ui input[type="range"]::-ms-thumb {
  opacity: 0 !important;
}

.plyr__progress {
  margin-bottom: 1em;
}

.plyr__control {
  padding: 0;
  font-family: var(--text-small--font-family);
  font-size: var(--sizes--16-14);
  line-height: var(--_typography---line-height--1-3);
  font-weight: var(--_typography---font--primary-medium);
  letter-spacing: var(--_typography---letter-spacing--0-01em);
}

.plyr video {
  object-fit: cover;
}

.plyr--video {
  width: 100%;
  height: 100%;
}

.filter-item.is-active {
  opacity: 1;
}

.u-text-style-large.is-bullet,
.project-rich-text ul li {
  list-style: none;
  position: relative;
  padding-left: 1rem;
}
.u-text-style-large.is-bullet::before,
.project-rich-text ul li:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.6em;
  width: 0.35em;
  height: 0.35em;
  border-radius: 50%;
  background: currentColor;
  margin-top: 0.1rem;
}

.contact-form-field::placeholder {
  color: currentColor;
  opacity: 0.3;
}
.contact-form-field::-webkit-input-placeholder {
  color: currentColor;
  opacity: 0.3;
}
.contact-form-field::-moz-placeholder {
  color: currentColor;
  opacity: 0.3;
}
.contact-form-field:-ms-input-placeholder {
  color: currentColor;
  opacity: 0.3;
}
.contact-form-field::-ms-input-placeholder {
  color: currentColor;
  opacity: 0.3;
}

a[href^="tel"],
a[href^="mailto"] {
  text-decoration: none !important;
  -webkit-text-decoration: none !important;
  color: inherit;
}

@media only screen and (min-width: 992px) and (pointer: fine) {
  .nav-logo-block:hover .nav-logo_item {
    scale: 0.98;
  }

  [popup-item] [popup-bg] {
    opacity: 0;
  }
  /* [popup-item] [popup-item] {
    transform: translateX(-200%);
  }
  [popup-item] [popup-close-wrap] {
    opacity: 0;
    transform: translateX(-200%);
  } */

  .arrow-btn-wrap:hover [arrow-left] {
    width: 4rem;
  }

  .arrow-btn-wrap:hover [arrow-right] {
    width: 0rem;
  }

  [work-hover]:hover .work-item-arrow {
    opacity: 1;
  }

  [hover-underline-on]:hover [line] {
    clip-path: inset(0% 0% 0% 0%);
    opacity: 1;
    transition: opacity 0s ease, clip-path 0.3s cubic-bezier(0.625, 0.05, 0, 1);
  }

  [hover-underline-off]:hover [line-off] {
    opacity: 0;
    clip-path: inset(0% 100% 0% 0%);
    transition: opacity 0.3s ease,
      clip-path 0s 0.3s cubic-bezier(0.625, 0.05, 0, 1);
  }

  [news-img] {
    scale: 1.1;
    transition: all 300ms ease-out;
  }

  .news-slide:hover [news-img] {
    scale: 1;
  }

  [work-hover] img {
    scale: 1.05;
    transition: all 400ms ease-out;
  }

  [work-hover]:hover img {
    scale: 1;
  }

  .filter-item:hover {
    opacity: 1;
  }

  .filter-item {
    transition: opacity 250ms ease-out;
  }
}

@media only screen and (max-width: 991px) and (pointer: coarse) {
  /* .slider-dot.is-active { background:#fff; } */
  [dot-theme="black"] .slider-dot.is-active {
    background: #000;
  }

  .work-item:nth-child(n + 4) {
    display: none;
  }

  body,
  html {
    overscroll-behavior: none;
  }

  .services-bot.u-grid-custom {
    padding-bottom: 6rem;
  }

  .services-top.u-grid-custom {
    height: 6rem;
  }

  /* .services-bot-wrap {
    display: grid;
    grid-template-rows: 0fr;
  }

  .services-bot-wrap > .services-bot-expand {
    overflow: hidden;
  }

  .services-item.is-open .services-bot-wrap {
    grid-template-rows: 1fr;
  }

  .services-item.is-open .accordian-arrow-item {
    transform: rotate(0deg);
  } */

  .plyr--video {
    height: auto;
  }

  .home-header_end {
    top: 1rem;
  }
}
