/* Eight real stages, one responsive route. No new text or simulated progress. */
.services-process {
  --stage-colour:#9fbfe9;
  --stage-ink:#b9d3f7;
  --stage-wash:rgba(117,168,237,.12);
  --stage-card:linear-gradient(155deg,#1d2837,#151e2a);
  position:relative;
  isolation:isolate;
  padding:20px;
  background:radial-gradient(ellipse at 5% 0%,rgba(72,122,187,.14),transparent 50%),
             radial-gradient(ellipse at 95% 100%,rgba(124,104,173,.10),transparent 50%),#121b27;
  border-color:var(--ks-line);
  box-shadow:var(--surface-edge);
}
[data-theme="light"] .services-process {
  --stage-colour:#426b9e;
  --stage-ink:#244a7b;
  --stage-wash:rgba(110,157,218,.13);
  --stage-card:linear-gradient(155deg,#fff,#f0f5fc);
  background:radial-gradient(ellipse at 5% 0%,rgba(141,181,232,.18),transparent 50%),
             radial-gradient(ellipse at 95% 100%,rgba(174,155,210,.12),transparent 50%),#f3f6fb;
}
.services-process-step { position:relative; min-width:0; }
.services-process-step:nth-of-type(3n+2) { --stage-colour:#b6aae1; --stage-ink:#cec4ee; --stage-wash:rgba(164,145,217,.12); }
.services-process-step:nth-of-type(3n) { --stage-colour:#8fc3cc; --stage-ink:#b5dbe1; --stage-wash:rgba(106,177,192,.10); }
[data-theme="light"] .services-process-step:nth-of-type(3n+2) { --stage-colour:#7e67a9; --stage-ink:#63488c; }
[data-theme="light"] .services-process-step:nth-of-type(3n) { --stage-colour:#417e8b; --stage-ink:#276572; }
.services-process .services-process-step summary {
  position:relative;
  display:grid;
  grid-template-columns:68px minmax(0,1fr) 22px;
  gap:18px;
  padding:22px 12px;
  color:var(--ks-text);
  text-align:start;
  outline-offset:4px;
}
.services-process .services-process-step summary:focus-visible { outline:2px solid var(--stage-colour); }
.services-process .services-stage-visual {
  display:flex;
  position:relative;
  align-items:center;
  flex:none;
  width:60px;
  min-width:0;
  height:60px;
}
.services-stage-glyph {
  display:grid;
  place-items:center;
  width:56px;
  height:56px;
  border:1px solid color-mix(in srgb,var(--stage-colour) 30%,transparent);
  border-radius:18px;
  background:radial-gradient(ellipse at 25% 0%,var(--stage-wash),transparent 80%),var(--stage-card);
  box-shadow:var(--surface-edge);
}
.services-process .services-stage-glyph .ui-icon {
  width:32px;
  height:32px;
  color:var(--stage-ink);
  transform:none;
}
.services-process .services-process-step[open] summary .services-stage-glyph .ui-icon { transform:none; }
.services-process .services-stage-visual .services-step-number {
  position:absolute;
  inset-inline-end:-6px;
  bottom:-6px;
  display:grid;
  place-items:center;
  width:28px;
  height:24px;
  background:var(--ks-surface);
  border:1px solid var(--ks-line);
  border-radius:8px;
  font-size:12px;
  color:var(--stage-ink);
}
.services-process .services-process-caption { gap:8px; min-width:0; }
.services-process .services-process-title { font-size:18px; line-height:1.45; letter-spacing:-.015em; text-wrap:pretty; }
.services-process .services-process-short { font-size:14px; line-height:1.65; text-wrap:pretty; }
.services-process .services-process-step[open] summary > .services-process-caption .services-process-title { color:var(--stage-ink); }
.services-process .services-disclosure-body {
  display:grid;
  grid-template-columns:76px minmax(0,1fr);
  gap:24px;
  max-width:none;
  padding:24px;
  margin:0 0 18px;
  background:var(--stage-card);
  border:1px solid var(--ks-line);
  border-radius:20px;
}
.services-stage-detail-visual {
  position:relative;
  display:grid;
  place-items:center;
  align-self:start;
  width:76px;
  height:92px;
  border:1px solid var(--visual-border);
  border-radius:20px;
  background:var(--visual-tint);
}
.services-stage-detail-visual .ui-icon { width:38px; height:38px; margin-block-end:18px; color:var(--visual-accent); }
.services-stage-detail-visual::after { content:attr(data-stage-number); position:absolute; bottom:6px; color:var(--visual-accent); font-size:13px; font-weight:750; font-variant-numeric:tabular-nums; }
.services-stage-detail-copy { min-width:0; }
.services-process .services-disclosure-body h3 { margin:0 0 12px; font-size:clamp(22px,2vw,28px); letter-spacing:-.025em; }
.services-process .services-disclosure-body p { max-width:80ch; font-size:16px; margin:0; }
.services-process .services-disclosure-body p + p { margin-block-start:14px; }
.services-process .icon-motion { animation:none!important; }
@media (min-width:1200px) {
  .services-process.is-enhanced { gap:22px 20px; padding:28px; }
  .services-process.is-enhanced .services-process-step summary {
    display:flex;
    flex-direction:column;
    align-items:stretch;
    padding:24px;
    gap:22px;
    height:100%;
    min-height:260px;
    border-radius:22px;
    background:radial-gradient(ellipse at 0% 0%,var(--stage-wash),transparent 70%),var(--stage-card);
    border-color:var(--ks-line);
    box-shadow:var(--surface-edge);
    transition:border-color 180ms ease;
  }
  .services-process.is-enhanced .services-stage-visual { width:100%; height:60px; }
  .services-process.is-enhanced .services-stage-visual .services-step-number {
    position:static;
    margin-inline-start:auto;
    width:auto;
    height:auto;
    background:none;
    border:0;
    color:var(--stage-colour);
    opacity:.75;
    font-size:36px;
    font-weight:500;
    letter-spacing:-.04em;
  }
  .services-process.is-enhanced .services-stage-visual::after {
    content:"";
    position:absolute;
    inset-inline:68px 58px;
    top:29px;
    height:1px;
    background:linear-gradient(90deg,var(--stage-colour),transparent);
    opacity:.35;
    pointer-events:none;
  }
  [dir="rtl"] .services-process.is-enhanced .services-stage-visual::after { transform:scaleX(-1); }
  .services-process.is-enhanced .services-process-step:not(:nth-of-type(4n))::after {
    content:"";
    position:absolute;
    inset-inline-end:-15px;
    top:53px;
    width:10px;
    height:10px;
    border-block-start:1px solid var(--stage-colour);
    border-inline-end:1px solid var(--stage-colour);
    transform:rotate(45deg);
    opacity:.55;
    pointer-events:none;
  }
  [dir="rtl"] .services-process.is-enhanced .services-process-step:not(:nth-of-type(4n))::after { transform:rotate(-45deg); }
  .services-process.is-enhanced .services-process-title { font-size:16px; line-height:1.45; }
  .services-process.is-enhanced .services-process-short { font-size:13px; line-height:1.7; }
  .services-process.is-enhanced .services-process-step summary:hover { border-color:var(--stage-colour); }
  .services-process.is-enhanced .services-process-step[open] summary { border-color:var(--stage-colour); background:radial-gradient(ellipse at 0% 0%,var(--stage-wash),transparent 90%),var(--stage-card); }
  .services-process.is-enhanced .services-process-step[open] summary::before {
    content:"";
    position:absolute;
    inset-inline:24px;
    top:-1px;
    height:3px;
    border-radius:0 0 4px 4px;
    background:var(--stage-colour);
    pointer-events:none;
  }
  .services-process.is-enhanced .services-disclosure-body { grid-template-columns:92px minmax(0,1fr); padding:28px; margin:2px 0 0; min-height:166px; }
  .services-process.is-enhanced .services-disclosure-body[hidden] { display:none; }
}
@media (max-width:1199px) {
  .services-process .services-process-step:not(:last-of-type)::after { content:""; position:absolute; inset-inline-start:41px; bottom:-13px; width:1px; height:26px; background:var(--visual-border); pointer-events:none; }
}
@media (max-width:600px) {
  .services-process { padding:8px 14px; border-radius:24px; }
  .services-process .services-process-step summary { grid-template-columns:52px minmax(0,1fr) 18px; gap:14px; padding:22px 0; }
  .services-process .services-stage-visual { width:46px; height:46px; }
  .services-stage-glyph { width:46px; height:46px; border-radius:15px; }
  .services-process .services-stage-glyph .ui-icon { width:27px; height:27px; }
  .services-process .services-stage-visual .services-step-number { inset-inline-end:-5px; width:24px; height:21px; font-size:11px; }
  .services-process .services-process-title { font-size:16px; }
  .services-process .services-process-short { font-size:13px; }
  .services-process .services-process-step summary > .ui-icon { width:18px; height:18px; }
  .services-process .services-process-step:not(:last-of-type)::after { inset-inline-start:23px; }
  .services-process .services-disclosure-body { grid-template-columns:minmax(0,1fr); padding:20px; gap:0; border-radius:16px; }
  .services-stage-detail-visual { display:none; }
  .services-process .services-disclosure-body h3 { font-size:20px; }
  .services-process .services-disclosure-body p { font-size:14px; line-height:1.8; }
}
@media (prefers-reduced-motion:reduce) { .services-process.is-enhanced .services-process-step summary { transition:none; } }
@media (forced-colors:active) {
  .services-process .services-stage-glyph,.services-process .services-stage-detail-visual,.services-process .services-step-number { color:CanvasText; background:Canvas; border-color:CanvasText; }
  .services-process .services-stage-glyph .ui-icon { color:CanvasText; }
  .services-process.is-enhanced .services-process-step[open] summary { border:2px solid Highlight; }
}
