.elementor-2128 .elementor-element.elementor-element-926887a{--display:grid;--e-con-grid-template-columns:repeat(3, 1fr);--e-con-grid-template-rows:repeat(5, 1fr);--grid-auto-flow:row;--padding-top:100px;--padding-bottom:25px;--padding-left:25px;--padding-right:25px;}.elementor-2128 .elementor-element.elementor-element-3814960{--display:flex;--gap:5px 0px;--row-gap:5px;--column-gap:0px;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );}.elementor-2128 .elementor-element.elementor-element-3d8cf25 .elementor-button{background-color:#00000040;font-family:"Work Sans", Sans-serif;font-size:18px;font-weight:500;fill:#FFFFFF;color:#FFFFFF;border-radius:25px 25px 25px 25px;padding:10px 15px 10px 15px;}.elementor-2128 .elementor-element.elementor-element-3d8cf25.elementor-element{--align-self:flex-start;--order:-99999 /* order start hack */;}body:not(.rtl) .elementor-2128 .elementor-element.elementor-element-3d8cf25{left:25px;}body.rtl .elementor-2128 .elementor-element.elementor-element-3d8cf25{right:25px;}.elementor-2128 .elementor-element.elementor-element-3d8cf25{top:25px;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-2128 .elementor-element.elementor-element-eb3aaaf img{transition-duration:0.3s;border-radius:25px 25px 25px 25px;}.elementor-2128 .elementor-element.elementor-element-1f3e57e{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 10px;--row-gap:0px;--column-gap:10px;--margin-top:10px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2128 .elementor-element.elementor-element-1973198 .elementor-button{background-color:#FFFFFF;font-family:"Work Sans", Sans-serif;font-size:16px;font-weight:500;fill:#5E5E5E;color:#5E5E5E;border-radius:50px 50px 50px 50px;}.elementor-2128 .elementor-element.elementor-element-1973198 .elementor-button-content-wrapper{flex-direction:row;}.elementor-2128 .elementor-element.elementor-element-c5f7790 .elementor-button{background-color:#FFFFFF;font-family:"Work Sans", Sans-serif;font-size:16px;font-weight:500;fill:#5E5E5E;color:#5E5E5E;border-radius:50px 50px 50px 50px;}.elementor-2128 .elementor-element.elementor-element-c5f7790 .elementor-button-content-wrapper{flex-direction:row;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-2128 .elementor-element.elementor-element-05148b4 > .elementor-widget-container{margin:5px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-2128 .elementor-element.elementor-element-05148b4 .elementor-heading-title{font-family:"Work Sans", Sans-serif;font-size:28px;font-weight:500;color:#000000;}.elementor-2128 .elementor-element.elementor-element-a362df0{--display:flex;--gap:5px 0px;--row-gap:5px;--column-gap:0px;}.elementor-2128 .elementor-element.elementor-element-64d88e6 .elementor-button{background-color:#00000040;font-family:"Work Sans", Sans-serif;font-size:18px;font-weight:500;fill:#FFFFFF;color:#FFFFFF;border-radius:25px 25px 25px 25px;padding:10px 15px 10px 15px;}.elementor-2128 .elementor-element.elementor-element-64d88e6.elementor-element{--align-self:flex-start;--order:-99999 /* order start hack */;}body:not(.rtl) .elementor-2128 .elementor-element.elementor-element-64d88e6{left:25px;}body.rtl .elementor-2128 .elementor-element.elementor-element-64d88e6{right:25px;}.elementor-2128 .elementor-element.elementor-element-64d88e6{top:25px;}.elementor-2128 .elementor-element.elementor-element-6cb78f5 img{transition-duration:0.3s;border-radius:25px 25px 25px 25px;}.elementor-2128 .elementor-element.elementor-element-706a1ef{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 10px;--row-gap:0px;--column-gap:10px;--margin-top:10px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2128 .elementor-element.elementor-element-8a4e0f2 .elementor-button{background-color:#FFFFFF;font-family:"Work Sans", Sans-serif;font-size:16px;font-weight:500;fill:#5E5E5E;color:#5E5E5E;border-radius:50px 50px 50px 50px;}.elementor-2128 .elementor-element.elementor-element-8a4e0f2 .elementor-button-content-wrapper{flex-direction:row;}.elementor-2128 .elementor-element.elementor-element-40795d7 .elementor-button{background-color:#FFFFFF;font-family:"Work Sans", Sans-serif;font-size:16px;font-weight:500;fill:#5E5E5E;color:#5E5E5E;border-radius:50px 50px 50px 50px;}.elementor-2128 .elementor-element.elementor-element-40795d7 .elementor-button-content-wrapper{flex-direction:row;}.elementor-2128 .elementor-element.elementor-element-470fa91 > .elementor-widget-container{margin:5px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-2128 .elementor-element.elementor-element-470fa91 .elementor-heading-title{font-family:"Work Sans", Sans-serif;font-size:28px;font-weight:500;color:#000000;}.elementor-2128 .elementor-element.elementor-element-d8cf123{--display:flex;--gap:5px 0px;--row-gap:5px;--column-gap:0px;}.elementor-2128 .elementor-element.elementor-element-5934db1 .elementor-button{background-color:#00000040;font-family:"Work Sans", Sans-serif;font-size:18px;font-weight:500;fill:#FFFFFF;color:#FFFFFF;border-radius:25px 25px 25px 25px;padding:10px 15px 10px 15px;}.elementor-2128 .elementor-element.elementor-element-5934db1.elementor-element{--align-self:flex-start;--order:-99999 /* order start hack */;}body:not(.rtl) .elementor-2128 .elementor-element.elementor-element-5934db1{left:25px;}body.rtl .elementor-2128 .elementor-element.elementor-element-5934db1{right:25px;}.elementor-2128 .elementor-element.elementor-element-5934db1{top:25px;}.elementor-2128 .elementor-element.elementor-element-dd931cb img{transition-duration:0.3s;border-radius:25px 25px 25px 25px;}.elementor-2128 .elementor-element.elementor-element-15f3312{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 10px;--row-gap:0px;--column-gap:10px;--margin-top:10px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2128 .elementor-element.elementor-element-24d865d .elementor-button{background-color:#FFFFFF;font-family:"Work Sans", Sans-serif;font-size:16px;font-weight:500;fill:#5E5E5E;color:#5E5E5E;border-radius:50px 50px 50px 50px;}.elementor-2128 .elementor-element.elementor-element-24d865d .elementor-button-content-wrapper{flex-direction:row;}.elementor-2128 .elementor-element.elementor-element-fdacc19 .elementor-button{background-color:#FFFFFF;font-family:"Work Sans", Sans-serif;font-size:16px;font-weight:500;fill:#5E5E5E;color:#5E5E5E;border-radius:50px 50px 50px 50px;}.elementor-2128 .elementor-element.elementor-element-fdacc19 .elementor-button-content-wrapper{flex-direction:row;}.elementor-2128 .elementor-element.elementor-element-c855002 > .elementor-widget-container{margin:5px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-2128 .elementor-element.elementor-element-c855002 .elementor-heading-title{font-family:"Work Sans", Sans-serif;font-size:28px;font-weight:500;color:#000000;}.elementor-2128 .elementor-element.elementor-element-26d0ce4{--display:flex;--gap:5px 0px;--row-gap:5px;--column-gap:0px;}.elementor-2128 .elementor-element.elementor-element-45fcbf9 .elementor-button{background-color:#00000040;font-family:"Work Sans", Sans-serif;font-size:18px;font-weight:500;fill:#FFFFFF;color:#FFFFFF;border-radius:25px 25px 25px 25px;padding:10px 15px 10px 15px;}.elementor-2128 .elementor-element.elementor-element-45fcbf9.elementor-element{--align-self:flex-start;--order:-99999 /* order start hack */;}body:not(.rtl) .elementor-2128 .elementor-element.elementor-element-45fcbf9{left:25px;}body.rtl .elementor-2128 .elementor-element.elementor-element-45fcbf9{right:25px;}.elementor-2128 .elementor-element.elementor-element-45fcbf9{top:25px;}.elementor-2128 .elementor-element.elementor-element-3aafdeb img{transition-duration:0.3s;border-radius:25px 25px 25px 25px;}.elementor-2128 .elementor-element.elementor-element-79b7fc0{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 10px;--row-gap:0px;--column-gap:10px;--margin-top:10px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2128 .elementor-element.elementor-element-b6944be .elementor-button{background-color:#FFFFFF;font-family:"Work Sans", Sans-serif;font-size:16px;font-weight:500;fill:#5E5E5E;color:#5E5E5E;border-radius:50px 50px 50px 50px;}.elementor-2128 .elementor-element.elementor-element-b6944be .elementor-button-content-wrapper{flex-direction:row;}.elementor-2128 .elementor-element.elementor-element-88705f0 .elementor-button{background-color:#FFFFFF;font-family:"Work Sans", Sans-serif;font-size:16px;font-weight:500;fill:#5E5E5E;color:#5E5E5E;border-radius:50px 50px 50px 50px;}.elementor-2128 .elementor-element.elementor-element-88705f0 .elementor-button-content-wrapper{flex-direction:row;}.elementor-2128 .elementor-element.elementor-element-c61ce2b > .elementor-widget-container{margin:5px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-2128 .elementor-element.elementor-element-c61ce2b .elementor-heading-title{font-family:"Work Sans", Sans-serif;font-size:28px;font-weight:500;color:#000000;}.elementor-2128 .elementor-element.elementor-element-b3a2a36{--display:flex;--gap:5px 0px;--row-gap:5px;--column-gap:0px;}.elementor-2128 .elementor-element.elementor-element-917996b .elementor-button{background-color:#00000040;font-family:"Work Sans", Sans-serif;font-size:18px;font-weight:500;fill:#FFFFFF;color:#FFFFFF;border-radius:25px 25px 25px 25px;padding:10px 15px 10px 15px;}.elementor-2128 .elementor-element.elementor-element-917996b.elementor-element{--align-self:flex-start;--order:-99999 /* order start hack */;}body:not(.rtl) .elementor-2128 .elementor-element.elementor-element-917996b{left:25px;}body.rtl .elementor-2128 .elementor-element.elementor-element-917996b{right:25px;}.elementor-2128 .elementor-element.elementor-element-917996b{top:25px;}.elementor-2128 .elementor-element.elementor-element-c88ed5d img{transition-duration:0.3s;border-radius:25px 25px 25px 25px;}.elementor-2128 .elementor-element.elementor-element-35e40cd{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 10px;--row-gap:0px;--column-gap:10px;--margin-top:10px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2128 .elementor-element.elementor-element-62ce193 .elementor-button{background-color:#FFFFFF;font-family:"Work Sans", Sans-serif;font-size:16px;font-weight:500;fill:#5E5E5E;color:#5E5E5E;border-radius:50px 50px 50px 50px;}.elementor-2128 .elementor-element.elementor-element-62ce193 .elementor-button-content-wrapper{flex-direction:row;}.elementor-2128 .elementor-element.elementor-element-53cc7a0 .elementor-button{background-color:#FFFFFF;font-family:"Work Sans", Sans-serif;font-size:16px;font-weight:500;fill:#5E5E5E;color:#5E5E5E;border-radius:50px 50px 50px 50px;}.elementor-2128 .elementor-element.elementor-element-53cc7a0 .elementor-button-content-wrapper{flex-direction:row;}.elementor-2128 .elementor-element.elementor-element-5d2ce6d > .elementor-widget-container{margin:5px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-2128 .elementor-element.elementor-element-5d2ce6d .elementor-heading-title{font-family:"Work Sans", Sans-serif;font-size:28px;font-weight:500;color:#000000;}.elementor-2128 .elementor-element.elementor-element-7460200{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--padding-top:100px;--padding-bottom:0px;--padding-left:25px;--padding-right:25px;}.elementor-2128 .elementor-element.elementor-element-a475aca{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-2128 .elementor-element.elementor-element-a475aca.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-2128 .elementor-element.elementor-element-3664a1c .elementor-heading-title{font-family:"Work Sans", Sans-serif;font-size:80px;font-weight:500;line-height:80px;letter-spacing:-2px;word-spacing:0px;color:#000000;}.elementor-2128 .elementor-element.elementor-element-fb627d2{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:100px;--padding-right:100px;}.elementor-widget-media-carousel .elementor-carousel-image-overlay{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );}.elementor-2128 .elementor-element.elementor-element-3f7faa5.elementor-skin-slideshow .elementor-main-swiper:not(.elementor-thumbnails-swiper){margin-bottom:50px;}.elementor-2128 .elementor-element.elementor-element-3f7faa5 .elementor-main-swiper{height:300px;}.elementor-2128 .elementor-element.elementor-element-3f7faa5 .elementor-swiper-button{font-size:20px;}.elementor-2128 .elementor-element.elementor-element-3f7faa5 .elementor-main-swiper:not(.elementor-thumbnails-swiper) .elementor-carousel-image{background-size:contain;}.elementor-2128 .elementor-element.elementor-element-1e41e32{--display:flex;}.elementor-2128 .elementor-element.elementor-element-93455bf{--display:flex;}@media(max-width:1024px) and (min-width:768px){.elementor-2128 .elementor-element.elementor-element-a475aca{--width:480px;}}@media(max-width:1024px){.elementor-2128 .elementor-element.elementor-element-926887a{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-widget-button .elementor-button{font-size:var( --e-global-typography-accent-font-size );}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-2128 .elementor-element.elementor-element-3664a1c .elementor-heading-title{font-size:70px;}.elementor-2128 .elementor-element.elementor-element-fb627d2{--padding-top:0px;--padding-bottom:0px;--padding-left:50px;--padding-right:50px;}.elementor-widget-media-carousel .elementor-carousel-image-overlay{font-size:var( --e-global-typography-accent-font-size );}.elementor-2128 .elementor-element.elementor-element-3f7faa5.elementor-skin-slideshow .elementor-main-swiper:not(.elementor-thumbnails-swiper){margin-bottom:10px;}.elementor-2128 .elementor-element.elementor-element-3f7faa5 .elementor-main-swiper{height:200px;}}@media(max-width:767px){.elementor-2128 .elementor-element.elementor-element-926887a{--e-con-grid-template-columns:repeat(1, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-widget-button .elementor-button{font-size:var( --e-global-typography-accent-font-size );}.elementor-2128 .elementor-element.elementor-element-3d8cf25 .elementor-button{font-size:12px;}.elementor-2128 .elementor-element.elementor-element-1973198 .elementor-button{font-size:12px;}.elementor-2128 .elementor-element.elementor-element-c5f7790 .elementor-button{font-size:12px;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-2128 .elementor-element.elementor-element-05148b4 .elementor-heading-title{font-size:20px;}.elementor-2128 .elementor-element.elementor-element-64d88e6 .elementor-button{font-size:12px;}.elementor-2128 .elementor-element.elementor-element-8a4e0f2 .elementor-button{font-size:12px;}.elementor-2128 .elementor-element.elementor-element-40795d7 .elementor-button{font-size:12px;}.elementor-2128 .elementor-element.elementor-element-470fa91 .elementor-heading-title{font-size:20px;}.elementor-2128 .elementor-element.elementor-element-5934db1 .elementor-button{font-size:12px;}.elementor-2128 .elementor-element.elementor-element-24d865d .elementor-button{font-size:12px;}.elementor-2128 .elementor-element.elementor-element-fdacc19 .elementor-button{font-size:12px;}.elementor-2128 .elementor-element.elementor-element-c855002 .elementor-heading-title{font-size:20px;}.elementor-2128 .elementor-element.elementor-element-45fcbf9 .elementor-button{font-size:12px;}.elementor-2128 .elementor-element.elementor-element-b6944be .elementor-button{font-size:12px;}.elementor-2128 .elementor-element.elementor-element-88705f0 .elementor-button{font-size:12px;}.elementor-2128 .elementor-element.elementor-element-c61ce2b .elementor-heading-title{font-size:20px;}.elementor-2128 .elementor-element.elementor-element-917996b .elementor-button{font-size:12px;}.elementor-2128 .elementor-element.elementor-element-62ce193 .elementor-button{font-size:12px;}.elementor-2128 .elementor-element.elementor-element-53cc7a0 .elementor-button{font-size:10px;}.elementor-2128 .elementor-element.elementor-element-5d2ce6d .elementor-heading-title{font-size:20px;}.elementor-2128 .elementor-element.elementor-element-7460200{--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-2128 .elementor-element.elementor-element-a475aca{--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-2128 .elementor-element.elementor-element-3664a1c{text-align:center;}.elementor-2128 .elementor-element.elementor-element-3664a1c .elementor-heading-title{font-size:50px;}.elementor-2128 .elementor-element.elementor-element-fb627d2{--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-widget-media-carousel .elementor-carousel-image-overlay{font-size:var( --e-global-typography-accent-font-size );}.elementor-2128 .elementor-element.elementor-element-3f7faa5.elementor-skin-slideshow .elementor-main-swiper:not(.elementor-thumbnails-swiper){margin-bottom:10px;}}/* Start custom CSS for container, class: .elementor-element-3814960 *//* =========================
   Project Card Hover Effects
   ========================= */

/* Base card container */
.project-container {
  position: relative;
  border-radius: 25px;           /* keep rounded corners */
  overflow: hidden;              /* clip children (cursor + blur) */
  transition: transform .35s cubic-bezier(.22,.61,.36,1);
}

/* Lift card up slightly on hover */
.project-container:hover {
  transform: translateY(-6px);
}

/* Hide system cursor while hovering anywhere inside */
.project-container:hover,
.project-container:hover * {
  cursor: none !important;
}

/* Image wrapper (keeps border crisp) */
.project-image {
  position: relative;
  border-radius: 25px;           /* consistent with container */
  overflow: hidden;              /* ensures blur stays inside */
  background-color: #0000;       /* avoid white halo behind blur */
}

/* Actual <img> inside wrapper */
.project-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: filter .45s ease, transform .45s ease, clip-path .45s ease;
  will-change: filter, transform, clip-path;
}

/* Blur image smoothly on hover */
.project-container:hover .project-image img {
  filter: blur(6px) saturate(110%);
  clip-path: inset(-12px);       /* extend blur beyond edges */
  transform: scale(1.015);       /* tiny scale prevents edge halo */
}

/* Custom cursor (follower inside the card) */
.project-container .card-cursor {
  position: absolute;
  left: 0; top: 0;
  transform: translate(-50%, -50%);
  width: 28px; height: 28px;
  border-radius: 50%;
  background: rgba(255,255,255,.7);
  backdrop-filter: blur(8px) saturate(130%);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  line-height: 1;
  color: #333;
  pointer-events: none;
  opacity: 0;
  transition: opacity .2s ease;
  z-index: 5;
}

.project-container .card-cursor::before {
  content: "↗";   /* arrow glyph */
}

.project-container.is-hovering .card-cursor {
  opacity: 1;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-a362df0 *//* =========================
   Project Card Hover Effects
   ========================= */

/* Base card container */
.project-container {
  position: relative;
  border-radius: 25px;           /* keep rounded corners */
  overflow: hidden;              /* clip children (cursor + blur) */
  transition: transform .35s cubic-bezier(.22,.61,.36,1);
}

/* Lift card up slightly on hover */
.project-container:hover {
  transform: translateY(-6px);
}

/* Hide system cursor while hovering anywhere inside */
.project-container:hover,
.project-container:hover * {
  cursor: none !important;
}

/* Image wrapper (keeps border crisp) */
.project-image {
  position: relative;
  border-radius: 25px;           /* consistent with container */
  overflow: hidden;              /* ensures blur stays inside */
  background-color: #0000;       /* avoid white halo behind blur */
}

/* Actual <img> inside wrapper */
.project-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: filter .45s ease, transform .45s ease, clip-path .45s ease;
  will-change: filter, transform, clip-path;
}

/* Blur image smoothly on hover */
.project-container:hover .project-image img {
  filter: blur(6px) saturate(110%);
  clip-path: inset(-12px);       /* extend blur beyond edges */
  transform: scale(1.015);       /* tiny scale prevents edge halo */
}

/* Custom cursor (follower inside the card) */
.project-container .card-cursor {
  position: absolute;
  left: 0; top: 0;
  transform: translate(-50%, -50%);
  width: 28px; height: 28px;
  border-radius: 50%;
  background: rgba(255,255,255,.7);
  backdrop-filter: blur(8px) saturate(130%);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  line-height: 1;
  color: #333;
  pointer-events: none;
  opacity: 0;
  transition: opacity .2s ease;
  z-index: 5;
}

.project-container .card-cursor::before {
  content: "↗";   /* arrow glyph */
}

.project-container.is-hovering .card-cursor {
  opacity: 1;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-d8cf123 *//* =========================
   Project Card Hover Effects
   ========================= */

/* Base card container */
.project-container {
  position: relative;
  border-radius: 25px;           /* keep rounded corners */
  overflow: hidden;              /* clip children (cursor + blur) */
  transition: transform .35s cubic-bezier(.22,.61,.36,1);
}

/* Lift card up slightly on hover */
.project-container:hover {
  transform: translateY(-6px);
}

/* Hide system cursor while hovering anywhere inside */
.project-container:hover,
.project-container:hover * {
  cursor: none !important;
}

/* Image wrapper (keeps border crisp) */
.project-image {
  position: relative;
  border-radius: 25px;           /* consistent with container */
  overflow: hidden;              /* ensures blur stays inside */
  background-color: #0000;       /* avoid white halo behind blur */
}

/* Actual <img> inside wrapper */
.project-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: filter .45s ease, transform .45s ease, clip-path .45s ease;
  will-change: filter, transform, clip-path;
}

/* Blur image smoothly on hover */
.project-container:hover .project-image img {
  filter: blur(6px) saturate(110%);
  clip-path: inset(-12px);       /* extend blur beyond edges */
  transform: scale(1.015);       /* tiny scale prevents edge halo */
}

/* Custom cursor (follower inside the card) */
.project-container .card-cursor {
  position: absolute;
  left: 0; top: 0;
  transform: translate(-50%, -50%);
  width: 50px;                   /* bigger circle (was 28px) */
  height: 50px;                  /* bigger circle */
  border-radius: 50%;
  background: rgba(255,255,255,.7);
  backdrop-filter: blur(8px) saturate(130%);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;               /* bigger arrow (was 14px) */
  line-height: 1;
  color: #333;
  pointer-events: none;
  opacity: 0;
  transition: opacity .2s ease;
  z-index: 5;
}

.project-container .card-cursor::before {
  content: "↗";   /* arrow glyph */
}

.project-container.is-hovering .card-cursor {
  opacity: 1;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-26d0ce4 *//* =========================
   Project Card Hover Effects
   ========================= */

/* Base card container */
.project-container {
  position: relative;
  border-radius: 25px;           /* keep rounded corners */
  overflow: hidden;              /* clip children (cursor + blur) */
  transition: transform .35s cubic-bezier(.22,.61,.36,1);
}

/* Lift card up slightly on hover */
.project-container:hover {
  transform: translateY(-6px);
}

/* Hide system cursor while hovering anywhere inside */
.project-container:hover,
.project-container:hover * {
  cursor: none !important;
}

/* Image wrapper (keeps border crisp) */
.project-image {
  position: relative;
  border-radius: 25px;           /* consistent with container */
  overflow: hidden;              /* ensures blur stays inside */
  background-color: #0000;       /* avoid white halo behind blur */
}

/* Actual <img> inside wrapper */
.project-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: filter .45s ease, transform .45s ease, clip-path .45s ease;
  will-change: filter, transform, clip-path;
}

/* Blur image smoothly on hover */
.project-container:hover .project-image img {
  filter: blur(6px) saturate(110%);
  clip-path: inset(-12px);       /* extend blur beyond edges */
  transform: scale(1.015);       /* tiny scale prevents edge halo */
}

/* Custom cursor (follower inside the card) */
.project-container .card-cursor {
  position: absolute;
  left: 0; top: 0;
  transform: translate(-50%, -50%);
  width: 28px; height: 28px;
  border-radius: 50%;
  background: rgba(255,255,255,.7);
  backdrop-filter: blur(8px) saturate(130%);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  line-height: 1;
  color: #333;
  pointer-events: none;
  opacity: 0;
  transition: opacity .2s ease;
  z-index: 5;
}

.project-container .card-cursor::before {
  content: "↗";   /* arrow glyph */
}

.project-container.is-hovering .card-cursor {
  opacity: 1;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-b3a2a36 *//* =========================
   Project Card Hover Effects
   ========================= */

/* Base card container */
.project-container {
  position: relative;
  border-radius: 25px;           /* keep rounded corners */
  overflow: hidden;              /* clip children (cursor + blur) */
  transition: transform .35s cubic-bezier(.22,.61,.36,1);
}

/* Lift card up slightly on hover */
.project-container:hover {
  transform: translateY(-6px);
}

/* Hide system cursor while hovering anywhere inside */
.project-container:hover,
.project-container:hover * {
  cursor: none !important;
}

/* Image wrapper (keeps border crisp) */
.project-image {
  position: relative;
  border-radius: 25px;           /* consistent with container */
  overflow: hidden;              /* ensures blur stays inside */
  background-color: #0000;       /* avoid white halo behind blur */
}

/* Actual <img> inside wrapper */
.project-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: filter .45s ease, transform .45s ease, clip-path .45s ease;
  will-change: filter, transform, clip-path;
}

/* Blur image smoothly on hover */
.project-container:hover .project-image img {
  filter: blur(6px) saturate(110%);
  clip-path: inset(-12px);       /* extend blur beyond edges */
  transform: scale(1.015);       /* tiny scale prevents edge halo */
}

/* Custom cursor (follower inside the card) */
.project-container .card-cursor {
  position: absolute;
  left: 0; top: 0;
  transform: translate(-50%, -50%);
  width: 28px; height: 28px;
  border-radius: 50%;
  background: rgba(255,255,255,.7);
  backdrop-filter: blur(8px) saturate(130%);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  line-height: 1;
  color: #333;
  pointer-events: none;
  opacity: 0;
  transition: opacity .2s ease;
  z-index: 5;
}

.project-container .card-cursor::before {
  content: "↗";   /* arrow glyph */
}

.project-container.is-hovering .card-cursor {
  opacity: 1;
}/* End custom CSS */
/* Start custom CSS *//* Hide the OS cursor while the follower is active or fading */
body.cursor-hide,
body.cursor-hide * { cursor: none !important; }

/* One global follower that tracks anywhere on the page */
.global-card-cursor{
  position: fixed;                /* follow outside the element too */
  left: 0; top: 0;
  transform: translate(-9999px,-9999px); /* offscreen until first move */
  width: 28px; height: 28px;
  border-radius: 50%;
  background: rgba(255,255,255,.75);
  backdrop-filter: blur(8px) saturate(130%);
  display: flex; align-items: center; justify-content: center;
  font-size: 14px; line-height: 1; color: #333;
  pointer-events: none;
  opacity: 0;
  transition: opacity .26s ease;  /* fade-out timing */
  z-index: 9999;                  /* above page content */
}
.global-card-cursor::before{ content: "↗"; }

/* Visible while hovering a target */
.global-card-cursor.cursor-visible { opacity: 1; }

/* Fade state after leaving the target (still follows pointer) */
.global-card-cursor.cursor-fade   { opacity: 0; }

/* On the homepage, keep top-of-page transparent regardless of classes */
.home #header-menu:not(.has-bg) .header-bg { opacity: 0 !important; }/* End custom CSS */