.elementor-5897 .elementor-element.elementor-element-1869e9fd{--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:2vw;--padding-bottom:3vw;--padding-left:0vw;--padding-right:0vw;}.elementor-5897 .elementor-element.elementor-element-1869e9fd:not(.elementor-motion-effects-element-type-background), .elementor-5897 .elementor-element.elementor-element-1869e9fd > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-5897 .elementor-element.elementor-element-6e38746d{--display:flex;--margin-top:0vw;--margin-bottom:0vw;--margin-left:0vw;--margin-right:0vw;--padding-top:0vw;--padding-bottom:0vw;--padding-left:0vw;--padding-right:0vw;}.elementor-5897 .elementor-element.elementor-element-3445544f{--display:flex;--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-5897 .elementor-element.elementor-element-4ee40551{--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;--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-5897 .elementor-element.elementor-element-756edd9c{--display:flex;--min-height:55vh;--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;--background-transition:0.3s;--margin-top:0vw;--margin-bottom:0vw;--margin-left:0vw;--margin-right:0vw;--padding-top:3vw;--padding-bottom:0vw;--padding-left:0vw;--padding-right:0vw;}.elementor-5897 .elementor-element.elementor-element-756edd9c:not(.elementor-motion-effects-element-type-background), .elementor-5897 .elementor-element.elementor-element-756edd9c > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F6F7FF;}.elementor-5897 .elementor-element.elementor-element-756edd9c:hover{background-color:var( --e-global-color-secondary );}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-5897 .elementor-element.elementor-element-4514aef6{width:var( --container-widget-width, 100% );max-width:100%;padding:0vw 2vw 0vw 0vw;--container-widget-width:100%;--container-widget-flex-grow:0;font-family:"Poppins", Sans-serif;font-size:1.3vw;font-weight:400;color:#F1F1FD;}.elementor-5897 .elementor-element.elementor-element-4514aef6.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-5897 .elementor-element.elementor-element-4514aef6 a:hover, .elementor-5897 .elementor-element.elementor-element-4514aef6 a:focus{color:var( --e-global-color-23ab63c );}.elementor-5897 .elementor-element.elementor-element-6ebeaec7{margin:17vw 0vw calc(var(--kit-widget-spacing, 0px) + 0vw) 0vw;padding:0vw 0vw 0vw 0vw;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-5897 .elementor-element.elementor-element-f5396aa .elementor-button{background-color:var( --e-global-color-secondary );fill:var( --e-global-color-accent );color:var( --e-global-color-accent );}@media(max-width:767px){.elementor-5897 .elementor-element.elementor-element-1869e9fd{--padding-top:2vw;--padding-bottom:4vw;--padding-left:3vw;--padding-right:3vw;}.elementor-5897 .elementor-element.elementor-element-4514aef6{font-size:5vw;}.elementor-5897 .elementor-element.elementor-element-6ebeaec7{margin:45vw 0vw calc(var(--kit-widget-spacing, 0px) + 0vw) 0vw;}}@media(min-width:768px){.elementor-5897 .elementor-element.elementor-element-1869e9fd{--content-width:95vw;}}/* Start custom CSS for html, class: .elementor-element-6ebeaec7 */.hover-reveal-button {
  position: relative;
  display: inline-flex;
  align-items: center;
  cursor: pointer;
  background: transparent;
  overflow: hidden;
  padding: 0.6vw 0.8vw;
}

.reveal-text {
  white-space: nowrap;
  max-width: 0;
  opacity: 0;
  overflow: hidden;
  font-size: clamp(14px, 1.1vw, 24px);
  color: #F1F1FD;
  transition: max-width 0.5s ease, opacity 0.3s ease, margin 0.5s ease;
  margin-right: 0;
}

.hover-arrow {
  position: relative;
  color: #F1F1FD;
  font-size: clamp(14px, 0.9vw, 22px);
  transform: translateX(0);
  opacity: 0.9;
}

/* Hover states */
.hover-reveal-button:hover .reveal-text {
  max-width: 50vw; /* Enough to reveal full text */
  opacity: 1;
  margin-right: 0.5vw; /* Space between text and arrow */
}

/* Animate arrow back & forth continuously */
.hover-reveal-button:hover .hover-arrow {
  animation: arrow-bounce 0.8s infinite alternate ease-in-out;
}

/* Keyframes */
@keyframes arrow-bounce {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(12px); /* Adjust distance */
  }
}

/* Elementor overrides */
.elementor .hover-reveal-button {
  background: transparent !important;
  border: none !important;
  overflow: hidden !important;
}

.elementor .hover-reveal-button * {
  box-sizing: border-box !important;
}

.hover-reveal-link {
  text-decoration: none;
  display: inline-block;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-756edd9c *//* Card container */
.expertise-card-column {
  position: relative;
  padding: min(4vw, 30px);
  background-color: #050A44;
  border-radius: 0px;
  transition: all 0.4s ease;
  cursor: pointer;
  overflow: hidden;
  transform: scale(1);
}

/* Zoom + shadow on hover */
.expertise-card-column:hover {
  transform: scale(1.03);
  box-shadow: 0 20px 40px #00000033;
}

/* Overlay */
.expertise-hover-overlay {
  position: absolute;
  inset: 0;
  background-color: rgba(5, 10, 68, 0.5);
  opacity: 0;
  transition: opacity 0.4s ease;
  z-index: 0; /* Keep behind content */
  pointer-events: none;
}

/* Show overlay on hover */
.expertise-card-column:hover .expertise-hover-overlay {
  opacity: 1;
}

/* Content stays above overlay */
.expertise-card-column > * {
  position: relative;
  z-index: 1;
}

/* --- BUTTON STYLES --- */
.hover-reveal-button {
  position: relative;
  display: inline-flex;
  align-items: center;
  cursor: pointer;
  background: transparent;
  overflow: hidden;
  padding: 0.6vw 0.8vw;
}

.reveal-text {
  white-space: nowrap;
  max-width: 0;
  opacity: 0;
  overflow: hidden;
  font-size: clamp(14px, 1.1vw, 24px);
  color: #F1F1FD;
  transition: max-width 0.5s ease, opacity 0.3s ease, margin 0.5s ease;
  margin-right: 0;
}

.hover-arrow {
  position: relative;
  color: #F1F1FD;
  font-size: clamp(14px, 0.9vw, 22px);
  transform: translateX(0);
  opacity: 0.9;
}

/* ✅ Trigger text + arrow animation on CARD hover */
.expertise-card-column:hover .reveal-text {
  max-width: 50vw; /* Enough to reveal full text */
  opacity: 1;
  margin-right: 0.5vw;
}

.expertise-card-column:hover .hover-arrow {
  animation: arrow-bounce 0.8s infinite alternate ease-in-out;
  opacity: 1;
}

/* Keyframes for arrow loop */
@keyframes arrow-bounce {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(12px);
  }
}

/* Elementor overrides */
.elementor .hover-reveal-button {
  background: transparent !important;
  border: none !important;
  overflow: hidden !important;
}

.elementor .hover-reveal-button * {
  box-sizing: border-box !important;
}

.hover-reveal-link {
  text-decoration: none;
  display: inline-block;
}/* End custom CSS */