/* ========== ENHANCED SERVICES CARD DESIGN - HOME PAGE ONLY ========== */
.page-home .service-cards-home {
  padding: 8px;
}

.page-home .single-service-card {
  border-radius: 20px !important;
  overflow: hidden !important;
  position: relative !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  cursor: pointer !important;
}

/* Fix click smoothness by ensuring proper pointer events */
.page-home .single-service-card a {
  pointer-events: auto !important;
  position: relative;
  z-index: 100;
}

.page-home .single-service-card::after {
  pointer-events: none !important;
}

.page-home .single-service-card video {
  border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
}

.page-home .excellence-card-text-wrapper {
  padding: 32px 28px 36px !important;
  position: relative;
  z-index: 5;
}

.page-home .div-block-253 {
  margin-bottom: 12px !important;
}

.page-home .excellence-card-heading {
  font-size: 1.85rem !important;
  margin-bottom: 8px !important;
  letter-spacing: -0.03em !important;
  color: #ff8a4c !important;
  background: none !important;
  -webkit-background-clip: unset !important;
  background-clip: unset !important;
  text-shadow: 0 1px 10px rgba(255, 99, 28, 0.14) !important;
}

.page-home .heading-24 {
  font-size: 1.05rem !important;
  line-height: 1.6 !important;
  color: rgba(255, 255, 255, 0.8) !important;
  font-weight: 400 !important;
}

/* Simple button style with orange hover - HOME PAGE ONLY (like about us section) */
.page-home .single-service-card .button {
  background: rgba(255, 255, 255, 0.1) !important;
  border: 2px solid rgba(255, 255, 255, 0.4) !important;
  border-radius: 50px !important;
  padding: 10px 20px !important;
  color: #ffffff !important;
  font-weight: 500 !important;
  transition: all 0.3s ease !important;
}

.page-home .single-service-card .button:hover {
  background: #ff631c !important;
  border-color: #ff631c !important;
  color: #ffffff !important;
}

.page-home .single-service-card .button-text,
.page-home .single-service-card .button .button-text,
.page-home .single-service-card a .button-text,
.page-home .service-cards-home .button-text,
.page-home .button-text-wrap .button-text {
  color: #ffffff !important;
}

/* Force white text with even higher specificity */
.page-home .service-cards-home .single-service-card .button-text-wrap .button-text {
  color: #ffffff !important;
}

/* Target specific variant class that's making text black */
.page-home .single-service-card .button-text.w-variant-b2c15ccf-f3ee-7171-f43f-d5285af181db {
  color: #ffffff !important;
}

/* Universal white text for all service card buttons on home page */
.page-home .service-cards-home a .button-text-wrap .button-text,
.page-home .service-cards-home a .button-inner .button-text-wrap .button-text {
  color: #ffffff !important;
}

/* Target button-link class that sets text to black */
.page-home .service-cards-home .button.button-link,
.page-home .service-cards-home .button.button-link .button-text {
  color: #ffffff !important;
}

/* Target button-2.button-link class that sets text to black */
.page-home .service-cards-home .button-2.button-link,
.page-home .service-cards-home .button-2.button-link .button-text {
  color: #ffffff !important;
}

/* Target data-wf-button variant attribute */
.page-home .service-cards-home [data-wf--button--variant="button-link"],
.page-home .service-cards-home [data-wf--button--variant="button-link"] .button-text {
  color: #ffffff !important;
}

.page-home .single-service-card .button-inner {
  background: transparent !important;
  padding: 0 !important;
  box-shadow: none !important;
}

/* ========== 1x4 HORIZONTAL LAYOUT — DESKTOP (≥992px) ========== */
@media screen and (min-width: 992px) {
  .page-home .service-cards-home {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    grid-template-rows: 1fr !important;
    gap: 20px !important;
    padding: 0 !important;
    align-items: stretch !important;
  }

  /* Cards: equal-height flex columns with subtle glassmorphism border */
  .page-home .single-service-card {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    min-height: 480px !important; /* Increased base height to fit button */
    min-width: 0 !important;
    border-radius: 20px !important;
    border: 1px solid rgba(255, 255, 255, 0.07) !important;
    background: linear-gradient(
      168deg,
      rgba(30, 30, 32, 1) 0%,
      rgba(22, 22, 24, 1) 100%
    ) !important;
    transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1),
                box-shadow 0.45s cubic-bezier(0.22, 1, 0.36, 1),
                border-color 0.45s ease !important;
    will-change: transform !important;
  }

  /* Clean hover lift with subtle brand glow */
  .page-home .single-service-card:hover {
    transform: translateY(-6px) !important;
    border-color: rgba(255, 100, 28, 0.25) !important;
    border-width: 1.5px !important;
    box-shadow:
      0 12px 28px rgba(255, 100, 28, 0.12),
      0 4px 10px rgba(0, 0, 0, 0.15) !important;
  }

  /* Video / image area fills width, constrain height for uniformity */
  .page-home .single-service-card video,
  .page-home .single-service-card > img {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 16 / 10 !important;
    object-fit: cover !important;
    display: block !important;
    border-radius: 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
    transition: filter 0.35s ease, transform 0.35s ease !important;
  }

  /* Slight video brightness enhancement on hover */
  .page-home .single-service-card:hover video,
  .page-home .single-service-card:hover > img {
    filter: brightness(1.08) contrast(1.05) !important;
  }

  /* Text wrapper fills remaining vertical space */
  .page-home .excellence-card-text-wrapper {
    display: flex !important;
    flex-direction: column !important;
    height: 50% !important;
    justify-content: space-between !important;
    padding: 24px 20px 24px !important;
    gap: 0 !important;
  }

  .page-home .div-block-253 {
    margin-bottom: 20px !important;
    flex-grow: 1 !important;
  }

  /* Title: readable at small widths */
  .page-home .excellence-card-heading {
    font-size: clamp(1.1rem, 1.4vw, 1.45rem) !important;
    line-height: 1.3 !important;
    margin-bottom: 10px !important;
    letter-spacing: -0.02em !important;
    font-weight: 700 !important;
    color: #ff8a4c !important;
    text-align: center !important;
  }

  /* Description: subtle, balanced */
  .page-home .heading-24 {
    font-size: clamp(0.82rem, 0.95vw, 0.95rem) !important;
    line-height: 1.55 !important;
    color: rgba(255, 255, 255, 0.65) !important;
    font-weight: 400 !important;
  }

  /* CTA button: compact pill */
  .page-home .single-service-card .button {
    padding: 8px 18px !important;
    font-size: 0.85rem !important;
    border-radius: 50px !important;
    background: rgba(255, 255, 255, 0.06) !important;
    border: 1.5px solid rgba(255, 255, 255, 0.2) !important;
    backdrop-filter: blur(6px) !important;
    -webkit-backdrop-filter: blur(6px) !important;
    transition: all 0.3s cubic-bezier(0.22, 1, 0.36, 1) !important;
  }

  .page-home .single-service-card .button:hover {
    background: linear-gradient(135deg, #ff631c 0%, #ff8a4c 100%) !important;
    border-color: transparent !important;
    box-shadow: none !important;
    transform: translateY(-1px) !important;
  }

  /* Subtle orange accent line at the top of each card on hover */
  .page-home .single-service-card::before {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    left: 50% !important;
    width: 0 !important;
    height: 2px !important;
    background: linear-gradient(90deg, transparent, #ff631c, #ff8a4c, transparent) !important;
    transform: translateX(-50%) !important;
    transition: width 0.5s cubic-bezier(0.22, 1, 0.36, 1) !important;
    z-index: 10 !important;
    border-radius: 0 0 2px 2px !important;
  }

  .page-home .single-service-card:hover::before {
    width: 80% !important;
  }
}

/* ========== TABLET (768px – 991px) ========== */
@media screen and (min-width: 768px) and (max-width: 991px) {
  .page-home .service-cards-home {
    padding: 4px !important;
  }

  .page-home .single-service-card {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
  }

  .page-home .excellence-card-text-wrapper {
    padding: 24px 20px 28px !important;
    display: flex !important;
    flex-direction: column !important;
    flex-grow: 1 !important;
    justify-content: space-between !important;
  }

  .page-home .excellence-card-heading {
    font-size: 1.65rem !important;
  }

  .page-home .heading-24 {
    font-size: 1rem !important;
  }
}

/* ========== MOBILE (≤767px) ========== */
@media screen and (max-width: 767px) {
  .page-home .service-cards-home {
    padding: 0;
  }

  .page-home .single-service-card {
    border-radius: 16px !important;
  }

  .page-home .excellence-card-text-wrapper {
    padding: 24px 20px 28px !important;
  }

  .page-home .excellence-card-heading {
    font-size: 1.5rem !important;
    margin-bottom: 12px !important;
  }

  .page-home .heading-24 {
    font-size: 0.95rem !important;
    line-height: 1.5 !important;
  }
}

/* ========== SERVICE CARDS SYSTEM ALIGNMENT & THEME OVERRIDES ========== */
/* Ensure page is dark matte black background as requested */
.page-home #service-section {
  background-color: #0B0B0D !important;
}

/* Card layout & background */
.page-home .single-service-card {
  background: #111216 !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  min-height: 480px !important; /* Increased base height to fit button */
  border-radius: 20px !important;
  overflow: hidden !important;
  transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1),
              box-shadow 0.45s cubic-bezier(0.22, 1, 0.36, 1),
              border-color 0.45s ease !important;
}

/* Clean card hover with subtle elevation */
.page-home .single-service-card:hover {
  transform: translateY(-4px) !important;
  border-color: rgba(255, 255, 255, 0.15) !important;
  border-width: 1px !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5) !important;
}

/* Illustration / video area: Adjusted to 50% height and 100% width to prevent cropping */
.page-home .single-service-card video,
.page-home .single-service-card > img {
  width: 100% !important; /* Full width */
  height: 50% !important; /* Exactly 50% height */
  aspect-ratio: auto !important;
  object-fit: contain !important; /* Contain to prevent cropping */
  object-position: center center !important;
  transform: scale(1.15) !important; /* Scale up slightly to maximize size without aggressive cropping */
  display: block !important;
  border: none !important; /* Removed border */
  box-shadow: none !important; /* Removed shadow */
  margin: 0 !important; /* Reset margin */
  padding: 0 !important; /* Removed padding to maximize size */
  background-color: transparent !important; /* Transparent background */
  box-sizing: border-box !important;
}

/* Flex layout inside the text area - center aligned consistently */
.page-home .excellence-card-text-wrapper {
  display: flex !important;
  flex-direction: column !important;
  height: 50% !important; /* Bottom 50% */
  justify-content: space-between !important;
  align-items: center !important;
  text-align: center !important;
  padding: 6px 18px 16px !important; /* Reduced padding further to ensure no button cutoff */
}

.page-home .div-block-253 {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  margin-bottom: 12px !important; /* Reduced to give more space to button */
  width: 100% !important;
}

/* New Service Tag element */
.page-home .service-card-tag {
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: 1.8px !important;
  color: rgba(255, 136, 60, 0.7) !important;
  text-transform: uppercase !important;
  margin-bottom: 8px !important;
  text-align: center !important;
}

/* Headings: centered, 600-650 weight, orange color, consistent height */
.page-home .excellence-card-heading {
  font-size: clamp(1.2rem, 1.4vw, 1.45rem) !important;
  font-weight: 620 !important; /* 600–650 */
  line-height: 1.35 !important;
  color: #FF883C !important;
  text-align: center !important;
  margin-bottom: 6px !important; /* Reduced */
  min-height: 3.2rem !important; /* Lock height so layout is stable */
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Descriptions: 400-450 weight, medium gray, 1-2 lines height */
.page-home .heading-24 {
  font-size: clamp(0.75rem, 0.85vw, 0.85rem) !important; /* Smaller font to fit more in less lines */
  font-weight: 420 !important; /* 400–450 */
  color: #C4C8D0 !important;
  line-height: 1.4 !important;
  min-height: 2.8rem !important; /* Further reduced fixed height to ensure 1-2 lines only */
  margin: 0 0 12px 0 !important; /* Adjusted margin */
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important; /* Force to 2 lines maximum to save vertical space */
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  text-align: center !important;
}

/* Unified CTA buttons: rounded pill shape, transparent dark background, orange border */
.page-home .single-service-card .button {
  background: rgba(0, 0, 0, 0.25) !important;
  border: 1.5px solid #FF883C !important;
  border-radius: 50px !important;
  padding: 6px 16px !important; /* Noticeably smaller padding */
  font-size: 0.8rem !important; /* Noticeably smaller text */
  color: #FFFFFF !important;
  font-weight: 550 !important; /* 500-600 */
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  transition: all 0.3s cubic-bezier(0.22, 1, 0.36, 1) !important;
  margin-top: auto !important; /* Pin CTA to bottom */
}

/* Hover: filled orange with white text */
.page-home .single-service-card .button:hover {
  background: #FF883C !important;
  border-color: #FF883C !important;
  color: #FFFFFF !important;
  box-shadow: none !important;
}

.page-home .single-service-card .button:hover .button-text,
.page-home .single-service-card .button:hover .button-inner,
.page-home .single-service-card .button:hover .button-text-wrap {
  color: #FFFFFF !important;
}

/* Stacking on mobile: 1 column */
@media screen and (max-width: 767px) {
  .page-home .service-cards-home {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
  }
}

