/* /services/ — builds on the site tokens in c3513951b0532cb5.css; no new colors. */
.svc-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:2.5rem;align-items:start}
.svc-index{position:sticky;top:5.5rem;display:grid;gap:1.25rem;font-size:.82rem}
.svc-index-head{display:block;color:var(--ink-dim);text-decoration:none;text-transform:uppercase;letter-spacing:.08em;font-size:.7rem;margin-bottom:.4rem}
.svc-index-head:hover,.svc-index-head:focus-visible{color:var(--phosphor)}
.svc-index ul{list-style:none;margin:0;padding:0;display:grid;gap:.3rem}
.svc-index li a{color:var(--ink);text-decoration:none;border-left:1px solid var(--grid);padding-left:.6rem;display:block;transition:color .15s,border-color .15s}
.svc-index li a:hover,.svc-index li a:focus-visible{color:var(--phosphor);border-color:var(--phosphor)}

.svc-groups{display:grid;gap:3rem}
.svc-group{scroll-margin-top:5.5rem}
.svc-group-head{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;border-bottom:1px solid var(--phosphor-dim);padding-bottom:.5rem;margin-bottom:1rem}
.svc-group-head h3{margin:0;color:var(--amber);font-size:.8rem;text-transform:uppercase;letter-spacing:.1em}
.svc-group-head p{margin:0;color:var(--ink-dim);font-size:.82rem;text-align:right}
.svc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}

.svc{scroll-margin-top:5.5rem}
.svc-problem{margin:.25rem 0 .75rem;color:var(--ink);line-height:1.55}
.svc-more{margin-bottom:.9rem}
.svc-more summary{cursor:pointer;color:var(--phosphor-dim);font-size:.75rem;list-style:none}
.svc-more summary::-webkit-details-marker{display:none}
.svc-more summary:hover,.svc-more summary:focus-visible{color:var(--phosphor)}
.svc-more[open] summary{margin-bottom:.7rem;color:var(--phosphor)}
.svc-related{margin:.9rem 0 0;font-size:.72rem;color:var(--ink-dim)}
.svc-related a{color:var(--amber)}
.svc:target{border-color:var(--amber)}

.svc-cta{margin-top:3rem;display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}
.svc-cta p{margin:0 1rem 0 0;color:var(--ink-dim);font-size:.8rem}

/* a11y: --phosphor-dim fails 4.5:1 on panels; lift small labels to --ink-dim, keep 24px targets */
.section .cap-lede,.svc .cap-stack-label,.svc-more summary{color:var(--ink-dim)}
.svc-index li a{padding-block:.25rem}
.svc-index-head{padding-block:.2rem;min-height:24px}

@media (max-width:860px){
  .svc-layout{grid-template-columns:1fr;gap:1.5rem}
  .svc-index{position:static;display:flex;flex-wrap:wrap;gap:.5rem}
  .svc-index ul{display:none}
  .svc-index-head{margin:0;border:1px solid var(--phosphor-dim);padding:.45rem .7rem;color:var(--ink)}
  .svc-group-head{flex-direction:column;align-items:flex-start;gap:.25rem}
  .svc-group-head p{text-align:left}
  .svc-grid{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){.svc-index li a{transition:none}}
