.rv-map{background:linear-gradient(180deg,#F4F6FD 0%,#fff 100%);border:1px solid #E1E5F5;border-radius:16px;padding:20px 20px 18px;margin:0 0 20px}
.rv-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.rv-head strong{font-size:17px;color:#12212A}
.rv-head span{font-size:13px;color:#5b6b74}
.rv-track{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,1fr);gap:8px;position:relative}
.rv-track:before{content:"";position:absolute;left:8%;right:8%;top:30px;height:2px;background:repeating-linear-gradient(90deg,#C9D0EE 0 6px,transparent 6px 11px)}
.rv-track li{position:relative;min-width:0}
.rv-step{all:unset;box-sizing:border-box;cursor:pointer;width:100%;display:flex;flex-direction:column;align-items:center;text-align:center;gap:2px;padding:0 4px 10px;border-radius:14px;transition:background .2s}
.rv-step:hover,.rv-step.rv-open{background:color-mix(in srgb,var(--pc) 8%,transparent)}
.rv-step:focus-visible{outline:3px solid #3347D6;outline-offset:2px}
.rv-ring{position:relative;width:60px;height:60px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px rgba(18,33,42,.10);margin-bottom:6px;transition:transform .2s}
.rv-step:hover .rv-ring{transform:translateY(-3px)}
.rv-ring>svg:not(.rv-prog){width:24px;height:24px;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.rv-prog{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
.rv-prog circle{fill:none;stroke-width:4}
.rv-bg{stroke:color-mix(in srgb,var(--pc) 16%,#fff)}
.rv-fg{stroke:var(--pc);stroke-linecap:round;transition:stroke-dashoffset .6s ease}
.rv-ok{position:absolute;right:-2px;top:-2px;width:20px;height:20px;border-radius:50%;background:#047857;color:#fff;font-style:normal;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;border:2px solid #fff}
.rv-n{font-size:11px;font-weight:700;color:var(--pc);letter-spacing:.02em}
.rv-t{font-size:14px;font-weight:700;color:#12212A;line-height:1.25}
.rv-w{font-size:12px;color:#5b6b74}
.rv-p{font-size:11px;font-weight:600;color:#5b6b74;background:#fff;border:1px solid #E1E5F5;border-radius:999px;padding:1px 8px;margin-top:4px}
.rm-phase[style*="--pc"]{border-left-color:var(--pc)!important}
.phase-num.rv-num{width:44px!important;height:44px!important;border-radius:12px!important;background:color-mix(in srgb,var(--pc) 12%,#fff)!important;position:relative}
.phase-num.rv-num svg{width:22px;height:22px;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.phase-num.rv-num b{position:absolute;right:-6px;bottom:-6px;min-width:20px;height:20px;padding:0 4px;border-radius:999px;background:var(--pc);color:#fff;font-size:10px;display:flex;align-items:center;justify-content:center;border:2px solid #fff;font-family:inherit}
.rm-phase.phase-done .phase-num.rv-num b{background:#047857}
#how-it-works{gap:12px!important;padding:0!important;background:none!important;display:grid!important;grid-template-columns:repeat(3,1fr)}
#how-it-works>div{background:#fff;border:1px solid #E1E5F5;border-radius:16px;padding:16px 18px!important;font-size:15px!important;color:#12212A!important;font-weight:600;gap:12px!important}
#how-it-works>div>span{width:40px!important;height:40px!important;border-radius:12px!important;font-size:15px!important}
@media (max-width:760px){
.rv-map{padding:16px 0 14px}.rv-head{padding:0 16px}
.rv-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 12px 4px;scrollbar-width:none}
.rv-track::-webkit-scrollbar{display:none}
.rv-track li{flex:0 0 31%;scroll-snap-align:start}
.rv-track:before{left:40px;right:auto;width:560px}
#how-it-works{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){.rv-fg,.rv-ring,.rv-step{transition:none}.rv-step:hover .rv-ring{transform:none}}
@media (max-width:520px){.phase-num.rv-num{width:38px!important;height:38px!important}.phase-num.rv-num svg{width:19px;height:19px}}
