.services-section {
  padding: 115px 0 105px;
  overflow: hidden;
  background: radial-gradient(ellipse at 74% 43%, rgba(50, 54, 145, .31), transparent 37%), #06101f;
}

.services-heading {
  display: flex;
  justify-content: space-between;
  gap: 55px;
  align-items: end;
  margin-bottom: 52px;
}

.services-heading h2 { margin: 7px 0 0; font: 700 clamp(33px, 4vw, 59px)/1.03 Manrope, sans-serif; letter-spacing: -3px; }
.services-heading h2 span { color: #a98aff; }
.services-heading > p { max-width: 330px; margin: 0 0 7px; color: #bdc5d6; font-size: 14px; line-height: 1.65; }

.service-ideas { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid rgba(126, 143, 203, .24); }
.service-idea { position: relative; min-height: 390px; padding: 27px 30px 26px; border-right: 1px solid rgba(126, 143, 203, .24); background: linear-gradient(145deg, rgba(19, 32, 65, .55), rgba(7, 16, 34, .2)); transition: background .3s, transform .3s; }
.service-idea:first-child { border-left: 1px solid rgba(126, 143, 203, .24); }
.service-idea:hover { z-index: 1; background: linear-gradient(145deg, rgba(52, 42, 125, .55), rgba(12, 31, 69, .42)); transform: translateY(-7px); }
.idea-number { position: absolute; top: 26px; right: 27px; color: #8473da; font-size: 11px; }
.idea-icon { display: grid; width: 48px; height: 48px; place-items: center; margin-bottom: 28px; border: 1px solid #7064d6; border-radius: 14px; color: #a987ff; font-size: 24px; background: linear-gradient(135deg, rgba(141, 96, 255, .23), rgba(44, 117, 225, .14)); }
.idea-label { margin: 0 0 8px; color: #9d82f1; font-size: 10px; font-weight: 700; letter-spacing: 1.2px; }
.service-idea h3 { margin: 0 0 15px; font: 700 25px/1.05 Manrope, sans-serif; letter-spacing: -1.4px; }
.service-idea h3 span { color: #b5a1ff; }
.idea-copy { min-height: 63px; margin: 0; color: #b8c1d4; font-size: 12px; line-height: 1.65; }
.service-idea ul { display: grid; gap: 9px; padding: 0; margin: 22px 0 0; list-style: none; color: #e0e4ef; font-size: 11px; }
.service-idea li::before { margin-right: 8px; color: #9e73ff; content: "✓"; }

.service-thoughts { display: flex; flex-wrap: wrap; justify-content: center; gap: 11px; padding-top: 42px; }
.service-thoughts span { padding: 9px 14px; border: 1px solid rgba(144, 124, 230, .36); border-radius: 99px; color: #cfc8ef; font-size: 12px; background: rgba(67, 53, 137, .16); }

.reveal-on-scroll { opacity: 0; transform: translateY(28px); transition: opacity .65s ease, transform .65s ease; }
.reveal-on-scroll.is-visible { opacity: 1; transform: none; }
.service-idea:nth-child(2) { transition-delay: .12s; }
.service-idea:nth-child(3) { transition-delay: .24s; }
.service-thoughts { transition-delay: .36s; }

@media (max-width: 780px) {
  .services-section { padding: 75px 0; }
  .services-heading { display: block; margin-bottom: 35px; }
  .services-heading > p { margin-top: 18px; }
  .service-ideas { grid-template-columns: 1fr; }
  .service-idea, .service-idea:first-child { min-height: auto; border-bottom: 1px solid rgba(126, 143, 203, .24); border-left: 1px solid rgba(126, 143, 203, .24); }
  .idea-copy { min-height: auto; }
}

@media (prefers-reduced-motion: reduce) {
  .reveal-on-scroll { opacity: 1; transform: none; transition: none; }
}
