.elementor-10045 .elementor-element.elementor-element-5121758{--display:flex;--min-height:267px;--justify-content:center;--overlay-opacity:0.53;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-10045 .elementor-element.elementor-element-5121758:not(.elementor-motion-effects-element-type-background), .elementor-10045 .elementor-element.elementor-element-5121758 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;background-image:url("http://stellartech.com.sg/wp-content/uploads/2025/08/hacker-working-using-computer-with-codes-2025-02-10-14-32-13-utc-scaled.jpg");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-10045 .elementor-element.elementor-element-5121758::before, .elementor-10045 .elementor-element.elementor-element-5121758 > .elementor-background-video-container::before, .elementor-10045 .elementor-element.elementor-element-5121758 > .e-con-inner > .elementor-background-video-container::before, .elementor-10045 .elementor-element.elementor-element-5121758 > .elementor-background-slideshow::before, .elementor-10045 .elementor-element.elementor-element-5121758 > .e-con-inner > .elementor-background-slideshow::before, .elementor-10045 .elementor-element.elementor-element-5121758 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#000000;--background-overlay:'';}.elementor-10045 .elementor-element.elementor-element-b856669{text-align:center;}.elementor-10045 .elementor-element.elementor-element-b856669 .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:85px;font-weight:800;color:#FFFFFF;}.elementor-10045 .elementor-element.elementor-element-52545bf{--display:flex;}.elementor-10045 .elementor-element.elementor-element-3f320711{--display:flex;}.elementor-10045 .elementor-element.elementor-element-420f9d07{--display:flex;}.elementor-10045 .elementor-element.elementor-element-3990eeb8{width:100%;max-width:100%;}.elementor-10045 .elementor-element.elementor-element-78ae5774{--display:flex;}body.elementor-page-10045:not(.elementor-motion-effects-element-type-background), body.elementor-page-10045 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}@media(max-width:1366px){.elementor-10045 .elementor-element.elementor-element-5121758{--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}}@media(max-width:1024px){.elementor-10045 .elementor-element.elementor-element-b856669 .elementor-heading-title{font-size:70px;}}@media(max-width:767px){.elementor-10045 .elementor-element.elementor-element-5121758{--min-height:275px;}.elementor-10045 .elementor-element.elementor-element-b856669{margin:50px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-10045 .elementor-element.elementor-element-b856669 .elementor-heading-title{font-size:50px;}}/* Start custom CSS for html, class: .elementor-element-30ce5fc *//* ---- Force 3 columns on larger screens ---- */
@media (min-width: 1100px){
  .stellar-services .container{
    max-width: 1200px;   /* keeps card widths comfy */
    margin: 0 auto;
  }
  .stellar-services .ss-grid{
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr)); /* exactly 3 cols */
    gap: 22px; /* keep your existing spacing */
  }
}

/* Optional: prevent >3 columns on ultra-wide screens if any other CSS fights this */
.stellar-services .ss-grid{
  grid-auto-flow: row; /* fill rows left-to-right */
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-4cbf84b2 *//* Benefits Section */
.benefits-section {
  padding: 80px 0;
  background: #fff;
}

.benefits-section .main-heading {
  font-size: 32px;
  font-weight: 800;
  color: #0C2A4E;
  margin-bottom: 10px;
}

.benefits-section .section-description {
  max-width: 700px;
  margin: 0 auto;
  color: #6c7a89;
  font-size: 15px;
  line-height: 1.7;
}

/* Benefit Cards */
.benefit-card {
  background: #f9fbfd;
  border-radius: 14px;
  padding: 24px;
  text-align: center;
  transition: all 0.3s ease-in-out;
  height: 100%;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.06);
}

.benefit-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 28px rgba(12, 42, 78, 0.15);
}

/* Benefit Icons */
.benefit-icon {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: #0C2A4E;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 26px;
  margin: 0 auto 16px;
}

/* Titles */
.benefit-card h4 {
  color: #0C2A4E;
  font-weight: 700;
  font-size: 18px;
  margin-bottom: 10px;
}

.benefit-card p {
  font-size: 14px;
  color: #444;
  line-height: 1.6;
}

/* Responsive */
@media (max-width: 768px) {
  .benefits-section .main-heading {
    font-size: 26px;
  }
  .benefit-icon {
    width: 50px;
    height: 50px;
    font-size: 22px;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-3990eeb8 *//* Section Styling */
.accreditations-section {
  padding: 70px 0;
  background: #f9fbfd;
  position: relative;
  z-index: 1;
}

/* Subtitle */
.subtitle {
  display: inline-block;
  font-size: 16px;
  font-weight: 600;
  color: #0C2A4E;
  position: relative;
  margin-bottom: 10px;
  padding-left: 35px;
  letter-spacing: 1px;
}

.subtitle:before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  width: 12px;
  height: 12px;
  transform: translateY(-50%);
  background: #0C2A4E;
  border-radius: 50%;
  animation: blink 1.5s infinite;
}

/* Heading */
.main-heading {
  font-size: 32px;
  font-weight: 800;
  color: #0C2A4E;
  margin-bottom: 10px;
}

/* Description */
.section-description {
  max-width: 600px;
  margin: 0 auto;
  color: #6c7a89;
  font-size: 15px;
  line-height: 1.6;
}

/* Badge Cards */
.badge-card {
  text-align: center;
  transition: all 0.3s ease-in-out;
}

/* Circular Logo Container */
.badge-logo {
  background: #fff;
  border-radius: 50%;
  width: 150px;
  height: 150px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.08);
  transition: all 0.3s ease-in-out;
}

/* Logo Styling */
.badge-logo img {
  max-width: 70%;
  max-height: 70%;
  object-fit: contain;
  filter: grayscale(30%);
  transition: all 0.3s ease-in-out;
}

/* Title Styling */
.badge-title {
  margin-top: 12px;
  font-size: 14px;
  color: #0C2A4E;
  font-weight: 600;
}

/* Hover Effects */
.badge-card:hover .badge-logo {
  transform: scale(1.08);
  box-shadow: 0 12px 24px rgba(12, 42, 78, 0.2);
}

.badge-card:hover img {
  filter: grayscale(0%);
}

/* Responsive */
@media (max-width: 768px) {
  .main-heading {
    font-size: 26px;
  }
  .section-description {
    font-size: 14px;
  }
  .badge-logo {
    width: 120px;
    height: 120px;
  }
  .badge-title {
    font-size: 13px;
  }
}



/* 5-per-row layout with real gaps (works alongside Bootstrap) */
.badges-row{
  --gap: 24px;
  --cols: 5;                /* desktop: 5 items per row */
  display:flex;
  flex-wrap:wrap;
  gap: var(--gap);
  justify-content:center;
}

/* Each item takes exactly 1/--cols of the row, minus the gaps */
.badges-row .custom-col{
  flex: 0 0 calc((100% - (var(--cols) - 1) * var(--gap)) / var(--cols));
  max-width: calc((100% - (var(--cols) - 1) * var(--gap)) / var(--cols));
}

/* Responsive: adjust columns */
@media (max-width: 1200px){
  .badges-row{ --cols: 4; }   /* optional: 4 per row on large laptops */
}
@media (max-width: 992px){
  .badges-row{ --cols: 2; }   /* tablets: 2 per row */
}
@media (max-width: 576px){
  .badges-row{ --cols: 1; }   /* phones: 1 per row */
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-70ecb0e1 *//* CTA Section */
.cta-section {
  padding: 80px 0;
  background: #0C2A4E;
  color: #fff;
  position: relative;
}

.cta-heading {
  font-size: 32px;
  font-weight: 800;
  margin-bottom: 15px;
}

.cta-subtext {
  font-size: 16px;
  color: rgba(255, 255, 255, 0.9);
  margin-bottom: 25px;
  line-height: 1.7;
}

.cta-btn {
  display: inline-block;
  background: #fff;
  color: #0C2A4E;
  font-weight: 600;
  padding: 14px 32px;
  border-radius: 50px;
  text-decoration: none;
  font-size: 16px;
  transition: all 0.3s ease;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2);
}
.cta-btn:hover {
  background: #f1f5f9;
  color: #0C2A4E;
  transform: translateY(-3px);
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.3);
}

@media (max-width: 768px) {
  .cta-heading { font-size: 26px; }
  .cta-subtext { font-size: 14px; }
  .cta-btn { font-size: 15px; padding: 12px 26px; }
}


.elementor-10045 .elementor-element.elementor-element-70ecb0e1 .cta-btn {
    color: navy;
}/* End custom CSS */