/* ================= SERVICES (Neo) ================= */
.services-neo{
  position: relative;
  padding: 100px 0 92px;
  background: #F8F8F8;
  overflow: hidden;
}

.services-neo::before{
  content:"";
  position:absolute;
  inset:-2px;
  background:
    radial-gradient(900px 520px at 12% 10%, rgba(255,108,43,.10), transparent 60%),
    radial-gradient(900px 520px at 88% 20%, rgba(115,147,167,.10), transparent 62%);
  pointer-events:none;
}

.services-neo__header{
  position: relative;
  z-index: 1;
  max-width: 820px;
  margin: 0 auto 44px;
  text-align: center;
}

.services-neo__kicker{
  margin: 0 0 10px;
  letter-spacing: .18em;
  text-transform: uppercase;
  font-size: .78rem;
  color: rgba(6,17,30,.55);
}

.services-neo__title{
  margin: 0 0 12px;
  font-weight: 950;
  letter-spacing: -0.05em;
  line-height: 1.05;
  font-size: clamp(2.1rem, 4.2vw, 3.2rem);
  color: #06111E;
}

.services-neo__title .accent{ color:#FF6C2B; }

.services-neo__subtitle{
  margin: 0;
  color: rgba(6,17,30,.66);
  font-size: 1.06rem;
  line-height: 1.65;
}

/* grid */
.services-neo__grid{
  position: relative;
  z-index: 1;
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  align-items: stretch;
}

/* card */
.svc-card{
  position: relative;
  border-radius: 22px;
  padding: 22px 22px 18px;
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(6,17,30,.08);
  box-shadow: 0 18px 45px rgba(6,17,30,.08);
  transition: .28s ease;
  overflow:hidden;
}

.svc-card::before{
  content:"";
  position:absolute;
  inset:-40%;
  background: radial-gradient(circle at top right, rgba(255,108,43,.14), transparent 55%);
  opacity: .0;
  transition: .35s ease;
  pointer-events:none;
}

.svc-card:hover{
  transform: translateY(-6px);
  box-shadow: 0 26px 70px rgba(6,17,30,.14);
  border-color: rgba(255,108,43,.25);
}
.svc-card:hover::before{ opacity: 1; }

.svc-card__top{
  display:flex;
  justify-content: space-between;
  align-items:center;
  margin-bottom: 14px;
}

.svc-num{
  font-weight: 900;
  letter-spacing: .12em;
  font-size: .82rem;
  color: rgba(6,17,30,.55);
}

.svc-tag{
  font-size: .82rem;
  padding: 8px 10px;
  border-radius: 999px;
  background: rgba(6,17,30,.06);
  border: 1px solid rgba(6,17,30,.08);
  color: rgba(6,17,30,.70);
}

/* icon */
.svc-icon{
  width: 54px;
  height: 54px;
  border-radius: 16px;
  display:grid;
  place-items:center;
  background: linear-gradient(135deg, rgba(255,108,43,.14), rgba(255,108,43,.06));
  border: 1px solid rgba(255,108,43,.18);
  color: #FF6C2B;
  margin-bottom: 14px;
}
.svc-icon i{ font-size: 22px; }

/* text */
.svc-title{
  margin: 0 0 8px;
  font-size: 1.25rem;
  letter-spacing: -.02em;
  font-weight: 900;
  color: #06111E;
}

.svc-desc{
  margin: 0 0 14px;
  color: rgba(6,17,30,.68);
  line-height: 1.55;
  font-size: 1rem;
}

/* list */
.svc-list{
  margin: 0;
  padding: 0;
  list-style:none;
  display:grid;
  gap: 10px;
}

.svc-list li{
  position: relative;
  padding-left: 22px;
  color: rgba(6,17,30,.72);
  line-height: 1.45;
}

.svc-list li::before{
  content:"";
  position:absolute;
  left: 0;
  top: .55em;
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: rgba(255,108,43,.95);
  box-shadow: 0 0 0 4px rgba(255,108,43,.14);
}

/* foot */
.svc-foot{
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid rgba(6,17,30,.08);
}

.svc-proof{
  display:inline-flex;
  gap: 10px;
  align-items:center;
  color: rgba(6,17,30,.62);
  font-size: .95rem;
}
.svc-proof .dot{
  width: 9px; height: 9px;
  border-radius: 999px;
  background:#FF6C2B;
  box-shadow: 0 0 0 4px rgba(255,108,43,.16);
}

/* make 03 feel “premium” */
.svc-card--accent{
  border-color: rgba(255,108,43,.22);
  background: rgba(255,255,255,.86);
}
.svc-card--accent .svc-tag{
  background: rgba(255,108,43,.10);
  border-color: rgba(255,108,43,.18);
  color: rgba(6,17,30,.72);
}

/* responsive */
@media (max-width: 980px){
  .services-neo{ padding: 84px 0 72px; }
  .services-neo__grid{ grid-template-columns: 1fr; gap: 14px; }
  .services-neo__header{ margin-bottom: 28px; }
}

@media (max-width: 520px){
  .svc-card{ padding: 20px 18px 16px; }
}