.elementor-kit-4{--e-global-color-primary:#F59B1A;--e-global-color-secondary:#39C45C;--e-global-color-text:#111111;--e-global-color-accent:#B3B3B3;--e-global-typography-primary-font-family:"Poppins";--e-global-typography-primary-font-size:50px;--e-global-typography-primary-font-weight:700;--e-global-typography-primary-text-transform:none;--e-global-typography-primary-line-height:1.1em;--e-global-typography-secondary-font-family:"Poppins";--e-global-typography-secondary-font-size:40px;--e-global-typography-secondary-font-weight:600;--e-global-typography-text-font-family:"Poppins";--e-global-typography-text-font-size:14px;--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Poppins";--e-global-typography-accent-font-size:16px;--e-global-typography-accent-font-weight:500;background-color:#181818;}.elementor-kit-4 e-page-transition{background-color:#FFBC7D;}.hfe-scroll-to-top-wrap .hfe-scroll-to-top-button{background-color:#02010100;bottom:40px;right:40px;border-color:var( --e-global-color-primary );}.hfe-scroll-to-top-wrap .hfe-scroll-to-top-button:hover{background-color:var( --e-global-color-primary );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}body[data-elementor-device-mode="widescreen"] .hfe-scroll-to-top-wrap,
						body[data-elementor-device-mode="widescreen"] .hfe-scroll-to-top-wrap.edit-mode,
						body[data-elementor-device-mode="widescreen"] .hfe-scroll-to-top-wrap.single-page-off{visibility:visible;opacity:1;}body[data-elementor-device-mode="desktop"] .hfe-scroll-to-top-wrap,
						body[data-elementor-device-mode="desktop"] .hfe-scroll-to-top-wrap.edit-mode,
						body[data-elementor-device-mode="desktop"] .hfe-scroll-to-top-wrap.single-page-off{visibility:visible;opacity:1;}body[data-elementor-device-mode="laptop"] .hfe-scroll-to-top-wrap,
						body[data-elementor-device-mode="laptop"] .hfe-scroll-to-top-wrap.edit-mode,
						body[data-elementor-device-mode="laptop"] .hfe-scroll-to-top-wrap.single-page-off{visibility:visible;opacity:1;}body[data-elementor-device-mode="tablet_extra"] .hfe-scroll-to-top-wrap,
						body[data-elementor-device-mode="tablet_extra"] .hfe-scroll-to-top-wrap.edit-mode,
						body[data-elementor-device-mode="tablet_extra"] .hfe-scroll-to-top-wrap.single-page-off{visibility:visible;opacity:1;}body[data-elementor-device-mode="tablet"] .hfe-scroll-to-top-wrap,
						body[data-elementor-device-mode="tablet"] .hfe-scroll-to-top-wrap.edit-mode,
						body[data-elementor-device-mode="tablet"] .hfe-scroll-to-top-wrap.single-page-off{visibility:visible;opacity:1;}body[data-elementor-device-mode="mobile_extra"] .hfe-scroll-to-top-wrap,
						body[data-elementor-device-mode="mobile_extra"] .hfe-scroll-to-top-wrap.edit-mode,
						body[data-elementor-device-mode="mobile_extra"] .hfe-scroll-to-top-wrap.single-page-off{visibility:visible;opacity:1;}body[data-elementor-device-mode="mobile"] .hfe-scroll-to-top-wrap,
						body[data-elementor-device-mode="mobile"] .hfe-scroll-to-top-wrap.edit-mode,
						body[data-elementor-device-mode="mobile"] .hfe-scroll-to-top-wrap.single-page-off{visibility:visible;opacity:1;}.hfe-scroll-to-top-wrap .hfe-scroll-to-top-button i{font-size:20px;color:var( --e-global-color-primary );}.hfe-scroll-to-top-wrap .hfe-scroll-to-top-button img{height:20px;width:20px;}.elementor-kit-4 .hfe-scroll-to-top-wrap .hfe-scroll-to-top-button{border-style:solid;border-width:3px 3px 3px 3px;}.hfe-scroll-to-top-wrap .hfe-scroll-to-top-button span{color:var( --e-global-color-primary );}.hfe-scroll-to-top-wrap .hfe-scroll-to-top-button:hover i{color:#FFFFFF;}.hfe-scroll-to-top-wrap .hfe-scroll-to-top-button:hover span{color:#FFFFFF;}@media(max-width:1440px){body[data-elementor-device-mode="widescreen"] .hfe-scroll-to-top-wrap,
						body[data-elementor-device-mode="widescreen"] .hfe-scroll-to-top-wrap.edit-mode,
						body[data-elementor-device-mode="widescreen"] .hfe-scroll-to-top-wrap.single-page-off{visibility:visible;opacity:1;}body[data-elementor-device-mode="desktop"] .hfe-scroll-to-top-wrap,
						body[data-elementor-device-mode="desktop"] .hfe-scroll-to-top-wrap.edit-mode,
						body[data-elementor-device-mode="desktop"] .hfe-scroll-to-top-wrap.single-page-off{visibility:visible;opacity:1;}body[data-elementor-device-mode="laptop"] .hfe-scroll-to-top-wrap,
						body[data-elementor-device-mode="laptop"] .hfe-scroll-to-top-wrap.edit-mode,
						body[data-elementor-device-mode="laptop"] .hfe-scroll-to-top-wrap.single-page-off{visibility:visible;opacity:1;}body[data-elementor-device-mode="tablet_extra"] .hfe-scroll-to-top-wrap,
						body[data-elementor-device-mode="tablet_extra"] .hfe-scroll-to-top-wrap.edit-mode,
						body[data-elementor-device-mode="tablet_extra"] .hfe-scroll-to-top-wrap.single-page-off{visibility:visible;opacity:1;}body[data-elementor-device-mode="tablet"] .hfe-scroll-to-top-wrap,
						body[data-elementor-device-mode="tablet"] .hfe-scroll-to-top-wrap.edit-mode,
						body[data-elementor-device-mode="tablet"] .hfe-scroll-to-top-wrap.single-page-off{visibility:visible;opacity:1;}body[data-elementor-device-mode="mobile_extra"] .hfe-scroll-to-top-wrap,
						body[data-elementor-device-mode="mobile_extra"] .hfe-scroll-to-top-wrap.edit-mode,
						body[data-elementor-device-mode="mobile_extra"] .hfe-scroll-to-top-wrap.single-page-off{visibility:visible;opacity:1;}body[data-elementor-device-mode="mobile"] .hfe-scroll-to-top-wrap,
						body[data-elementor-device-mode="mobile"] .hfe-scroll-to-top-wrap.edit-mode,
						body[data-elementor-device-mode="mobile"] .hfe-scroll-to-top-wrap.single-page-off{visibility:visible;opacity:1;}}@media(max-width:1200px){body[data-elementor-device-mode="widescreen"] .hfe-scroll-to-top-wrap,
						body[data-elementor-device-mode="widescreen"] .hfe-scroll-to-top-wrap.edit-mode,
						body[data-elementor-device-mode="widescreen"] .hfe-scroll-to-top-wrap.single-page-off{visibility:visible;opacity:1;}body[data-elementor-device-mode="desktop"] .hfe-scroll-to-top-wrap,
						body[data-elementor-device-mode="desktop"] .hfe-scroll-to-top-wrap.edit-mode,
						body[data-elementor-device-mode="desktop"] .hfe-scroll-to-top-wrap.single-page-off{visibility:visible;opacity:1;}body[data-elementor-device-mode="laptop"] .hfe-scroll-to-top-wrap,
						body[data-elementor-device-mode="laptop"] .hfe-scroll-to-top-wrap.edit-mode,
						body[data-elementor-device-mode="laptop"] .hfe-scroll-to-top-wrap.single-page-off{visibility:visible;opacity:1;}body[data-elementor-device-mode="tablet_extra"] .hfe-scroll-to-top-wrap,
						body[data-elementor-device-mode="tablet_extra"] .hfe-scroll-to-top-wrap.edit-mode,
						body[data-elementor-device-mode="tablet_extra"] .hfe-scroll-to-top-wrap.single-page-off{visibility:visible;opacity:1;}body[data-elementor-device-mode="tablet"] .hfe-scroll-to-top-wrap,
						body[data-elementor-device-mode="tablet"] .hfe-scroll-to-top-wrap.edit-mode,
						body[data-elementor-device-mode="tablet"] .hfe-scroll-to-top-wrap.single-page-off{visibility:visible;opacity:1;}body[data-elementor-device-mode="mobile_extra"] .hfe-scroll-to-top-wrap,
						body[data-elementor-device-mode="mobile_extra"] .hfe-scroll-to-top-wrap.edit-mode,
						body[data-elementor-device-mode="mobile_extra"] .hfe-scroll-to-top-wrap.single-page-off{visibility:visible;opacity:1;}body[data-elementor-device-mode="mobile"] .hfe-scroll-to-top-wrap,
						body[data-elementor-device-mode="mobile"] .hfe-scroll-to-top-wrap.edit-mode,
						body[data-elementor-device-mode="mobile"] .hfe-scroll-to-top-wrap.single-page-off{visibility:visible;opacity:1;}}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}body[data-elementor-device-mode="widescreen"] .hfe-scroll-to-top-wrap,
						body[data-elementor-device-mode="widescreen"] .hfe-scroll-to-top-wrap.edit-mode,
						body[data-elementor-device-mode="widescreen"] .hfe-scroll-to-top-wrap.single-page-off{visibility:visible;opacity:1;}body[data-elementor-device-mode="desktop"] .hfe-scroll-to-top-wrap,
						body[data-elementor-device-mode="desktop"] .hfe-scroll-to-top-wrap.edit-mode,
						body[data-elementor-device-mode="desktop"] .hfe-scroll-to-top-wrap.single-page-off{visibility:visible;opacity:1;}body[data-elementor-device-mode="laptop"] .hfe-scroll-to-top-wrap,
						body[data-elementor-device-mode="laptop"] .hfe-scroll-to-top-wrap.edit-mode,
						body[data-elementor-device-mode="laptop"] .hfe-scroll-to-top-wrap.single-page-off{visibility:visible;opacity:1;}body[data-elementor-device-mode="tablet_extra"] .hfe-scroll-to-top-wrap,
						body[data-elementor-device-mode="tablet_extra"] .hfe-scroll-to-top-wrap.edit-mode,
						body[data-elementor-device-mode="tablet_extra"] .hfe-scroll-to-top-wrap.single-page-off{visibility:visible;opacity:1;}body[data-elementor-device-mode="tablet"] .hfe-scroll-to-top-wrap,
						body[data-elementor-device-mode="tablet"] .hfe-scroll-to-top-wrap.edit-mode,
						body[data-elementor-device-mode="tablet"] .hfe-scroll-to-top-wrap.single-page-off{visibility:visible;opacity:1;}body[data-elementor-device-mode="mobile_extra"] .hfe-scroll-to-top-wrap,
						body[data-elementor-device-mode="mobile_extra"] .hfe-scroll-to-top-wrap.edit-mode,
						body[data-elementor-device-mode="mobile_extra"] .hfe-scroll-to-top-wrap.single-page-off{visibility:visible;opacity:1;}body[data-elementor-device-mode="mobile"] .hfe-scroll-to-top-wrap,
						body[data-elementor-device-mode="mobile"] .hfe-scroll-to-top-wrap.edit-mode,
						body[data-elementor-device-mode="mobile"] .hfe-scroll-to-top-wrap.single-page-off{visibility:visible;opacity:1;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}body[data-elementor-device-mode="widescreen"] .hfe-scroll-to-top-wrap,
						body[data-elementor-device-mode="widescreen"] .hfe-scroll-to-top-wrap.edit-mode,
						body[data-elementor-device-mode="widescreen"] .hfe-scroll-to-top-wrap.single-page-off{visibility:visible;opacity:1;}body[data-elementor-device-mode="desktop"] .hfe-scroll-to-top-wrap,
						body[data-elementor-device-mode="desktop"] .hfe-scroll-to-top-wrap.edit-mode,
						body[data-elementor-device-mode="desktop"] .hfe-scroll-to-top-wrap.single-page-off{visibility:visible;opacity:1;}body[data-elementor-device-mode="laptop"] .hfe-scroll-to-top-wrap,
						body[data-elementor-device-mode="laptop"] .hfe-scroll-to-top-wrap.edit-mode,
						body[data-elementor-device-mode="laptop"] .hfe-scroll-to-top-wrap.single-page-off{visibility:visible;opacity:1;}body[data-elementor-device-mode="tablet_extra"] .hfe-scroll-to-top-wrap,
						body[data-elementor-device-mode="tablet_extra"] .hfe-scroll-to-top-wrap.edit-mode,
						body[data-elementor-device-mode="tablet_extra"] .hfe-scroll-to-top-wrap.single-page-off{visibility:visible;opacity:1;}body[data-elementor-device-mode="tablet"] .hfe-scroll-to-top-wrap,
						body[data-elementor-device-mode="tablet"] .hfe-scroll-to-top-wrap.edit-mode,
						body[data-elementor-device-mode="tablet"] .hfe-scroll-to-top-wrap.single-page-off{visibility:visible;opacity:1;}body[data-elementor-device-mode="mobile_extra"] .hfe-scroll-to-top-wrap,
						body[data-elementor-device-mode="mobile_extra"] .hfe-scroll-to-top-wrap.edit-mode,
						body[data-elementor-device-mode="mobile_extra"] .hfe-scroll-to-top-wrap.single-page-off{visibility:visible;opacity:1;}body[data-elementor-device-mode="mobile"] .hfe-scroll-to-top-wrap,
						body[data-elementor-device-mode="mobile"] .hfe-scroll-to-top-wrap.edit-mode,
						body[data-elementor-device-mode="mobile"] .hfe-scroll-to-top-wrap.single-page-off{visibility:visible;opacity:1;}}
/* Start custom CSS *//* ---- your existing fixes, unchanged ---- */

html.lenis {
  height: auto;
}

.lenis.lenis-smooth {
  scroll-behavior: auto !important;
}

.lenis.lenis-smooth [data-lenis-prevent] {
  overscroll-behavior: contain;
}

html {
  scroll-behavior: auto !important;
}

.dm-timeline-point,
.dm-timeline-left {
  will-change: transform;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transition: none !important;
}

.dm-timeline-bar {
  overflow: visible;
}

.b-slide {
  contain: layout;
}

.as-slider {
  overflow: visible !important;
}


/* ---- repeat animation ---- */

.repeat-anim.elementor-invisible {
  opacity: 1 !important;
  visibility: visible !important;
}

.repeat-anim.animated {
  animation-fill-mode: both !important;
}

@supports (animation-timeline: view()) {
  .repeat-anim,
  .repeat-anim.animated,
  .repeat-anim.elementor-invisible {
    --anim-shift: 40px;
    --anim-start: entry 5%;
    --anim-end: entry 55%;

    animation-name: repeatUp !important;
    animation-duration: 1s !important;
    animation-timing-function: cubic-bezier(0.22, 0.61, 0.36, 1) !important;
    animation-fill-mode: both !important;
    animation-iteration-count: 1 !important;
    animation-delay: 0s !important;
    animation-timeline: view() !important;
    animation-range: var(--anim-start) var(--anim-end) !important;
  }

  .repeat-anim.anim-down {
    animation-name: repeatDown !important;
  }

  .repeat-anim.anim-left {
    animation-name: repeatLeft !important;
  }

  .repeat-anim.anim-right {
    animation-name: repeatRight !important;
  }

  .repeat-anim.anim-zoom {
    animation-name: repeatZoom !important;
  }

  .repeat-anim.anim-fade {
    animation-name: repeatFade !important;
  }

  .repeat-anim.anim-slow {
    --anim-end: entry 85%;
  }

  .repeat-anim.anim-fast {
    --anim-end: entry 35%;
  }
}

@keyframes repeatUp {
  from { opacity: 0; transform: translateY(var(--anim-shift)); }
  to   { opacity: 1; transform: translateY(0); }
}

@keyframes repeatDown {
  from { opacity: 0; transform: translateY(calc(var(--anim-shift) * -1)); }
  to   { opacity: 1; transform: translateY(0); }
}

@keyframes repeatLeft {
  from { opacity: 0; transform: translateX(calc(var(--anim-shift) * -1)); }
  to   { opacity: 1; transform: translateX(0); }
}

@keyframes repeatRight {
  from { opacity: 0; transform: translateX(var(--anim-shift)); }
  to   { opacity: 1; transform: translateX(0); }
}

@keyframes repeatZoom {
  from { opacity: 0; transform: scale(0.92); }
  to   { opacity: 1; transform: scale(1); }
}

@keyframes repeatFade {
  from { opacity: 0; }
  to   { opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
  .repeat-anim,
  .repeat-anim.animated,
  .repeat-anim.elementor-invisible {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    animation: none !important;
  }
}


/* ---- portfolio search ---- */

.pf-search {
  --pf-search-width: 60%;

  width: var(--pf-search-width);
  margin: 0 auto 20px;
  box-sizing: border-box;
}

.pf-search__input {
  width: 100%;
  padding: 14px 18px;
  background: #191919;
  border: 1px solid #3a3a3a;
  border-radius: 8px;
  color: #fff;
  font: inherit;
  font-size: 15px;
  outline: none;
  transition: border-color 0.25s ease;
  -webkit-appearance: none;
  appearance: none;
}

.pf-search__input::placeholder {
  color: rgba(255, 255, 255, 0.4);
}

.pf-search__input:focus {
  border-color: #F59B1A;
}

/* Announced to screen readers, not shown on screen. Delete this rule
   to display the "N projects" line again. */
.pf-search__count {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

/* While searching the whole tabs widget is hidden and matches are
   shown in .pf-results instead, so they flow as one grid. */
.e-n-tabs.pf-searching {
  display: none !important;
}

.pf-results {
  display: none;
}

.pf-results.is-active {
  /* Height has to come from here. Inside a tab the cards took their
     height from that container; moved into this grid there is nothing
     setting it, so they collapse to zero and look like they vanished.
     Set this to whatever height your cards are in the tabs. */
  --pf-card-height: 250px;

  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-auto-rows: var(--pf-card-height);
  gap: 14px;
  width: 100%;
}

/* Cards take the grid cell rather than any width or height of their own. */
.pf-results.is-active > * {
  position: relative;
  width: auto !important;
  height: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: none !important;
  max-height: none !important;
  flex: none !important;
  margin: 0 !important;
  overflow: hidden;
  border-radius: 15px;
}

@media (max-width: 1024px) {
  .pf-results.is-active {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .pf-results.is-active {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Category tags on the one card shown per project. */
.pf-tags {
  position: absolute;
  top: 10px;
  left: 10px;
  right: 10px;
  z-index: 9999;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  pointer-events: none;
}

.pf-tag {
  display: inline-block;
  padding: 4px 10px;
  background: rgba(0, 0, 0, 0.72);
  border: 1px solid rgba(245, 155, 26, 0.5);
  border-radius: 999px;
  color: #F59B1A;
  font-size: 10px;
  line-height: 1.4;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  white-space: nowrap;
}

/* The per-tab scroll box makes no sense with several panels open. */
.e-n-tabs.pf-searching .card-scroll {
  max-height: none !important;
  overflow: visible !important;
  padding-right: 0 !important;
}

@media (max-width: 1024px) {
  .pf-search {
    --pf-search-width: 100%;
  }
}

.card-scroll > * > *,
.pf-results > * > * {
  filter: grayscale(100%);
  transition: filter 0.45s ease;
}

.card-scroll > *:hover > *,
.pf-results > *:hover > * {
  filter: grayscale(0%);
}/* End custom CSS */