/* ===== Roadmap chapter ===== */
.roadmap{background:var(--navy,#070b20);color:#f4f1e9;position:relative}
.roadmap h2 em{color:#ffdc00;font-style:normal}
.roadmap .lead{color:#c9cde0}
.rm-stats{list-style:none;padding:0;margin:clamp(28px,4vw,56px) 0 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.rm-stats li{background:#10163a;border:1px solid #ffffff12;border-radius:18px;padding:20px 22px}
.rm-stats b{display:block;font:400 clamp(44px,5vw,76px)/.95 var(--display,Anton);color:#ffdc00}
.rm-stats span{display:block;margin-top:8px;font-size:14px;line-height:1.4;color:#c9cde0}
.rm-h{font:400 clamp(22px,2vw,30px)/1 var(--display,Anton);margin:clamp(34px,4vw,56px) 0 14px;color:#f4f1e9}
.rm-chart{position:relative;background:#0b1030;border:1px solid #ffffff12;border-radius:20px;padding:12px 8px 4px}
.rm-chart svg{display:block;width:100%;height:auto;overflow:visible}
.rm-grid{stroke:#ffffff14;stroke-width:1}.rm-yl,.rm-xl{fill:#8f95b2;font:500 12px var(--font,system-ui)}.rm-yl{text-anchor:end}.rm-xl{text-anchor:middle}
.rm-zone{fill:#ffffff06;stroke:#ffffff1a;stroke-dasharray:4 5;rx:10}.rm-zonetxt{fill:#8f95b2;font:600 12px var(--font,system-ui)}
.rm-area{fill:#ffdc00;fill-opacity:.12}.rm-line{fill:none;stroke:#ffdc00;stroke-width:2.5;stroke-linejoin:round}
.rm-hit{fill:transparent;cursor:pointer}.rm-dot{fill:#ffdc00;stroke:#0b1030;stroke-width:2}.rm-dot.is-tba{fill:#0b1030;stroke:#ffdc00;stroke-width:2}.rm-dot.is-today{fill:#f4f1e9}
.rm-pt:focus{outline:none}.rm-pt:focus .rm-dot,.rm-pt:hover .rm-dot{stroke:#f4f1e9;stroke-width:3}
.rm-lab{fill:#f4f1e9;font:700 14px var(--font,system-ui)}
.rm-tip{position:absolute;transform:translate(-50%,calc(-100% - 14px));min-width:180px;max-width:260px;background:#f4f1e9;color:#070b20;border-radius:12px;padding:10px 12px;font-size:12px;line-height:1.45;pointer-events:none;box-shadow:0 14px 30px #0008;z-index:2}
.rm-tip b{display:block;font-size:13px}.rm-tip span{display:block;color:#3d4258}.rm-tip em{display:block;font-style:normal;margin-top:4px}
.rm-strip{list-style:none;padding:0 0 10px;margin:18px 0 0;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,1fr);gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin}
.rm-week{scroll-snap-align:start;background:#10163a;border:1px solid #ffffff12;border-radius:16px;padding:12px}
.rm-week p{display:flex;justify-content:space-between;align-items:baseline;margin:0 0 10px;font-size:12px;color:#8f95b2}.rm-week p b{font:400 20px/1 var(--display,Anton);color:#f4f1e9}
.rm-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.rm-tiles a,.rm-tile-tba{display:block;aspect-ratio:1.47;border-radius:8px;overflow:hidden}
.rm-tiles img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s}.rm-tiles a:hover img{transform:scale(1.06)}
.rm-tile-tba{display:grid;place-items:center;border:1px dashed #ffffff26;color:#8f95b2;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.rm-cov{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,4vw,56px)}
.rm-bars{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.rm-bars li{display:grid;grid-template-columns:minmax(120px,190px) minmax(0,1fr) 36px;gap:12px;align-items:center;font-size:14px;color:#d9dcea}
.rm-bars i{display:block;height:12px;border-radius:0 4px 4px 0;background:#ffdc00;width:var(--w);min-width:4px}
.rm-bars li.is-tba i{background:repeating-linear-gradient(135deg,#ffdc0059 0 6px,#ffdc0014 6px 12px)}
.rm-bars b{font-variant-numeric:tabular-nums;text-align:right;color:#f4f1e9}
.rm-fine{font-size:12px;color:#8f95b2;margin:26px 0 0;max-width:60em}
@media(max-width:900px){.rm-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.rm-cov{grid-template-columns:minmax(0,1fr)}}
@media(max-width:560px){.rm-stats li{padding:16px}.rm-strip{grid-auto-columns:82%}.rm-bars li{grid-template-columns:minmax(0,1fr) 34px;row-gap:4px}.rm-bars li span{grid-column:1/-1}.rm-lab{font-size:22px}.rm-xl,.rm-yl{font-size:20px}.rm-zonetxt{font-size:18px}}
/* week strip: no native scrollbar; arrows, slim progress, edge fade */
.rm-strip{scrollbar-width:none;-ms-overflow-style:none;padding-bottom:0;margin-top:10px;mask-image:linear-gradient(90deg,#000 calc(100% - 70px),transparent);-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 70px),transparent)}
.rm-strip::-webkit-scrollbar{display:none}
.rm-strip-wrap.at-end .rm-strip{mask-image:none;-webkit-mask-image:none}
.rm-strip-wrap{margin-top:18px}
.rm-strip-nav{display:flex;align-items:center;gap:8px}
.rm-strip-nav span{flex:1;font:700 11px/1 var(--font);letter-spacing:.14em;text-transform:uppercase;color:#8f95b2}
.rm-arrow{width:40px;height:40px;border-radius:50%;border:0;background:#ffdc00;color:#070b20;font:400 26px/1 var(--font);display:grid;place-items:center;padding-bottom:3px;cursor:pointer;transition:opacity .2s,transform .2s}
.rm-arrow:hover{transform:scale(1.06)}.rm-arrow:focus-visible{outline:2px solid #f4f1e9;outline-offset:2px}
.rm-strip-wrap.at-start .rm-arrow[data-dir="-1"],.rm-strip-wrap.at-end .rm-arrow[data-dir="1"]{opacity:.3;pointer-events:none}
.rm-progress{position:relative;height:4px;border-radius:2px;background:#ffffff14;margin-top:14px;overflow:hidden}
.rm-progress i{position:absolute;top:0;bottom:0;border-radius:2px;background:#ffdc00;transition:left .1s linear}
@media(min-width:761px){.roadmap .section-heading>div{flex:1 1 auto;min-width:0}.roadmap .section-heading .lead{flex:0 1 430px;max-width:430px}}
@media(max-width:560px){.rm-xl,.rm-yl{font-size:30px}.rm-lab{font-size:36px}.rm-zonetxt{font-size:28px}.rm-dot{r:7px}}
