/* =========================================================
  RT SERVICES PAGE — Luxury / Wow
========================================================= */

/* Services Hero */
.rt-services-hero {
  position: relative !important;
  min-height: calc(100vh - 90px) !important;
  display: flex !important;
  align-items: center !important;
  padding: 120px 20px !important;
  overflow: hidden !important;
  background: #080a0f !important;
}

.rt-services-hero__bg {
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  background-image:
    linear-gradient(
      115deg,
      rgba(5, 7, 10, 0.9) 0%,
      rgba(5, 7, 10, 0.72) 48%,
      rgba(5, 7, 10, 0.48) 100%
    ),
    url("/wp-content/uploads/services-hero-bg.webp") !important;
  background-size: cover !important;
  background-position: center !important;
  transform: scale(1.03) !important;
}

.rt-services-hero::after {
  content: "" !important;
  position: absolute !important;
  left: 8% !important;
  bottom: 12% !important;
  width: 420px !important;
  height: 420px !important;
  z-index: 1 !important;
  pointer-events: none !important;
  background: radial-gradient(
    circle,
    rgba(212, 175, 55, 0.24),
    transparent 68%
  ) !important;
  filter: blur(10px) !important;
}

.rt-services-hero__container {
  position: relative !important;
  z-index: 3 !important;
}

.rt-services-hero__content {
  max-width: 760px !important;
}

.rt-services-hero__title {
  margin: 0 0 22px !important;
  color: #ffffff !important;
  font-size: clamp(42px, 5.4vw, 76px) !important;
  font-weight: 850 !important;
  line-height: 1.04 !important;
  letter-spacing: -0.055em !important;
}

.rt-services-hero__text {
  max-width: 660px !important;
  margin: 0 0 34px !important;
  color: rgba(255, 255, 255, 0.78) !important;
  font-size: clamp(16px, 1.35vw, 19px) !important;
  line-height: 1.75 !important;
}

.rt-services-hero__actions {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  flex-wrap: nowrap !important;
}

/* Intro */
.rt-services-intro {
  position: relative !important;
  padding: 105px 20px !important;
  overflow: hidden !important;
  background:
    radial-gradient(
      circle at 12% 20%,
      rgba(212, 175, 55, 0.14),
      transparent 32%
    ),
    linear-gradient(135deg, #f8f3e8 0%, #ffffff 48%, #eee2cc 100%) !important;
}

.rt-services-intro::before {
  content: "" !important;
  position: absolute !important;
  inset: 24px !important;
  border: 1px solid rgba(201, 166, 70, 0.16) !important;
  border-radius: 38px !important;
  pointer-events: none !important;
}

.rt-services-intro__container {
  position: relative !important;
  z-index: 2 !important;
  max-width: 920px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}

.rt-services-intro__title {
  margin: 0 0 22px !important;
  color: #111318 !important;
  font-size: clamp(34px, 4.4vw, 62px) !important;
  font-weight: 850 !important;
  line-height: 1.06 !important;
  letter-spacing: -0.055em !important;
}

.rt-services-intro__text {
  max-width: 760px !important;
  margin: 0 auto !important;
  color: rgba(17, 19, 24, 0.68) !important;
  font-size: 17px !important;
  line-height: 1.75 !important;
}

/* Service Rows */
.rt-service-row {
  position: relative !important;
  padding: 120px 20px !important;
  overflow: hidden !important;
}

.rt-service-row--light {
  background:
    radial-gradient(
      circle at 12% 20%,
      rgba(212, 175, 55, 0.12),
      transparent 32%
    ),
    linear-gradient(135deg, #ffffff 0%, #f4efe5 48%, #ebe1cd 100%) !important;
}

.rt-service-row--dark {
  background:
    radial-gradient(
      circle at 14% 20%,
      rgba(212, 175, 55, 0.18),
      transparent 32%
    ),
    radial-gradient(
      circle at 86% 72%,
      rgba(255, 232, 163, 0.08),
      transparent 34%
    ),
    linear-gradient(135deg, #101217 0%, #151820 46%, #0c0e13 100%) !important;
}

.rt-service-row__container {
  display: grid !important;
  grid-template-columns: 0.95fr 1.05fr !important;
  gap: 70px !important;
  align-items: center !important;
}

.rt-service-row--reverse .rt-service-row__content {
  order: 2 !important;
}

.rt-service-row--reverse .rt-service-row__image {
  order: 1 !important;
}

.rt-service-row__title {
  margin: 0 0 22px !important;
  font-size: clamp(34px, 4.2vw, 60px) !important;
  font-weight: 850 !important;
  line-height: 1.06 !important;
  letter-spacing: -0.055em !important;
}

.rt-service-row--light .rt-service-row__title {
  color: #111318 !important;
}

.rt-service-row--dark .rt-service-row__title {
  color: #ffffff !important;
}

.rt-service-row__text {
  max-width: 620px !important;
  margin: 0 0 28px !important;
  font-size: 17px !important;
  line-height: 1.75 !important;
}

.rt-service-row--light .rt-service-row__text {
  color: rgba(17, 19, 24, 0.68) !important;
}

.rt-service-row--dark .rt-service-row__text {
  color: rgba(255, 255, 255, 0.74) !important;
}

.rt-service-row__list {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
  padding: 0 !important;
  margin: 0 0 34px !important;
  list-style: none !important;
}

.rt-service-row__list li {
  position: relative !important;
  padding: 14px 16px 14px 42px !important;
  border-radius: 18px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
}

.rt-service-row__list li::before {
  content: "" !important;
  position: absolute !important;
  left: 16px !important;
  top: 50% !important;
  width: 10px !important;
  height: 10px !important;
  border-radius: 50% !important;
  transform: translateY(-50%) !important;
  background: linear-gradient(135deg, #fff1bc, #d4af37) !important;
  box-shadow: 0 0 0 5px rgba(212, 175, 55, 0.12) !important;
}

.rt-service-row--light .rt-service-row__list li {
  color: #111318 !important;
  background: rgba(255, 255, 255, 0.74) !important;
  border: 1px solid rgba(201, 166, 70, 0.18) !important;
  box-shadow: 0 14px 34px rgba(18, 19, 24, 0.06) !important;
}

.rt-service-row--dark .rt-service-row__list li {
  color: rgba(255, 255, 255, 0.88) !important;
  background: rgba(255, 255, 255, 0.075) !important;
  border: 1px solid rgba(255, 232, 163, 0.14) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.08),
    0 18px 44px rgba(0, 0, 0, 0.18) !important;
}

.rt-service-row__image {
  position: relative !important;
  height: 560px !important;
  overflow: hidden !important;
  border-radius: 34px !important;
  border: 5px solid rgb(244 242 240 / 10%) !important;
  box-shadow: 0 34px 60px rgba(18, 19, 24, 0.16) !important;
  background: #f6f6f629 !important;
}

.rt-service-row__image::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  pointer-events: none !important;
  background:
    linear-gradient(
      to bottom,
      rgba(255, 255, 255, 0.16),
      transparent 40%,
      rgba(0, 0, 0, 0.16)
    ),
    radial-gradient(
      circle at 26% 18%,
      rgba(212, 175, 55, 0.22),
      transparent 44%
    ) !important;
}

.rt-service-row__image img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform 0.9s ease !important;
}

.rt-service-row__image:hover img {
  transform: scale(1.15) !important;
}

/* Final CTA */
.rt-services-final-cta {
  position: relative !important;
  padding: 135px 20px !important;
  overflow: hidden !important;
  background:
    linear-gradient(115deg, rgba(8, 10, 14, 0.9), rgba(8, 10, 14, 0.66)),
    url("/wp-content/uploads/serv-cta-bg.webp") center/cover no-repeat !important;
}

.rt-services-final-cta::after {
  content: "" !important;
  position: absolute !important;
  bottom: 10% !important;
  left: 8% !important;
  width: 430px !important;
  height: 430px !important;
  background: radial-gradient(
    circle,
    rgba(212, 175, 55, 0.24),
    transparent 66%
  ) !important;
  filter: blur(10px) !important;
  pointer-events: none !important;
}

.rt-services-final-cta__container {
  position: relative !important;
  z-index: 2 !important;
  max-width: 820px !important;
}

.rt-services-final-cta__title {
  margin: 0 0 20px !important;
  color: #ffffff !important;
  font-size: clamp(38px, 5vw, 70px) !important;
  font-weight: 850 !important;
  line-height: 1.05 !important;
  letter-spacing: -0.055em !important;
}

.rt-services-final-cta__text {
  max-width: 640px !important;
  margin: 0 0 34px !important;
  color: rgba(255, 255, 255, 0.78) !important;
  font-size: 18px !important;
  line-height: 1.7 !important;
}

.rt-footer__brand .rt-btn-primary {
  color: #17120a !important;
}

.rt-footer__brand .rt-btn-primary:hover {
  color: #423725 !important;
}

/* Tablet */
@media (max-width: 1024px) {
  .rt-service-row__container {
    grid-template-columns: 1fr !important;
    gap: 44px !important;
  }

  .rt-service-row--reverse .rt-service-row__content,
  .rt-service-row--reverse .rt-service-row__image {
    order: initial !important;
  }

  .rt-service-row__image {
    height: 500px !important;
  }
}

/* Mobile */
@media (max-width: 768px) {
  .rt-services-hero,
  .rt-services-intro,
  .rt-service-row,
  .rt-services-final-cta {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .rt-services-hero {
    padding-top: 96px !important;
    padding-bottom: 96px !important;
  }

  .rt-services-intro,
  .rt-service-row {
    padding-top: 86px !important;
    padding-bottom: 86px !important;
  }

  .rt-services-final-cta {
    padding-top: 100px !important;
    padding-bottom: 100px !important;
  }

  .rt-services-hero__actions {
    gap: 10px !important;
  }

  .rt-services-intro::before {
    inset: 12px !important;
    border-radius: 26px !important;
  }

  .rt-service-row__list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  .rt-service-row__list li {
    padding: 13px 12px 13px 34px !important;
    font-size: 12px !important;
    border-radius: 16px !important;
  }

  .rt-service-row__list li::before {
    left: 13px !important;
    width: 8px !important;
    height: 8px !important;
  }

  .rt-service-row__image {
    height: 390px !important;
    border-radius: 26px !important;
  }
}

@media (max-width: 390px) {
  .rt-service-row__list li {
    font-size: 11px !important;
  }
}
