/* Service showcase — Option C: feature card + compact 4/3 grid. */
.cc-home-services {
  background:
    radial-gradient(circle at 12% 8%, rgba(64, 117, 63, .3), transparent 31%),
    radial-gradient(circle at 88% 82%, rgba(64, 117, 63, .16), transparent 34%),
    #21441c !important;
}

.cc-home-services::before {
  opacity: .22 !important;
}

.cc-home-services .cc-section-kicker,
.cc-home-services .cc-service-showcase-eyebrow {
  color: #e5b54f !important;
}

.cc-home-services .cc-section-title span {
  color: #e5b54f !important;
}

.cc-service-showcase-grid {
  display: grid !important;
  grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
  gap: 18px !important;
  align-items: stretch;
}

.cc-service-showcase-card,
.cc-service-showcase-card:nth-child(6) {
  grid-column: span 3 !important;
  display: flex !important;
  flex-direction: column !important;
  min-height: 0 !important;
  overflow: hidden;
  border: 1px solid rgba(229, 181, 79, .22) !important;
  border-radius: 4px 24px 24px 24px !important;
  background: rgba(64, 117, 63, .18) !important;
  box-shadow: 0 18px 44px rgba(8, 28, 17, .14) !important;
  transition: border-color .25s ease, background-color .25s ease, transform .25s ease !important;
}

.cc-service-showcase-card:hover {
  border-color: rgba(229, 181, 79, .72) !important;
  background: rgba(64, 117, 63, .28) !important;
  transform: translateY(-4px) !important;
}

.cc-service-showcase-card:nth-child(1) {
  grid-column: 1 / -1 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1.32fr) minmax(320px, .68fr) !important;
  min-height: 420px !important;
}

.cc-service-showcase-card:nth-child(n+6) {
  grid-column: span 4 !important;
}

.cc-service-showcase-media,
.cc-service-showcase-card:nth-child(6) .cc-service-showcase-media {
  height: 205px !important;
  min-height: 205px !important;
}

.cc-service-showcase-card:nth-child(1) .cc-service-showcase-media {
  height: 100% !important;
  min-height: 420px !important;
}

.cc-service-showcase-content {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  padding: 24px 24px 26px !important;
}

.cc-service-showcase-card:nth-child(1) .cc-service-showcase-content {
  justify-content: center;
  padding: 42px !important;
}

.cc-service-showcase-content > a {
  margin-top: auto;
  color: #e5b54f !important;
}

.cc-service-showcase-content > a:hover,
.cc-service-showcase-content > a:focus-visible {
  color: #fffaf0 !important;
}

.cc-service-showcase-card:focus-within {
  outline: 3px solid #e5b54f;
  outline-offset: 3px;
}

@media (max-width: 1180px) {
  .cc-service-showcase-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .cc-service-showcase-card,
  .cc-service-showcase-card:nth-child(6),
  .cc-service-showcase-card:nth-child(n+6) {
    grid-column: auto !important;
  }

  .cc-service-showcase-card:nth-child(1) {
    grid-column: 1 / -1 !important;
    grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr) !important;
  }

  .cc-service-showcase-card:nth-child(8) {
    grid-column: 1 / -1 !important;
  }
}

@media (max-width: 720px) {
  .cc-service-showcase-grid {
    grid-template-columns: 1fr !important;
  }

  .cc-service-showcase-card,
  .cc-service-showcase-card:nth-child(1),
  .cc-service-showcase-card:nth-child(6),
  .cc-service-showcase-card:nth-child(8) {
    grid-column: 1 / -1 !important;
    display: flex !important;
    min-height: 0 !important;
  }

  .cc-service-showcase-media,
  .cc-service-showcase-card:nth-child(1) .cc-service-showcase-media,
  .cc-service-showcase-card:nth-child(6) .cc-service-showcase-media {
    height: 245px !important;
    min-height: 245px !important;
  }

  .cc-service-showcase-card:nth-child(1) .cc-service-showcase-content {
    padding: 28px 24px 30px !important;
  }
}
