.thread-story{position:relative;isolation:isolate}
.thread-layer{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden}
.thread-extension{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.thread-extension path{fill:none;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-width:5}
.thread-extension-track{stroke:#607f8e70}
.thread-extension-draw{stroke:#bf5d47;stroke-dasharray:1;stroke-dashoffset:1}
.thread-bubble{position:absolute;left:0;top:0;width:var(--bubble-size,180px);height:var(--bubble-size,180px);border:3px solid #bf5d47;border-radius:50%;background:radial-gradient(circle at 35% 27%,#df846a,#c35c43 70%,#a9422e);box-shadow:inset 0 0 28px rgba(190,91,68,.10),0 9px 30px rgba(165,82,61,.09);opacity:0;transform:translate3d(-50%,-50%,0) scale(.05);will-change:transform,opacity}
.b2b-friction,.expertise{position:relative}
.b2b-friction>.section-label,.b2b-friction>.b2b-heading,.b2b-friction>.b2b-friction-grid,.b2b-friction>.b2b-friction-foot,.expertise>.section-label,.expertise>.section-heading,.expertise>.services{position:relative;z-index:3}
.b2b-friction-grid article{background:#f8fbfb}
.expertise>.services{background:transparent}
.expertise .services .service{background:#e7edf0}
@media(min-width:900px){.expertise>.services{width:102%;margin-left:-1%}}
.thread-highlight{position:relative;display:inline-block;color:inherit;white-space:nowrap}
.thread-filter-copy{position:absolute;inset:0;display:block;color:#fff;white-space:nowrap;pointer-events:none;clip-path:ellipse(var(--lens-rx,0px) var(--lens-ry,0px) at var(--lens-x,0px) var(--lens-y,0px))}
@media(max-width:600px){.thread-extension path{stroke-width:5.5}.thread-bubble{border-width:2.5px}}
@media(prefers-reduced-motion:reduce){.thread-layer{display:none}.thread-filter-copy{display:none}}

.thread-ready .flow-path{visibility:hidden}
.thread-ready .flow-heading,.thread-ready .journey-card{position:relative;z-index:3}
@media(prefers-reduced-motion:reduce){.thread-ready .flow-path{visibility:visible}}
.thread-ready .flow-journey{z-index:3}
/* The bubble crosses normal content, while headline text and services stay in front. */
.thread-story{overflow:clip}
.thread-bubble{z-index:4;pointer-events:none}
.b2b-friction>.b2b-heading,.expertise>.section-heading{z-index:auto}
.b2b-friction .b2b-heading h2,.expertise .section-heading h2{position:relative;z-index:5}
.expertise>.services{z-index:5}
.expertise .section-heading>div:first-child{position:relative;z-index:5}
