/* ---- service cards --------------------------------------------------------- */
.services-grid{ display:grid; grid-template-columns:repeat(3, 1fr); gap:22px; }
@media (max-width:980px){ .services-grid{ grid-template-columns:repeat(2, 1fr); } }
@media (max-width:640px){ .services-grid{ grid-template-columns:1fr; } }

.service-card{ padding:32px; display:flex; flex-direction:column; gap:14px; }
.service-card__glyph{ font-size:32px; }
.service-card h3{ font-size:19px; font-weight:800; margin:0; }
.service-card p{ color:var(--muted); font-size:14.5px; line-height:1.85; }
.service-card ul{ list-style:none; margin:6px 0 0; padding:0; display:flex; flex-direction:column; gap:8px; }
.service-card li{ font-size:13.5px; color:var(--muted); display:flex; align-items:flex-start; gap:8px; }
.service-card li::before{ content:"◆"; color:var(--accent-2); font-size:8px; margin-top:6px; }

/* ---- process timeline -------------------------------------------------------- */
.process{ position:relative; max-width:820px; margin:0 auto; }
.process::before{
  content:""; position:absolute; top:0; bottom:0; inset-inline-start:23px;
  width:1px; background:linear-gradient(180deg, var(--glass-border), transparent);
}
.process-step{ position:relative; display:flex; gap:24px; padding-bottom:44px; }
.process-step:last-child{ padding-bottom:0; }
.process-step__num{
  flex-shrink:0; width:48px; height:48px; border-radius:16px;
  display:grid; place-items:center;
  background:var(--liquid-glass-bg); border:1px solid var(--liquid-glass-border);
  font-family:'Space Grotesk', sans-serif; font-weight:700; font-size:16px; color:var(--accent-2);
}
.process-step__body{ padding-top:6px; }
.process-step h3{ font-size:17px; font-weight:800; margin:0 0 8px; }
.process-step p{ color:var(--muted); font-size:14.5px; line-height:1.8; max-width:520px; }

/* ---- tech stack ---------------------------------------------------------------- */
.tech-grid{ display:flex; flex-wrap:wrap; gap:10px; justify-content:center; }
.tech-grid .chip{ font-family:'Space Grotesk', sans-serif; font-size:13px; padding:9px 18px; }

/* ---- why choose me ------------------------------------------------------------- */
.why-grid{ display:grid; grid-template-columns:repeat(2, 1fr); gap:20px; }
@media (max-width:640px){ .why-grid{ grid-template-columns:1fr; } }
.why-item{ display:flex; gap:16px; padding:26px; }
.why-item__icon{
  flex-shrink:0; width:42px; height:42px; border-radius:12px;
  display:grid; place-items:center;
  background:var(--liquid-glass-bg-hover); border:1px solid var(--glass-border);
}
.why-item__icon svg{ width:20px; height:20px; stroke:var(--accent-2); fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.why-item h3{ font-size:15.5px; font-weight:800; margin:0 0 6px; }
.why-item p{ font-size:13.5px; color:var(--muted); line-height:1.75; }

/* ---- pricing CTA ------------------------------------------------------------------ */
.pricing-cta{
  text-align:center; padding:56px 40px; position:relative; overflow:hidden;
}
.pricing-cta::before{
  content:""; position:absolute; inset:-40%;
  background:radial-gradient(circle, rgba(122,240,255,.14), transparent 60%);
  pointer-events:none;
}
.pricing-cta h3{ font-size:clamp(24px,3vw,32px); font-weight:900; margin-bottom:14px; position:relative; }
.pricing-cta p{ color:var(--muted); max-width:520px; margin:0 auto 28px; line-height:1.85; position:relative; }
.pricing-cta .cta-row{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; position:relative; }

/* ---- pricing table (tabs + groups + rows) -------------------------------- */
.pricing-tabs{
  display:flex; justify-content:center; flex-wrap:wrap; gap:10px;
  margin:36px 0 32px;
}
.pricing-panel{
  display:grid; grid-template-columns:repeat(auto-fit, minmax(320px, 1fr));
  gap:20px; align-items:start;
}
.price-group{ padding:26px; }
.price-group__title{
  font-size:15px; font-weight:800; margin:0 0 16px; padding-bottom:12px;
  border-bottom:1px solid var(--glass-border);
}
.price-group__rows{ display:flex; flex-direction:column; gap:11px; }
.price-row{
  display:flex; align-items:baseline; justify-content:space-between; gap:12px;
}
.price-row__label{ font-size:13.5px; color:var(--text); line-height:1.6; }
.price-row__value{
  font-size:12.5px; font-weight:700; color:var(--accent-2); white-space:nowrap;
  font-family:'Space Grotesk', 'Vazirmatn', sans-serif;
}
.pricing-note{
  text-align:center; color:var(--muted); font-size:12.5px; max-width:640px;
  margin:32px auto 0; line-height:1.8;
}

/* ---- ready-made plan cards ------------------------------------------------ */
.plans-grid{
  grid-column:1 / -1;
  display:grid; grid-template-columns:repeat(auto-fit, minmax(240px, 1fr));
  gap:20px;
}
.plan-card{ text-align:center; padding:32px 24px; }
.plan-card h3{ font-size:16px; font-weight:800; margin:0 0 12px; }
.plan-card__price{
  font-family:'Space Grotesk'; font-size:20px; font-weight:700;
  background:var(--grad); -webkit-background-clip:text; background-clip:text;
  color:transparent; -webkit-text-fill-color:transparent;
  margin-bottom:14px;
}
.plan-card p{ font-size:13px; color:var(--muted); line-height:1.8; }
.plan-card.is-featured{
  border-color:var(--liquid-glass-border-hover);
  box-shadow:0 24px 60px -20px rgba(93,139,255,.4), inset 0 1px 0 var(--liquid-glass-highlight);
}

@media (max-width:640px){
  .pricing-panel{ grid-template-columns:1fr; }
}
