/* Service page extras (2026-11-11): dark stats band and illustrated "How it works" steps. Built by
   build-service-extras.py. Higher-contrast bands requested by the client; colours only from the :root theme. */

/* ---- stats band (dark) ---- */
.pstrip-wrap.sx{position:relative;z-index:2;padding:56px 0 52px;background:var(--ink-900);color:var(--white)}
.sx-h{margin:0 0 24px;font:700 13px/1.3 var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--slate-300)}
.sx-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0}
.sx-cell{display:flex;flex-direction:column;gap:10px;padding:4px 28px 4px 0;margin-right:28px;border-right:1px solid var(--ink-600)}
.sx-cell:last-child{border-right:0;margin-right:0;padding-right:0}
.sx-num{font:700 clamp(30px,2.9vw,42px)/1.05 var(--display);letter-spacing:-.03em;color:var(--green-500);font-variant-numeric:tabular-nums}
.sx-lab{font-size:15px;line-height:1.5;color:var(--slate-200)}
.sx-link{display:inline-flex;align-items:center;gap:6px;min-height:44px;margin-top:auto;font:600 14px/1 var(--body);color:var(--white);text-decoration:underline;text-decoration-color:var(--ink-600);text-underline-offset:5px}
.sx-link svg{width:15px;height:15px;transition:transform .2s var(--ease)}
.sx-link:hover{text-decoration-color:var(--green-500)}
@media (hover:hover) and (pointer:fine){.sx-link:hover svg{transform:translateX(3px)}}
.sx-link:focus-visible{outline:2px solid var(--green-500);outline-offset:4px;border-radius:4px}
.sx-note{margin:24px 0 0;padding-top:18px;border-top:1px solid var(--ink-700);font-size:13px;line-height:1.5;color:var(--slate-400)}

/* ---- illustrated steps (deep green band) ---- */
.process-sec.px{padding:104px 0;background:#1E3A12;color:var(--white);border:0}
.px .sec-head h2{color:var(--white)}
.px .sec-head .lead{color:#D6E9CB}
.px-grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:40px;align-items:start}
.px-tabs{display:flex;flex-direction:column;gap:6px}
.px-tab{display:flex;align-items:center;gap:16px;width:100%;min-height:60px;padding:12px 18px;border:1px solid transparent;border-radius:14px;background:transparent;color:#D6E9CB;font:600 17px/1.3 var(--display);text-align:left;cursor:pointer;transition:background-color .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease)}
.px-n{flex:none;display:grid;place-items:center;width:36px;height:36px;border-radius:10px;border:1px solid rgba(255,255,255,.28);font:700 13px/1 var(--body);font-variant-numeric:tabular-nums}
.px-tab:hover{color:var(--white);background:rgba(255,255,255,.06)}
.px-tab[aria-selected="true"]{background:var(--white);color:var(--ink-800);border-color:var(--white)}
.px-tab[aria-selected="true"] .px-n{background:var(--green-500);border-color:var(--green-500);color:var(--ink-800)}
.px-tab:focus-visible{outline:2px solid var(--green-500);outline-offset:3px}
.px-panel{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:0;border-radius:24px;overflow:hidden;background:var(--white);color:var(--ink-800)}
.px-panel[data-hide]{display:none}
.px-panel:focus-visible{outline:2px solid var(--green-500);outline-offset:4px}
.px-fig{margin:0;background:#EEF8E8;aspect-ratio:4/3}
.px-fig img{display:block;width:100%;height:100%;object-fit:cover}
.px-copy{display:flex;flex-direction:column;justify-content:center;gap:12px;padding:32px}
.px-of{font:700 12px/1.3 var(--body);letter-spacing:.08em;text-transform:uppercase;color:var(--green-700)}
.px-copy h3{margin:0;font:600 26px/1.2 var(--display);letter-spacing:-.02em}
.px-copy p{margin:0;font-size:16px;line-height:1.65;color:var(--ink-700)}
.px-js .px-panel.is-in{animation:pxIn .28s var(--ease)}
@keyframes pxIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* without the script every step shows, stacked */
.px:not(.px-js) .px-tabs{display:none}
.px:not(.px-js) .px-grid{grid-template-columns:1fr}
.px:not(.px-js) .px-panels{display:grid;gap:20px}
.px:not(.px-js) .px-panel[data-hide]{display:grid}

@media (max-width:1100px){
  .px-panel{grid-template-columns:1fr}
  .px-copy{padding:24px 26px 28px}
}
@media (max-width:900px){
  .sx-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 0}
  .sx-cell:nth-child(2n){border-right:0;margin-right:0;padding-right:0}
}
/* phones: no tabs, a sideways row of step cards */
@media (max-width:720px){
  .pstrip-wrap.sx{padding:40px 0}
  .sx-grid{grid-template-columns:1fr;gap:0}
  .sx-cell{border-right:0;margin:0;padding:18px 0;border-bottom:1px solid var(--ink-700)}
  .sx-cell:last-child{border-bottom:0}
  .process-sec.px{padding:64px 0}
  .px-grid{display:block}
  .px .px-tabs{display:none}
  .px .px-panels{display:grid;grid-auto-flow:column;grid-auto-columns:82%;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:10px;margin:0 -16px;padding-inline:16px;scroll-padding-inline:16px}
  .px .px-panel,.px .px-panel[data-hide]{display:grid;scroll-snap-align:start;animation:none}
}
@media (prefers-reduced-motion:reduce){
  .px-js .px-panel.is-in{animation:none}
  .px-tab,.sx-link svg{transition:none}
}
