/* Calm animated background and richer cards */
body::before {
  filter: saturate(0.9) contrast(1.05);
}

.service-grid .service-card,
.widgets .widget {
  border-radius: 18px;
  border: 1px solid rgba(255, 255, 255, 0.06);
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.22);
}

.service-grid .service-card:hover {
  transform: translateY(-2px);
}

.service-grid .service-description {
  opacity: 0.82;
}

.layout-group {
  margin-bottom: 18px;
}

/* Nested subgroup visual language */
.services-group.subgroup {
  border-left: 2px solid rgba(148, 163, 184, 0.28);
  margin-left: 10px;
  padding-left: 10px;
}

.services-group.subgroup .service-group-name {
  font-size: 1rem;
  letter-spacing: 0.2px;
  opacity: 0.9;
}

/* Desktop right rail: fixed-width Operations column without inner scrolling */
@media (min-width: 1280px) {
  #layout-groups {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 25vw);
    gap: 0;
    align-items: start;
  }

  #layout-groups > .services-group:has(li.service[data-name="NVMe0 Temp"]) {
    grid-column: 2;
    grid-row: 1 / span 50;
    width: 100%;
    max-width: 100%;
    align-self: start;
    z-index: 5;
    margin-left: 12px;
  }

  #layout-groups > .services-group:not(:has(li.service[data-name="NVMe0 Temp"])) {
    grid-column: 1;
    width: 100%;
    max-width: 100%;
  }
}
