/* ---------- Services hero ---------- */
.b-page-hero{padding-top:clamp(48px,6.1cqi,88px);padding-bottom:clamp(64px,6.7cqi,96px)}
.b-page-hero .b-h1{max-width:none}
.b-page-hero .b-lede{max-width:30em}

/* Jump links as four stops on the line */
.b-jump{margin-top:clamp(56px,6cqi,88px)}
.b-jump__line{position:relative;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:clamp(24px,3cqi,40px)}
.b-jump__line::before{content:"";position:absolute;top:7px;height:2px;left:calc((100% - 100cqi) / 2);right:calc((100% - 100cqi) / 2);background:#167D8D;transform-origin:left center}
.b-jump__line li{position:relative;padding-top:30px}
.b-jump__line li::before{content:"";position:absolute;left:0;top:0;width:16px;height:16px;border-radius:50%;background:#E5EFED;border:2px solid #167D8D}
.b-jump__line a{display:inline-flex;align-items:center;min-height:44px;color:#202526;font-weight:500;font-size:18px;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.b-jump__line a:hover{text-decoration-thickness:2px}

/* ---------- One service ---------- */
.b-svc{scroll-margin-top:16px}
.b-svc__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:clamp(32px,5cqi,72px);align-items:start}
.b-svc__side{position:sticky;top:32px}
.b-mini{display:flex;align-items:center;gap:0;width:132px;margin-bottom:28px}
.b-mini span{flex:none;width:12px;height:12px;border-radius:50%;border:2px solid #167D8D;background:transparent}
.b-mini span.is-here{background:#167D8D}
.b-mini i{flex:1 1 auto;height:2px;background:#167D8D}
.b-svc hgroup{margin:0}
.b-svc hgroup .b-h2{max-width:14ch}
.b-useful{margin:28px 0 0;max-width:24em;font-size:18px;line-height:1.6}
.b-useful strong{font-weight:500}
.b-svc__main{max-width:38em}
.b-svc__main > p{margin:0 0 20px;font-size:18px;line-height:1.65}
.b-list-head{margin:36px 0 0;font-size:20px;font-weight:500;line-height:1.3}
.b-list{list-style:none;margin:16px 0 0;padding:0}
.b-list li{position:relative;padding:13px 0 13px 28px;border-top:1px solid #CCD5D2;font-size:18px;line-height:1.55}
.b-list li:last-child{border-bottom:1px solid #CCD5D2}
.b-list li::before{content:"";position:absolute;left:2px;top:23px;width:8px;height:8px;border-radius:50%;background:#167D8D}
.b-svc__main > .b-svc__note{margin:28px 0 0;font-size:17px;line-height:1.6;color:#566361}
.b-svc__main > .b-svc__note + .b-svc__note{margin-top:12px}
.b-mineral .b-svc__main > .b-svc__note{color:#3B4446}

@container bpage (max-width:900px){
  .b-jump__line{grid-template-columns:minmax(0,1fr)}
  .b-jump__line::before{top:-20px;bottom:22px;left:7px;right:auto;width:2px;height:auto;transform-origin:top center}
  .b-jump__line li{padding-top:0;padding-left:40px}
  .b-jump__line li::before{top:14px}
  .b-svc__grid{grid-template-columns:minmax(0,1fr);row-gap:32px}
  .b-svc__side{position:static}
}

@media (prefers-reduced-motion:no-preference){
  .b-jump__line::before{animation:b-draw-x 900ms cubic-bezier(.4,0,.2,1) 200ms both}
  .b-jump__line li::before{animation:b-pop 260ms ease-out both}
  .b-jump__line li:nth-child(1)::before{animation-delay:500ms}
  .b-jump__line li:nth-child(2)::before{animation-delay:600ms}
  .b-jump__line li:nth-child(3)::before{animation-delay:700ms}
  .b-jump__line li:nth-child(4)::before{animation-delay:800ms}
}
@container bpage (max-width:900px){
  @media (prefers-reduced-motion:no-preference){
    .b-jump__line::before{animation-name:b-draw-y}
  }
}
