.elementor-16 .elementor-element.elementor-element-7658109{--display:flex;}.elementor-16 .elementor-element.elementor-element-c3b73da{--display:flex;--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;--padding-top:0px;--padding-bottom:0px;--padding-left:350px;--padding-right:0px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );color:var( --e-global-color-primary );}.elementor-16 .elementor-element.elementor-element-951bee8 .elementor-heading-title{color:var( --e-global-color-text );}.elementor-16 .elementor-element.elementor-element-5b85692{--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;--justify-content:center;--padding-top:0px;--padding-bottom:0px;--padding-left:300px;--padding-right:50px;}.elementor-16 .elementor-element.elementor-element-80769a0{--display:flex;--border-radius:10px 10px 10px 10px;--padding-top:50px;--padding-bottom:50px;--padding-left:0px;--padding-right:0px;}.elementor-16 .elementor-element.elementor-element-5abf84c{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:50px;--padding-right:50px;}.elementor-16 .elementor-element.elementor-element-53784cb{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:50px;--padding-right:50px;}.elementor-16 .elementor-element.elementor-element-0cf0747{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:50px;--padding-right:50px;}.elementor-16 .elementor-element.elementor-element-fd2a4a6{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:50px;--padding-right:50px;}.elementor-16 .elementor-element.elementor-element-4edb030{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:50px;--padding-right:50px;}.elementor-16 .elementor-element.elementor-element-c11e5cc{--e-n-carousel-swiper-slides-to-display:3;--e-n-carousel-swiper-slides-gap:10px;padding:5px 5px 5px 5px;--e-n-carousel-slide-height:auto;--e-n-carousel-slide-container-height:100%;--e-n-carousel-arrow-prev-left-align:0%;--e-n-carousel-arrow-prev-translate-x:0px;--e-n-carousel-arrow-prev-left-position:0px;--e-n-carousel-arrow-prev-top-align:50%;--e-n-carousel-arrow-prev-translate-y:-50%;--e-n-carousel-arrow-prev-top-position:0px;--e-n-carousel-arrow-next-right-align:0%;--e-n-carousel-arrow-next-translate-x:0%;--e-n-carousel-arrow-next-right-position:0px;--e-n-carousel-arrow-next-top-align:50%;--e-n-carousel-arrow-next-translate-y:-50%;--e-n-carousel-arrow-normal-color:var( --e-global-color-6249144 );--e-n-carousel-dots-normal-color:var( --e-global-color-6249144 );}.elementor-16 .elementor-element.elementor-element-c11e5cc :is(.elementor-swiper-button-prev, .elementor-swiper-button-next) {border-radius:20px 20px 20px 20px;}.elementor-16 .elementor-element.elementor-element-7e5b303{--display:flex;--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;--padding-top:0px;--padding-bottom:0px;--padding-left:350px;--padding-right:0px;}.elementor-16 .elementor-element.elementor-element-ad92940 .elementor-heading-title{color:var( --e-global-color-text );}.elementor-16 .elementor-element.elementor-element-5c9a3cb7{--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;--justify-content:center;--padding-top:0px;--padding-bottom:0px;--padding-left:300px;--padding-right:50px;}.elementor-16 .elementor-element.elementor-element-91e13a3{--display:flex;--border-radius:10px 10px 10px 10px;--padding-top:50px;--padding-bottom:50px;--padding-left:0px;--padding-right:0px;}.elementor-16 .elementor-element.elementor-element-6443ff7a{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:50px;--padding-right:50px;}.elementor-16 .elementor-element.elementor-element-75cdbb2b{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:50px;--padding-right:50px;}.elementor-16 .elementor-element.elementor-element-40983932{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:50px;--padding-right:50px;}.elementor-16 .elementor-element.elementor-element-45808dbd{width:var( --container-widget-width, 102.02% );max-width:102.02%;--container-widget-width:102.02%;--container-widget-flex-grow:0;}.elementor-16 .elementor-element.elementor-element-45808dbd.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-16 .elementor-element.elementor-element-182586d0{--e-n-carousel-swiper-slides-to-display:3;--e-n-carousel-swiper-slides-gap:10px;padding:5px 5px 5px 5px;--e-n-carousel-slide-height:auto;--e-n-carousel-slide-container-height:100%;--e-n-carousel-arrow-prev-left-align:0%;--e-n-carousel-arrow-prev-translate-x:0px;--e-n-carousel-arrow-prev-left-position:0px;--e-n-carousel-arrow-prev-top-align:50%;--e-n-carousel-arrow-prev-translate-y:-50%;--e-n-carousel-arrow-prev-top-position:0px;--e-n-carousel-arrow-next-right-align:0%;--e-n-carousel-arrow-next-translate-x:0%;--e-n-carousel-arrow-next-right-position:0px;--e-n-carousel-arrow-next-top-align:50%;--e-n-carousel-arrow-next-translate-y:-50%;--e-n-carousel-arrow-normal-color:var( --e-global-color-6249144 );--e-n-carousel-dots-normal-color:var( --e-global-color-6249144 );}.elementor-16 .elementor-element.elementor-element-182586d0 :is(.elementor-swiper-button-prev, .elementor-swiper-button-next) {border-radius:20px 20px 20px 20px;}.elementor-16 .elementor-element.elementor-element-443b72ca{--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;--justify-content:center;--padding-top:0px;--padding-bottom:0px;--padding-left:350px;--padding-right:50px;}.elementor-16 .elementor-element.elementor-element-3ca491ae{--display:flex;--border-radius:10px 10px 10px 10px;--padding-top:50px;--padding-bottom:50px;--padding-left:0px;--padding-right:0px;}.elementor-16 .elementor-element.elementor-element-49bd743{--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;--justify-content:center;--padding-top:0px;--padding-bottom:0px;--padding-left:350px;--padding-right:50px;}.elementor-16 .elementor-element.elementor-element-c214c8f{--display:flex;--border-radius:10px 10px 10px 10px;--padding-top:50px;--padding-bottom:50px;--padding-left:0px;--padding-right:0px;}.elementor-16 .elementor-element.elementor-element-695138be{--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;--justify-content:center;--padding-top:0px;--padding-bottom:0px;--padding-left:300px;--padding-right:50px;}.elementor-16 .elementor-element.elementor-element-1375aaee{--display:flex;--border-radius:10px 10px 10px 10px;--padding-top:50px;--padding-bottom:50px;--padding-left:0px;--padding-right:0px;}.elementor-16 .elementor-element.elementor-element-8fb95c3{--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;--justify-content:center;--padding-top:0px;--padding-bottom:0px;--padding-left:300px;--padding-right:50px;}.elementor-16 .elementor-element.elementor-element-f5833f0{--display:flex;--border-radius:10px 10px 10px 10px;--padding-top:50px;--padding-bottom:50px;--padding-left:0px;--padding-right:0px;}.elementor-16 .elementor-element.elementor-element-7d8bccc{--display:flex;--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;--padding-top:0px;--padding-bottom:0px;--padding-left:350px;--padding-right:0px;}.elementor-16 .elementor-element.elementor-element-76a61e6{--display:flex;--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;--padding-top:0px;--padding-bottom:0px;--padding-left:350px;--padding-right:0px;}@media(min-width:768px){.elementor-16 .elementor-element.elementor-element-7658109{--content-width:1200px;}.elementor-16 .elementor-element.elementor-element-c3b73da{--content-width:1200px;}.elementor-16 .elementor-element.elementor-element-5b85692{--content-width:1200px;}.elementor-16 .elementor-element.elementor-element-7e5b303{--content-width:1200px;}.elementor-16 .elementor-element.elementor-element-5c9a3cb7{--content-width:1200px;}.elementor-16 .elementor-element.elementor-element-443b72ca{--content-width:1200px;}.elementor-16 .elementor-element.elementor-element-49bd743{--content-width:1200px;}.elementor-16 .elementor-element.elementor-element-695138be{--content-width:1200px;}.elementor-16 .elementor-element.elementor-element-8fb95c3{--content-width:1200px;}.elementor-16 .elementor-element.elementor-element-7d8bccc{--content-width:1200px;}.elementor-16 .elementor-element.elementor-element-76a61e6{--content-width:1200px;}}@media(max-width:1024px){.elementor-widget-heading .elementor-heading-title{line-height:var( --e-global-typography-primary-line-height );}.elementor-16 .elementor-element.elementor-element-5b85692{--padding-top:0px;--padding-bottom:0px;--padding-left:150px;--padding-right:0px;}.elementor-16 .elementor-element.elementor-element-489f949{padding:0px 0px 0px 0px;}.elementor-16 .elementor-element.elementor-element-c11e5cc{--e-n-carousel-swiper-slides-to-display:1;padding:0px 50px 0px 50px;}.elementor-16 .elementor-element.elementor-element-5c9a3cb7{--padding-top:0px;--padding-bottom:0px;--padding-left:150px;--padding-right:0px;}.elementor-16 .elementor-element.elementor-element-36205a86{padding:0px 0px 0px 0px;}.elementor-16 .elementor-element.elementor-element-182586d0{--e-n-carousel-swiper-slides-to-display:1;padding:0px 50px 0px 50px;}.elementor-16 .elementor-element.elementor-element-443b72ca{--padding-top:0px;--padding-bottom:0px;--padding-left:150px;--padding-right:0px;}.elementor-16 .elementor-element.elementor-element-49bd743{--padding-top:0px;--padding-bottom:0px;--padding-left:150px;--padding-right:0px;}.elementor-16 .elementor-element.elementor-element-695138be{--padding-top:0px;--padding-bottom:0px;--padding-left:150px;--padding-right:0px;}.elementor-16 .elementor-element.elementor-element-8fb95c3{--padding-top:0px;--padding-bottom:0px;--padding-left:150px;--padding-right:0px;}}@media(max-width:767px){.elementor-widget-heading .elementor-heading-title{line-height:var( --e-global-typography-primary-line-height );}.elementor-16 .elementor-element.elementor-element-5b85692{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-16 .elementor-element.elementor-element-c11e5cc{--e-n-carousel-swiper-slides-to-display:1;}.elementor-16 .elementor-element.elementor-element-5c9a3cb7{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-16 .elementor-element.elementor-element-182586d0{--e-n-carousel-swiper-slides-to-display:1;}.elementor-16 .elementor-element.elementor-element-443b72ca{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-16 .elementor-element.elementor-element-49bd743{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-16 .elementor-element.elementor-element-695138be{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-16 .elementor-element.elementor-element-8fb95c3{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}}/* Start custom CSS for container, class: .elementor-element-5b85692 *//* Unique CSS variables to keep styling scoped */
:root {
  --pc-bg: #112233;
  --pc-text-main: #f8f9fa;
  --pc-text-muted: #adbac7;
  --pc-accent: #38bdf8;
}

/* Highly isolated card style to drop straight into your slider */
.custom-project-card {
  background-color: var(--pc-bg);
  border-radius: 12px;
  width: 100%; 
  height: 100%;        /* CRITICAL: Forces all cards in the row to stretch to equal height */
  box-sizing: border-box;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
  border: 1px solid rgba(255, 255, 255, 0.05);
  display: flex;
  flex-direction: column;
}

/* Smooth lift on hover */
.custom-project-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 30px rgba(56, 189, 248, 0.15);
  border-color: rgba(56, 189, 248, 0.3);
}

/* Isolated Image Container */
.custom-image-container {
  position: relative;
  width: 100%;
  height: 280px;
  overflow: hidden;
  background-color: #1a2f4c;
}

.custom-image-container img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.custom-project-card:hover .custom-image-container img {
  transform: scale(1.05);
}

/* Floating pill badge style */
.custom-project-badge {
  position: absolute;
  top: 16px;
  right: 16px;
  
  /* 1. Dark translucent background instead of a light blue tint */
  background-color: rgba(11, 19, 31, 0.45); 
  
  /* Keeps your signature tech-cyan text */
  color: var(--pc-accent); 
  
  /* 2. Added brightness(0.6) to dynamically darken light photos underneath */
  backdrop-filter: blur(6px) brightness(0.6);
  -webkit-backdrop-filter: blur(6px) brightness(0.6);
  
  padding: 6px 14px;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 1px;
  border-radius: 20px;
  
  /* 3. Slightly strengthened the border for cleaner definition */
  border: 1px solid rgba(56, 189, 248, 0.4);
  z-index: 2;
  
  /* Optional: Adds a subtle shadow to pop it off high-contrast edges */
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2); 
}

/* Inner Layout Content */
.custom-card-content {
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  flex-grow: 1;
}

.custom-card-title {
  color: var(--pc-text-main);
  font-size: 1.35rem;
  font-weight: 600;
  margin: 0;
  line-height: 1.4;
}

.custom-card-description {
  color: var(--pc-text-muted);
  font-size: 0.95rem;
  line-height: 1.6;
  margin: 0;
  margin-bottom: 24px; /* Gives nice breathing room above the button */
  /* You can completely remove the 'min-height' property now, 
     as flex-grow handles the alignment automatically! */
}

/* Enhanced CTA Link Button */
.custom-cta-button {
  margin-top: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background-color: transparent;
  color: var(--pc-accent);
  border: 2px solid var(--pc-accent);
  padding: 10px 20px;
  font-size: 0.95rem;
  font-weight: 600;
  border-radius: 6px;
  text-decoration: none;
  transition: all 0.2s ease;
  cursor: pointer;
}

.custom-cta-button:hover {
  background-color: var(--pc-accent);
  color: #0b131f;
  box-shadow: 0 4px 12px rgba(56, 189, 248, 0.3);
}

.custom-cta-button svg {
  width: 16px;
  height: 16px;
  fill: none;
  transition: transform 0.2s ease;
}

.custom-cta-button:hover svg {
  transform: translateX(4px);
}


/* 1. Force the carousel slides to act as flex boxes and match the tallest card */
.elementor-16 .elementor-element.elementor-element-5b85692 .swiper-slide {
    display: flex !important;
    height: auto !important; 
}

/* 2. Force Elementor's hidden internal widget containers to stretch full height */
.elementor-16 .elementor-element.elementor-element-5b85692 .swiper-slide .elementor-widget,
.elementor-16 .elementor-element.elementor-element-5b85692 .swiper-slide .elementor-widget-container {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
    height: 100% !important;
}

/* 3. Force your custom card to occupy 100% of that newly stretched height */
.elementor-16 .elementor-element.elementor-element-5b85692 .custom-project-card {
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    flex-grow: 1 !important;
}

/* 4. Ensure the card's inner text area expands to absorb blank space */
.elementor-16 .elementor-element.elementor-element-5b85692 .custom-card-content {
    flex-grow: 1 !important;
    display: flex !important;
    flex-direction: column !important;
}

/* 5. Lock the action buttons firmly to the baseline */
.elementor-16 .elementor-element.elementor-element-5b85692 .custom-cta-button {
    margin-top: auto !important; 
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-5c9a3cb7 *//* Unique CSS variables to keep styling scoped */
:root {
  --pc-bg: #112233;
  --pc-text-main: #f8f9fa;
  --pc-text-muted: #adbac7;
  --pc-accent: #38bdf8;
}

/* Highly isolated card style to drop straight into your slider */
.custom-project-card {
  background-color: var(--pc-bg);
  border-radius: 12px;
  width: 100%; /* Inherits the exact slot width allocated by your slider */
  box-sizing: border-box;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
  border: 1px solid rgba(255, 255, 255, 0.05);
  display: flex;
  flex-direction: column;
}

/* Smooth lift on hover */
.custom-project-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 30px rgba(56, 189, 248, 0.15);
  border-color: rgba(56, 189, 248, 0.3);
}

/* Isolated Image Container */
.custom-image-container {
  position: relative;
  width: 100%;
  height: 280px;
  overflow: hidden;
  background-color: #1a2f4c;
}

.custom-image-container img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.custom-project-card:hover .custom-image-container img {
  transform: scale(1.05);
}

/* Floating pill badge style */
.custom-project-badge {
  position: absolute;
  top: 16px;
  right: 16px;
  
  /* 1. Dark translucent background instead of a light blue tint */
  background-color: rgba(11, 19, 31, 0.45); 
  
  /* Keeps your signature tech-cyan text */
  color: var(--pc-accent); 
  
  /* 2. Added brightness(0.6) to dynamically darken light photos underneath */
  backdrop-filter: blur(6px) brightness(0.6);
  -webkit-backdrop-filter: blur(6px) brightness(0.6);
  
  padding: 6px 14px;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 1px;
  border-radius: 20px;
  
  /* 3. Slightly strengthened the border for cleaner definition */
  border: 1px solid rgba(56, 189, 248, 0.4);
  z-index: 2;
  
  /* Optional: Adds a subtle shadow to pop it off high-contrast edges */
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2); 
}

/* Inner Layout Content */
.custom-card-content {
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  flex-grow: 1;
}

.custom-card-title {
  color: var(--pc-text-main);
  font-size: 1.35rem;
  font-weight: 600;
  margin: 0;
  line-height: 1.4;
}

.custom-card-description {
  color: var(--pc-text-muted);
  font-size: 0.95rem;
  line-height: 1.6;
  margin: 0;
  margin-bottom: 16px;
  min-height: 72px;
}

/* Enhanced CTA Link Button */
.custom-cta-button {
  margin-top: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background-color: transparent;
  color: var(--pc-accent);
  border: 2px solid var(--pc-accent);
  padding: 10px 20px;
  font-size: 0.95rem;
  font-weight: 600;
  border-radius: 6px;
  text-decoration: none;
  transition: all 0.2s ease;
  cursor: pointer;
}

.custom-cta-button:hover {
  background-color: var(--pc-accent);
  color: #0b131f;
  box-shadow: 0 4px 12px rgba(56, 189, 248, 0.3);
}

.custom-cta-button svg {
  width: 16px;
  height: 16px;
  fill: none;
  transition: transform 0.2s ease;
}

.custom-cta-button:hover svg {
  transform: translateX(4px);
}


/* 1. Force the carousel slides to act as flex boxes and match the tallest card */
.elementor-16 .elementor-element.elementor-element-5c9a3cb7 .swiper-slide {
    display: flex !important;
    height: auto !important; 
}

/* 2. Force Elementor's hidden internal widget containers to stretch full height */
.elementor-16 .elementor-element.elementor-element-5c9a3cb7 .swiper-slide .elementor-widget,
.elementor-16 .elementor-element.elementor-element-5c9a3cb7 .swiper-slide .elementor-widget-container {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
    height: 100% !important;
}

/* 3. Force your custom card to occupy 100% of that newly stretched height */
.elementor-16 .elementor-element.elementor-element-5c9a3cb7 .custom-project-card {
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    flex-grow: 1 !important;
}

/* 4. Ensure the card's inner text area expands to absorb blank space */
.elementor-16 .elementor-element.elementor-element-5c9a3cb7 .custom-card-content {
    flex-grow: 1 !important;
    display: flex !important;
    flex-direction: column !important;
}

/* 5. Lock the action buttons firmly to the baseline */
.elementor-16 .elementor-element.elementor-element-5c9a3cb7 .custom-cta-button {
    margin-top: auto !important; 
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-443b72ca *//* Unique CSS variables to keep styling scoped */
:root {
  --pc-bg: #112233;
  --pc-text-main: #f8f9fa;
  --pc-text-muted: #adbac7;
  --pc-accent: #38bdf8;
}

/* Highly isolated card style to drop straight into your slider */
.custom-project-card {
  background-color: var(--pc-bg);
  border-radius: 12px;
  width: 100%; 
  height: 100%;        /* CRITICAL: Forces all cards in the row to stretch to equal height */
  box-sizing: border-box;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
  border: 1px solid rgba(255, 255, 255, 0.05);
  display: flex;
  flex-direction: column;
}

/* Smooth lift on hover */
.custom-project-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 30px rgba(56, 189, 248, 0.15);
  border-color: rgba(56, 189, 248, 0.3);
}

/* Isolated Image Container */
.custom-image-container {
  position: relative;
  width: 100%;
  height: 280px;
  overflow: hidden;
  background-color: #1a2f4c;
}

.custom-image-container img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.custom-project-card:hover .custom-image-container img {
  transform: scale(1.05);
}

/* Floating pill badge style */
.custom-project-badge {
  position: absolute;
  top: 16px;
  right: 16px;
  
  /* 1. Dark translucent background instead of a light blue tint */
  background-color: rgba(11, 19, 31, 0.45); 
  
  /* Keeps your signature tech-cyan text */
  color: var(--pc-accent); 
  
  /* 2. Added brightness(0.6) to dynamically darken light photos underneath */
  backdrop-filter: blur(6px) brightness(0.6);
  -webkit-backdrop-filter: blur(6px) brightness(0.6);
  
  padding: 6px 14px;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 1px;
  border-radius: 20px;
  
  /* 3. Slightly strengthened the border for cleaner definition */
  border: 1px solid rgba(56, 189, 248, 0.4);
  z-index: 2;
  
  /* Optional: Adds a subtle shadow to pop it off high-contrast edges */
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2); 
}

/* Inner Layout Content */
.custom-card-content {
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  flex-grow: 1;
}

.custom-card-title {
  color: var(--pc-text-main);
  font-size: 1.35rem;
  font-weight: 600;
  margin: 0;
  line-height: 1.4;
}

.custom-card-description {
  color: var(--pc-text-muted);
  font-size: 0.95rem;
  line-height: 1.6;
  margin: 0;
  margin-bottom: 24px; /* Gives nice breathing room above the button */
  /* You can completely remove the 'min-height' property now, 
     as flex-grow handles the alignment automatically! */
}

/* Enhanced CTA Link Button */
.custom-cta-button {
  margin-top: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background-color: transparent;
  color: var(--pc-accent);
  border: 2px solid var(--pc-accent);
  padding: 10px 20px;
  font-size: 0.95rem;
  font-weight: 600;
  border-radius: 6px;
  text-decoration: none;
  transition: all 0.2s ease;
  cursor: pointer;
}

.custom-cta-button:hover {
  background-color: var(--pc-accent);
  color: #0b131f;
  box-shadow: 0 4px 12px rgba(56, 189, 248, 0.3);
}

.custom-cta-button svg {
  width: 16px;
  height: 16px;
  fill: none;
  transition: transform 0.2s ease;
}

.custom-cta-button:hover svg {
  transform: translateX(4px);
}


/* 1. Force the carousel slides to act as flex boxes and match the tallest card */
.elementor-16 .elementor-element.elementor-element-443b72ca .swiper-slide {
    display: flex !important;
    height: auto !important; 
}

/* 2. Force Elementor's hidden internal widget containers to stretch full height */
.elementor-16 .elementor-element.elementor-element-443b72ca .swiper-slide .elementor-widget,
.elementor-16 .elementor-element.elementor-element-443b72ca .swiper-slide .elementor-widget-container {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
    height: 100% !important;
}

/* 3. Force your custom card to occupy 100% of that newly stretched height */
.elementor-16 .elementor-element.elementor-element-443b72ca .custom-project-card {
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    flex-grow: 1 !important;
}

/* 4. Ensure the card's inner text area expands to absorb blank space */
.elementor-16 .elementor-element.elementor-element-443b72ca .custom-card-content {
    flex-grow: 1 !important;
    display: flex !important;
    flex-direction: column !important;
}

/* 5. Lock the action buttons firmly to the baseline */
.elementor-16 .elementor-element.elementor-element-443b72ca .custom-cta-button {
    margin-top: auto !important; 
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-49bd743 *//* Unique CSS variables to keep styling scoped */
:root {
  --pc-bg: #112233;
  --pc-text-main: #f8f9fa;
  --pc-text-muted: #adbac7;
  --pc-accent: #38bdf8;
}

/* Highly isolated card style to drop straight into your slider */
.custom-project-card {
  background-color: var(--pc-bg);
  border-radius: 12px;
  width: 100%; 
  height: 100%;        /* CRITICAL: Forces all cards in the row to stretch to equal height */
  box-sizing: border-box;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
  border: 1px solid rgba(255, 255, 255, 0.05);
  display: flex;
  flex-direction: column;
}

/* Smooth lift on hover */
.custom-project-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 30px rgba(56, 189, 248, 0.15);
  border-color: rgba(56, 189, 248, 0.3);
}

/* Isolated Image Container */
.custom-image-container {
  position: relative;
  width: 100%;
  height: 280px;
  overflow: hidden;
  background-color: #1a2f4c;
}

.custom-image-container img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.custom-project-card:hover .custom-image-container img {
  transform: scale(1.05);
}

/* Floating pill badge style */
.custom-project-badge {
  position: absolute;
  top: 16px;
  right: 16px;
  
  /* 1. Dark translucent background instead of a light blue tint */
  background-color: rgba(11, 19, 31, 0.45); 
  
  /* Keeps your signature tech-cyan text */
  color: var(--pc-accent); 
  
  /* 2. Added brightness(0.6) to dynamically darken light photos underneath */
  backdrop-filter: blur(6px) brightness(0.6);
  -webkit-backdrop-filter: blur(6px) brightness(0.6);
  
  padding: 6px 14px;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 1px;
  border-radius: 20px;
  
  /* 3. Slightly strengthened the border for cleaner definition */
  border: 1px solid rgba(56, 189, 248, 0.4);
  z-index: 2;
  
  /* Optional: Adds a subtle shadow to pop it off high-contrast edges */
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2); 
}

/* Inner Layout Content */
.custom-card-content {
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  flex-grow: 1;
}

.custom-card-title {
  color: var(--pc-text-main);
  font-size: 1.35rem;
  font-weight: 600;
  margin: 0;
  line-height: 1.4;
}

.custom-card-description {
  color: var(--pc-text-muted);
  font-size: 0.95rem;
  line-height: 1.6;
  margin: 0;
  margin-bottom: 24px; /* Gives nice breathing room above the button */
  /* You can completely remove the 'min-height' property now, 
     as flex-grow handles the alignment automatically! */
}

/* Enhanced CTA Link Button */
.custom-cta-button {
  margin-top: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background-color: transparent;
  color: var(--pc-accent);
  border: 2px solid var(--pc-accent);
  padding: 10px 20px;
  font-size: 0.95rem;
  font-weight: 600;
  border-radius: 6px;
  text-decoration: none;
  transition: all 0.2s ease;
  cursor: pointer;
}

.custom-cta-button:hover {
  background-color: var(--pc-accent);
  color: #0b131f;
  box-shadow: 0 4px 12px rgba(56, 189, 248, 0.3);
}

.custom-cta-button svg {
  width: 16px;
  height: 16px;
  fill: none;
  transition: transform 0.2s ease;
}

.custom-cta-button:hover svg {
  transform: translateX(4px);
}


/* 1. Force the carousel slides to act as flex boxes and match the tallest card */
.elementor-16 .elementor-element.elementor-element-49bd743 .swiper-slide {
    display: flex !important;
    height: auto !important; 
}

/* 2. Force Elementor's hidden internal widget containers to stretch full height */
.elementor-16 .elementor-element.elementor-element-49bd743 .swiper-slide .elementor-widget,
.elementor-16 .elementor-element.elementor-element-49bd743 .swiper-slide .elementor-widget-container {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
    height: 100% !important;
}

/* 3. Force your custom card to occupy 100% of that newly stretched height */
.elementor-16 .elementor-element.elementor-element-49bd743 .custom-project-card {
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    flex-grow: 1 !important;
}

/* 4. Ensure the card's inner text area expands to absorb blank space */
.elementor-16 .elementor-element.elementor-element-49bd743 .custom-card-content {
    flex-grow: 1 !important;
    display: flex !important;
    flex-direction: column !important;
}

/* 5. Lock the action buttons firmly to the baseline */
.elementor-16 .elementor-element.elementor-element-49bd743 .custom-cta-button {
    margin-top: auto !important; 
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-2f75a657 */:root {
  --pc-bg: #112233;
  --pc-text-main: #f8f9fa;
  --pc-text-muted: #adbac7;
  --pc-accent: #38bdf8;
}

/* Centred Flexbox Layout Container */
.triple-actions-container {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center; /* Perfectly centres the button row on the page */
  gap: 2.5rem;             /* Spaced further apart to give breathing room */
  margin: 3rem 0;
  width: 100%;
}

/* Unified Glow Button Style */
.custom-glow-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.95rem 2.25rem;
  font-size: 0.95rem;
  font-weight: 600;
  border-radius: 50px;     /* Fully rounded pill corners */
  text-decoration: none;
  box-sizing: border-box;
  min-width: 220px;
  text-align: center;
  white-space: nowrap;
  
  /* Identical Base Formatting */
  background-color: #000000;
  border: 1px solid var(--pc-accent);
  color: var(--pc-accent);
  
  /* Ambient Glow Effect */
  box-shadow: 0 0 12px rgba(56, 189, 248, 0.25);
  
  /* Smooth Transition Engine for Glow and Scale */
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Hover State Feedback */
.custom-glow-btn:hover {
  background-color: rgba(56, 189, 248, 0.08);
  color: #ffffff;
  border-color: #ffffff;
  
  /* Intensified Neon Glow on Hover */
  box-shadow: 0 0 20px rgba(56, 189, 248, 0.6), 
              inset 0 0 8px rgba(56, 189, 248, 0.2);
  transform: translateY(-2px);
}

/* Mobile Responsiveness Engine */
@media (max-width: 768px) {
  .triple-actions-container {
    flex-direction: column;
    gap: 1.25rem;
    width: 100%;
    padding: 0 1.5rem;
  }
  
  .custom-glow-btn {
    width: 100%; /* Stacks cleanly and spans full width on smaller screens */
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-695138be *//* Unique CSS variables to keep styling scoped */
:root {
  --pc-bg: #112233;
  --pc-text-main: #f8f9fa;
  --pc-text-muted: #adbac7;
  --pc-accent: #38bdf8;
}

/* Highly isolated card style to drop straight into your slider */
.custom-project-card {
  background-color: var(--pc-bg);
  border-radius: 12px;
  width: 100%; 
  height: 100%;        /* CRITICAL: Forces all cards in the row to stretch to equal height */
  box-sizing: border-box;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
  border: 1px solid rgba(255, 255, 255, 0.05);
  display: flex;
  flex-direction: column;
}

/* Smooth lift on hover */
.custom-project-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 30px rgba(56, 189, 248, 0.15);
  border-color: rgba(56, 189, 248, 0.3);
}

/* Isolated Image Container */
.custom-image-container {
  position: relative;
  width: 100%;
  height: 280px;
  overflow: hidden;
  background-color: #1a2f4c;
}

.custom-image-container img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.custom-project-card:hover .custom-image-container img {
  transform: scale(1.05);
}

/* Floating pill badge style */
.custom-project-badge {
  position: absolute;
  top: 16px;
  right: 16px;
  
  /* 1. Dark translucent background instead of a light blue tint */
  background-color: rgba(11, 19, 31, 0.45); 
  
  /* Keeps your signature tech-cyan text */
  color: var(--pc-accent); 
  
  /* 2. Added brightness(0.6) to dynamically darken light photos underneath */
  backdrop-filter: blur(6px) brightness(0.6);
  -webkit-backdrop-filter: blur(6px) brightness(0.6);
  
  padding: 6px 14px;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 1px;
  border-radius: 20px;
  
  /* 3. Slightly strengthened the border for cleaner definition */
  border: 1px solid rgba(56, 189, 248, 0.4);
  z-index: 2;
  
  /* Optional: Adds a subtle shadow to pop it off high-contrast edges */
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2); 
}

/* Inner Layout Content */
.custom-card-content {
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  flex-grow: 1;
}

.custom-card-title {
  color: var(--pc-text-main);
  font-size: 1.35rem;
  font-weight: 600;
  margin: 0;
  line-height: 1.4;
}

.custom-card-description {
  color: var(--pc-text-muted);
  font-size: 0.95rem;
  line-height: 1.6;
  margin: 0;
  margin-bottom: 24px; /* Gives nice breathing room above the button */
  /* You can completely remove the 'min-height' property now, 
     as flex-grow handles the alignment automatically! */
}

/* Enhanced CTA Link Button */
.custom-cta-button {
  margin-top: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background-color: transparent;
  color: var(--pc-accent);
  border: 2px solid var(--pc-accent);
  padding: 10px 20px;
  font-size: 0.95rem;
  font-weight: 600;
  border-radius: 6px;
  text-decoration: none;
  transition: all 0.2s ease;
  cursor: pointer;
}

.custom-cta-button:hover {
  background-color: var(--pc-accent);
  color: #0b131f;
  box-shadow: 0 4px 12px rgba(56, 189, 248, 0.3);
}

.custom-cta-button svg {
  width: 16px;
  height: 16px;
  fill: none;
  transition: transform 0.2s ease;
}

.custom-cta-button:hover svg {
  transform: translateX(4px);
}


/* 1. Force the carousel slides to act as flex boxes and match the tallest card */
.elementor-16 .elementor-element.elementor-element-695138be .swiper-slide {
    display: flex !important;
    height: auto !important; 
}

/* 2. Force Elementor's hidden internal widget containers to stretch full height */
.elementor-16 .elementor-element.elementor-element-695138be .swiper-slide .elementor-widget,
.elementor-16 .elementor-element.elementor-element-695138be .swiper-slide .elementor-widget-container {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
    height: 100% !important;
}

/* 3. Force your custom card to occupy 100% of that newly stretched height */
.elementor-16 .elementor-element.elementor-element-695138be .custom-project-card {
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    flex-grow: 1 !important;
}

/* 4. Ensure the card's inner text area expands to absorb blank space */
.elementor-16 .elementor-element.elementor-element-695138be .custom-card-content {
    flex-grow: 1 !important;
    display: flex !important;
    flex-direction: column !important;
}

/* 5. Lock the action buttons firmly to the baseline */
.elementor-16 .elementor-element.elementor-element-695138be .custom-cta-button {
    margin-top: auto !important; 
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-8fb95c3 *//* Unique CSS variables to keep styling scoped */
:root {
  --pc-bg: #112233;
  --pc-text-main: #f8f9fa;
  --pc-text-muted: #adbac7;
  --pc-accent: #38bdf8;
}

/* Highly isolated card style to drop straight into your slider */
.custom-project-card {
  background-color: var(--pc-bg);
  border-radius: 12px;
  width: 100%; 
  height: 100%;        /* CRITICAL: Forces all cards in the row to stretch to equal height */
  box-sizing: border-box;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
  border: 1px solid rgba(255, 255, 255, 0.05);
  display: flex;
  flex-direction: column;
}

/* Smooth lift on hover */
.custom-project-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 30px rgba(56, 189, 248, 0.15);
  border-color: rgba(56, 189, 248, 0.3);
}

/* Isolated Image Container */
.custom-image-container {
  position: relative;
  width: 100%;
  height: 280px;
  overflow: hidden;
  background-color: #1a2f4c;
}

.custom-image-container img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.custom-project-card:hover .custom-image-container img {
  transform: scale(1.05);
}

/* Floating pill badge style */
.custom-project-badge {
  position: absolute;
  top: 16px;
  right: 16px;
  
  /* 1. Dark translucent background instead of a light blue tint */
  background-color: rgba(11, 19, 31, 0.45); 
  
  /* Keeps your signature tech-cyan text */
  color: var(--pc-accent); 
  
  /* 2. Added brightness(0.6) to dynamically darken light photos underneath */
  backdrop-filter: blur(6px) brightness(0.6);
  -webkit-backdrop-filter: blur(6px) brightness(0.6);
  
  padding: 6px 14px;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 1px;
  border-radius: 20px;
  
  /* 3. Slightly strengthened the border for cleaner definition */
  border: 1px solid rgba(56, 189, 248, 0.4);
  z-index: 2;
  
  /* Optional: Adds a subtle shadow to pop it off high-contrast edges */
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2); 
}

/* Inner Layout Content */
.custom-card-content {
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  flex-grow: 1;
}

.custom-card-title {
  color: var(--pc-text-main);
  font-size: 1.35rem;
  font-weight: 600;
  margin: 0;
  line-height: 1.4;
}

.custom-card-description {
  color: var(--pc-text-muted);
  font-size: 0.95rem;
  line-height: 1.6;
  margin: 0;
  margin-bottom: 24px; /* Gives nice breathing room above the button */
  /* You can completely remove the 'min-height' property now, 
     as flex-grow handles the alignment automatically! */
}

/* Enhanced CTA Link Button */
.custom-cta-button {
  margin-top: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background-color: transparent;
  color: var(--pc-accent);
  border: 2px solid var(--pc-accent);
  padding: 10px 20px;
  font-size: 0.95rem;
  font-weight: 600;
  border-radius: 6px;
  text-decoration: none;
  transition: all 0.2s ease;
  cursor: pointer;
}

.custom-cta-button:hover {
  background-color: var(--pc-accent);
  color: #0b131f;
  box-shadow: 0 4px 12px rgba(56, 189, 248, 0.3);
}

.custom-cta-button svg {
  width: 16px;
  height: 16px;
  fill: none;
  transition: transform 0.2s ease;
}

.custom-cta-button:hover svg {
  transform: translateX(4px);
}


/* 1. Force the carousel slides to act as flex boxes and match the tallest card */
.elementor-16 .elementor-element.elementor-element-8fb95c3 .swiper-slide {
    display: flex !important;
    height: auto !important; 
}

/* 2. Force Elementor's hidden internal widget containers to stretch full height */
.elementor-16 .elementor-element.elementor-element-8fb95c3 .swiper-slide .elementor-widget,
.elementor-16 .elementor-element.elementor-element-8fb95c3 .swiper-slide .elementor-widget-container {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
    height: 100% !important;
}

/* 3. Force your custom card to occupy 100% of that newly stretched height */
.elementor-16 .elementor-element.elementor-element-8fb95c3 .custom-project-card {
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    flex-grow: 1 !important;
}

/* 4. Ensure the card's inner text area expands to absorb blank space */
.elementor-16 .elementor-element.elementor-element-8fb95c3 .custom-card-content {
    flex-grow: 1 !important;
    display: flex !important;
    flex-direction: column !important;
}

/* 5. Lock the action buttons firmly to the baseline */
.elementor-16 .elementor-element.elementor-element-8fb95c3 .custom-cta-button {
    margin-top: auto !important; 
}/* End custom CSS */