/* The native disclosures keep their keyboard behavior while their height slides. */
.service-list details[data-service-state=opening],.service-list details[data-service-state=closing]{overflow:hidden}
.service-list details .plus{transition:transform .65s cubic-bezier(.4,0,.2,1),color .3s}
.service-list details[data-service-state=closing] .plus{transform:rotate(0)}
.service-list details[data-service-state=opening] .plus{transform:rotate(45deg)}
.service-list .service-content{transform-origin:top center}

/* One quiet line connects the three stages. Its light follows reading progress. */
.process-journey{position:relative;margin-top:55px}
.process-journey .steps{margin-top:0;padding-top:43px}
.process-track{display:none;position:absolute;left:calc((100% - 48px)/6);right:calc((100% - 48px)/6);top:9px;height:1px;background:#b7a0d52b;pointer-events:none}
.process-enhanced .process-track{display:block}
.process-trace{position:absolute;left:0;top:0;width:calc(var(--process-progress,0)*100%);height:1px;background:linear-gradient(90deg,#91c9ee,#c2a3f3 52%,#efb7cd);box-shadow:0 0 11px #c2a3f34d}
.process-stop{position:absolute;top:50%;left:0;translate:-50% -50%;width:5px;height:5px;border-radius:50%;background:#55465f;box-shadow:0 0 0 5px #0d0a13;transition:background .45s,box-shadow .45s}
.process-stop-middle{left:var(--process-middle,50%)}.process-stop-last{left:100%}
.process-stop.is-reached{background:#d7c4ed;box-shadow:0 0 0 5px #0d0a13,0 0 16px #c7a5f866}
.process-cursor{position:absolute;left:calc(var(--process-progress,0)*100%);top:50%;translate:-50% -50%;width:9px;height:9px;border-radius:50%;background:#eee4ff;box-shadow:0 0 8px #e5c7ff,0 0 27px #b18deb99;opacity:0;transition:opacity .4s}
.process-journey.is-in-view .process-cursor{opacity:1}
.process-journey .steps article{--step-color:#9cccec;--step-delay:0ms;transition:transform .35s ease-out,border-color .65s,box-shadow .65s,background .65s}
.process-journey .steps article:nth-child(2){--step-color:#c4a7f1}.process-journey .steps article:nth-child(3){--step-color:#e4b2cb}
.process-journey .steps article.step-active{border-color:color-mix(in srgb,var(--step-color) 48%,transparent);box-shadow:0 14px 50px color-mix(in srgb,var(--step-color) 7%,transparent);background:linear-gradient(145deg,color-mix(in srgb,var(--step-color) 7%,transparent),#ffffff02)}
.process-journey .steps article>span{transition:color .55s}
.process-journey .steps article.step-active>span{color:var(--step-color)}
.process-journey .step-art{isolation:isolate}
.process-journey .step-art::before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 50% 65%,color-mix(in srgb,var(--step-color) 16%,transparent),transparent 68%);opacity:.1;transition:opacity .7s}
.process-journey .step-active .step-art::before{opacity:1}
.process-enhanced .step-art i{--gather-x:-25px;--gather-delay:0ms;animation:none}
.process-enhanced .step-art i:nth-child(2){--gather-x:0px;--gather-delay:70ms}.process-enhanced .step-art i:nth-child(3){--gather-x:25px;--gather-delay:140ms}
.process-enhanced:not(.process-static) article:not(.step-revealed) .step-art i{opacity:.42;translate:var(--gather-x) 8px;scale:.86}
.process-enhanced .step-revealed .step-art i{animation:process-gather .9s cubic-bezier(.22,1,.36,1) var(--gather-delay) both,note-float 10s ease-in-out calc(.95s + var(--gather-delay)) infinite}
@keyframes process-gather{from{opacity:.42;translate:var(--gather-x) 8px;scale:.86}to{opacity:1;translate:0 0;scale:1}}
.process-static .process-trace{width:100%;opacity:.45}.process-static .process-cursor{display:none}.process-static .step-art i{animation:none!important;opacity:1;translate:0 0;scale:1}
@media(max-width:700px){
 .process-journey{margin-top:40px;padding-left:25px}
 .process-journey .steps{padding-top:0;gap:22px}
 .process-track{left:2px;right:auto;top:var(--process-track-start,64px);height:var(--process-track-length,700px);width:1px}
 .process-trace{width:1px;height:calc(var(--process-progress,0)*100%);background:linear-gradient(180deg,#91c9ee,#c2a3f3 52%,#efb7cd)}
 .process-cursor{left:50%;top:calc(var(--process-progress,0)*100%)}
 .process-stop{left:50%;top:0}.process-stop-middle{left:50%;top:var(--process-middle,50%)}.process-stop-last{left:50%;top:100%}
 .process-static .process-trace{width:1px;height:100%}
 .process-journey .steps article{padding-inline:24px}.process-journey .step-art{margin-inline:-24px}
}
@media(prefers-reduced-motion:reduce){.process-journey .step-art i{animation:none!important;opacity:1!important;translate:0 0!important;scale:1!important}}
