/*
 * Service singles & archive — premium UI layer
 */

.rj-service-single.rj-page-main .rj-service-hero__title,
.rj-service-single.rj-page-main .rj-section-head h2 {
  font-family: "Space Grotesk", var(--rj-f-body);
  font-weight: 600;
  letter-spacing: -0.035em;
}

.rj-service-archive.rj-page-main .rj-svc-hero__title,
.rj-service-single.rj-page-main .rj-service-hero__title {
  font-family: "Space Grotesk", var(--rj-f-body);
  font-weight: 600;
  letter-spacing: -0.035em;
}

.rj-service-hero--premium,
.rj-svc-hero--premium {
  position: relative;
  overflow: hidden;
}

.rj-svc-hero--premium .rj-page-hero__ambient .glow-orb-1 {
  width: 420px;
  height: 420px;
  top: -7rem;
  left: -6rem;
}

.rj-svc-hero--premium .rj-page-hero__ambient .glow-orb-2 {
  width: 500px;
  height: 500px;
  top: -5rem;
  right: -10%;
}

.rj-svc-hero--premium .rj-container {
  position: relative;
  z-index: 1;
}

.rj-page-main .rj-svc-cat:hover {
  border-color: rgba(184, 255, 59, 0.3);
  transform: translateY(-2px);
}

.rj-service-hero--premium .rj-page-hero__ambient .glow-orb-1 {
  width: 400px;
  height: 400px;
  top: -6rem;
  left: -5rem;
}

.rj-service-hero--premium .rj-page-hero__ambient .glow-orb-2 {
  width: 480px;
  height: 480px;
  top: -4rem;
  right: -8%;
}

.rj-service-hero--premium .rj-container {
  position: relative;
  z-index: 1;
}

.rj-page-main .rj-svc-package-card,
.rj-page-main .rj-svc-problem-card,
.rj-page-main .rj-svc-deliverable-card,
.rj-page-main .rj-svc-step-card,
.rj-page-main .rj-svc-tool-chip {
  transition: border-color 0.25s ease, transform 0.25s ease;
}

.rj-page-main .rj-svc-package-card:hover,
.rj-page-main .rj-svc-problem-card:hover,
.rj-page-main .rj-svc-process-step:hover .rj-svc-process-step__card {
	border-color: rgba(184, 255, 59, 0.28);
	transform: translateY(-2px);
}

.rj-page-main .rj-svc-package-card--featured {
  box-shadow:
    0 0 0 1px rgba(184, 255, 59, 0.2),
    0 20px 50px rgba(0, 0, 0, 0.35);
}

/* City linking matrix on service singles */
.rj-svc-city-links__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 12px;
  margin-top: 24px;
}

.rj-svc-city-links__card {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 14px 16px;
  border-radius: 12px;
  text-decoration: none;
  color: inherit;
  position: relative;
}

.rj-svc-city-links__card svg {
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  opacity: 0.5;
}

.rj-svc-city-links__name {
  font-weight: 600;
  font-size: 0.95rem;
  padding-right: 20px;
}

.rj-svc-city-links__state {
  font-size: 0.8rem;
  color: var(--rj-text-3, #6b7280);
}

.rj-svc-city-links__more {
  margin-top: 20px;
  text-align: center;
}