.services-column {
  position: relative;
  padding: var(--space-section) var(--space-md);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  color: inherit;
  z-index: 0;
  overflow: hidden;
}

.services-column[style*="background-image"]::before {
  content: '';
  position: absolute;
  inset: 0;
  background: color-mix(in srgb, var(--overlay-color) calc(var(--overlay-opacity, 0.9) * 100%), transparent);
  z-index: 0;
}

.services-column .container {
  position: relative;
  z-index: 1;
}
.services-column.bg-nv-blue        { background-color: var(--nv-blue);        color: var(--nv-white); }
.services-column.bg-nv-blue-light  { background-color: var(--nv-blue-light);  color: var(--nv-white); }
.services-column.bg-nv-blue-lighter{ background-color: var(--nv-blue-lighter);color: var(--nv-white); }
.services-column.bg-nv-orange        { background-color: var(--nv-orange);        color: var(--nv-white); }
.services-column.bg-nv-orange-light  { background-color: var(--nv-orange-light);  color: var(--nv-black); }
.services-column.bg-nv-orange-lighter{ background-color: var(--nv-orange-lighter);color: var(--nv-black); }
.services-column.bg-nv-green        { background-color: var(--nv-green);        color: var(--nv-white); }
.services-column.bg-nv-green-light  { background-color: var(--nv-green-light);  color: var(--nv-black); }
.services-column.bg-nv-green-lighter{ background-color: var(--nv-green-lighter);color: var(--nv-black); }
.services-column.bg-nv-red        { background-color: var(--nv-red);        color: var(--nv-white); }
.services-column.bg-nv-red-light  { background-color: var(--nv-red-light);  color: var(--nv-black); }
.services-column.bg-nv-red-lighter{ background-color: var(--nv-red-lighter);color: var(--nv-black); }
.services-column.bg-nv-white { background-color: var(--nv-white); color: var(--nv-black); }
.services-column.bg-nv-black { background-color: var(--nv-black); color: var(--nv-white); }
.text-nv-blue,          .text-nv-blue *          { color: var(--nv-blue) !important; }
.text-nv-blue-light,    .text-nv-blue-light *    { color: var(--nv-blue-light) !important; }
.text-nv-blue-lighter,  .text-nv-blue-lighter *  { color: var(--nv-blue-lighter) !important; }
.text-nv-orange,        .text-nv-orange *        { color: var(--nv-orange) !important; }
.text-nv-orange-light,  .text-nv-orange-light *  { color: var(--nv-orange-light) !important; }
.text-nv-orange-lighter,.text-nv-orange-lighter *{ color: var(--nv-orange-lighter) !important; }
.text-nv-green,         .text-nv-green *         { color: var(--nv-green) !important; }
.text-nv-green-light,   .text-nv-green-light *   { color: var(--nv-green-light) !important; }
.text-nv-green-lighter, .text-nv-green-lighter * { color: var(--nv-green-lighter) !important; }
.text-nv-red,           .text-nv-red *           { color: var(--nv-red) !important; }
.text-nv-red-light,     .text-nv-red-light *     { color: var(--nv-red-light) !important; }
.text-nv-red-lighter,   .text-nv-red-lighter *   { color: var(--nv-red-lighter) !important; }
.text-nv-white,         .text-nv-white *         { color: var(--nv-white) !important; }
.text-nv-black,         .text-nv-black *         { color: var(--nv-black) !important; }
.services-column-heading {
  text-align: center;
  margin-bottom: var(--space-lg);
  color: inherit;
}
.services-column-items {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: var(--space-md);
  margin: 0 auto;
  position: relative;
}

.services-column-item {
  position: relative;
  padding: var(--space-sm);
  text-align: left;
  color: inherit;
  box-sizing: border-box;
  word-wrap: break-word;
  overflow-wrap: break-word;
  hyphens: auto;
  padding-right: 30px;
}

.services-column-item h4 {
  margin-bottom: var(--space-xs);
  color: inherit;
  line-height: 1.3;
}

.services-column-item p {
  margin: 0;
  color: inherit;
  line-height: 1.4;
  word-wrap: break-word;
  overflow-wrap: break-word;
}
.services-column-item::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 10px;
  width: 1px;
  background-color: color-mix(in srgb, #F2F2F2 60%, transparent);
}

.services-column-item::before,
.services-column-item span.line-end {
  content: "";
  position: absolute;
  right: 4px;
  width: 12px;
  height: 12px;
  background-color: #F2F2F2;
  border-radius: 50%;
  border: 2px solid color-mix(in srgb, #F2F2F2 80%, transparent);
  box-shadow: 0 2px 4px rgba(0,0,0,0.15);
}

.services-column-item::before { top: 0; }
.services-column-item span.line-end { bottom: 0; }
.services-column-item:last-child::after,
.services-column-item:last-child::before,
.services-column-item:last-child span.line-end {
  display: none;
}
@media (max-width: 768px) {
  .services-column-items {
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  }
}

@media (max-width: 480px) {
  .services-column-items {
    grid-template-columns: 1fr; 
  }
  .services-column-item {
    padding-right: 20px;
  }
  .services-column-item::after { right: 5px; }
  .services-column-item::before,
  .services-column-item span.line-end { right: -2px; }
}
