/* ============ SERVICE PAGES ============ */
/* Reuses tokens + components from styles.css (.btn .container .section .feat
   .grid-3 .eyebrow .footer .dock .to-top). Only page-specific layout here. */

.svc-hero{position:relative;overflow:hidden;text-align:center;padding:34px 0 76px;background:radial-gradient(ellipse at 50% -10%,rgba(67,104,250,.28),transparent 60%)}
.svc-hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:radial-gradient(ellipse at 50% 0%,#000,transparent 70%);mask-image:radial-gradient(ellipse at 50% 0%,#000,transparent 70%)}
.svc-hero > .container{position:relative;z-index:1}
.svc-hero__top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:60px}
.svc-hero__back{font-size:.9rem;color:var(--muted)}
.svc-hero__back:hover{color:var(--ink)}
.svc-hero h1{font-size:clamp(2.1rem,5vw,3.4rem);margin-top:14px}
.svc-hero__sub{max-width:600px;margin:18px auto 0;color:var(--muted);font-size:1.04rem}
.svc-hero__cta{display:flex;gap:14px;justify-content:center;margin-top:30px;flex-wrap:wrap}

/* process steps */
.steps{list-style:none;counter-reset:step;display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:52px}
.steps li{counter-increment:step;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:24px}
.steps li::before{content:counter(step,decimal-leading-zero);font-family:"Instrument Serif",Georgia,serif;font-style:italic;font-size:1.7rem;color:var(--accent-2);display:block;margin-bottom:10px}
.steps h4{font-size:1rem}
.steps p{margin-top:6px;font-size:.88rem;color:var(--muted)}
.section:not(.section--dark):not(.contact) .steps li{background:#fff;border-color:rgba(0,0,0,.08)}
.section:not(.section--dark):not(.contact) .steps li::before{color:var(--accent)}
.section:not(.section--dark):not(.contact) .steps p{color:var(--light-muted)}

/* deliverables + stack pills */
.pill-list{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.pill-list li{font-size:.82rem;padding:8px 14px;border-radius:999px;border:1px solid var(--line);background:var(--panel);color:var(--ink)}
.section:not(.section--dark):not(.contact) .pill-list li{background:#fff;border-color:rgba(0,0,0,.1);color:var(--light-ink)}
.stack-label{margin:44px 0 0;text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;color:var(--muted)}
.section:not(.section--dark):not(.contact) .stack-label{color:var(--light-muted)}

/* linkable feature card (explore other services / index grid) */
.feat--link{display:block}
.feat--link:hover{transform:translateY(-4px);border-color:rgba(147,164,255,.5)}
.feat--link .feat__go{display:inline-block;margin-top:14px;font-size:.85rem;font-weight:600;color:var(--accent-2)}
.section:not(.section--dark):not(.contact) .feat--link .feat__go{color:var(--accent)}

/* closing CTA band */
.svc-cta{text-align:center;background:linear-gradient(180deg,var(--bg-2),var(--bg));border-top:1px solid var(--line);padding:92px 0}
.svc-cta h2{margin-bottom:10px}
.svc-cta p{color:var(--muted);max-width:520px;margin:0 auto 26px}

@media(max-width:900px){
  .steps{grid-template-columns:1fr}
  .svc-hero__top{margin-bottom:44px}
}
