.elementor-4065 .elementor-element.elementor-element-ab2b910{--display:flex;--min-height:76vh;--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--flex-wrap:nowrap;--overflow:hidden;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-4065 .elementor-element.elementor-element-ab2b910:not(.elementor-motion-effects-element-type-background), .elementor-4065 .elementor-element.elementor-element-ab2b910 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#000000;}@media(max-width:1024px){.elementor-4065 .elementor-element.elementor-element-ab2b910{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}}@media(max-width:767px){.elementor-4065 .elementor-element.elementor-element-ab2b910{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}}/* Start custom CSS for html, class: .elementor-element-02b6963 *//* Wrapper: stacked full width */
.project-boxes{
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 0px;
}

/* Each box: full width */
.project-box{
  width: 100%;
  height: 357px;
  position: relative;
  border-radius: 0px;
  overflow: hidden;

  display: flex;
  align-items: center;


  text-decoration: none;
  color: #fff;
  isolation: isolate;
}

/* Background image */
.project-box::before{
  content:"";
  position:absolute;
  inset:0;
  background-image: var(--bg);
  background-size: cover;
  background-position: center;
  transform: scale(1.02);
  transition: transform 350ms ease;
  z-index: -2;
}

/* Overlay */
.project-box::after{
  content:"";
  position:absolute;
  inset:0;
  background: rgba(0,0,0,0.45);
  transition: background 300ms ease;
  z-index: -1;
}

/* Title */
.project-box__title{
  margin: 0;
  font-size: clamp(18px, 2.2vw, 28px);
  font-weight: 700;
  letter-spacing: 0.5px;
  color: white;
  white-space: nowrap;
  margin-left: 5%;
}

/* Underline that grows UNDER the word */
.project-box__title span{
  position: relative;
  display: inline-block;
  padding-bottom: 10px;
  font-family: Century Gothic, CenturyGothic, AppleGothic, sans-serif!important;
    
}

.project-box__title span::after{
  content:"";
  position:absolute;
  left: 0;
  bottom: 0;
  height: 3px;
  width: 50px;
  background: currentColor;
  border-radius: 999px;
  transition: width 280ms ease;
}

/* Hover: underline grows to full word width */
.project-box:hover .project-box__title span::after{
  width: 100%;
}

/* Optional: slight zoom/overlay change */
.project-box:hover::before{
  transform: scale(1.06);
}
.project-box:hover::after{
  background: rgba(0,0,0,0.30);
}

/* Mobile height */
@media (max-width: 768px){
  .project-box{ height: 29vh; }
}
.project-box__title span::after{
  width: 56px;
  opacity: 0.8;
  transition:
    width 320ms cubic-bezier(.4,0,.2,1),
    opacity 200ms ease;
}

.project-box:hover .project-box__title span::after{
  width: 100%;
  opacity: 1;
}/* End custom CSS */