/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Jul 04 2026 | 04:41:26 */
.services-section {
  padding: 5rem 2rem;
  background-color: var(--color-bg-tint);
  font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

.services-header {
  text-align: center;
  max-width: 600px;
  margin: 0 auto 4rem auto;
}

.services-main-title {
  font-size: 2.25rem;
  font-weight: 800;
  color: var(--color-green);
  margin-bottom: 0.75rem;
}

.services-tagline {
  font-size: 1.1rem;
  color: var(--color-gray-light);
  margin: 0;
}

.services-grid {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr;
  gap: 2.5rem;
}

/* Card Styling */
.service-card {
  background-color: var(--color-white);
  border-radius: 16px;
  border: 1px solid rgba(0, 0, 0, 0.05); /* Added crisp subtle border */
  padding: 2.5rem 1.5rem;
  text-align: center;
  box-shadow: 0 10px 10px rgba(0, 0, 0, 0.1); /* Slightly boosted opacity from 0.03 to 0.05 */
  transition: transform 0.3s cubic-bezier(0.165, 0.84, 0.44, 1), 
              box-shadow 0.3s cubic-bezier(0.165, 0.84, 0.44, 1),
              border-color 0.3s ease;
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* Optional: Enhances the hover effect by darkening the border when active */
.service-card:hover {
  border-color: rgba(46, 114, 47, 0.15); /* Tinted subtle green border on hover */
  transform: translateY(-5px);
  box-shadow: 0 12px 30px rgba(46, 114, 47, 0.08);
}

/* Modern Circle Image Layout - Forces strict dimensional limits */
.card-image-frame {
  width: 140px;
  height: 140px;
  flex-shrink: 0; /* Prevents the circle from squishing on different screens */
  border-radius: 50%;
  overflow: hidden;
  margin-bottom: 1.75rem;
  border: 4px solid var(--color-gold);
  box-shadow: 0 4px 12px rgba(46, 114, 47, 0.15);
  position: relative; /* Extra protection for absolute positioning inside if needed */
}

/* Forces the absolute source graphic to scale and slice correctly inside the circle frame */
.card-img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important; /* Forces the image to fill out all the space */
  object-position: center;
  display: block;
}
.card-title {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--color-gray-dark);
  margin-bottom: 0.75rem;
  text-transform: capitalize; /* Cleaned up forced uppercase strings */
}

.card-text {
  font-size: 0.95rem;
  line-height: 1.6;
  color: var(--color-gray-light);
  margin: 0;
}

/* Hover Interaction effects */
.service-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 12px 30px rgba(46, 114, 47, 0.08);
}

/* Responsive Breakpoints */
@media (min-width: 576px) {
  .services-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
  }
}

@media (min-width: 992px) {
  .services-section {
    padding: 7rem 4rem;
  }

  .services-main-title {
    font-size: 2.75rem;
  }

  .services-grid {
    grid-template-columns: repeat(4, 1fr); /* 4 horizontal columns on large desktop layouts */
    gap: 2rem;
  }
}