/* /roadmap: one block per platform, each a head on the left and plain rows on the right.
   A row is a name, an honest state and one line. Separated by 1px grey rules, no cards. */
.rm-h2{font:600 clamp(1.5rem,2.4vw,2rem)/1.15 var(--font-head);letter-spacing:-.02em;color:var(--ink);margin:0}

.rm-intro{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(24px,4vw,64px);align-items:start}
.rm-intro .lede{margin-top:12px;max-width:58ch}
.rm-jump ul{display:flex;flex-wrap:wrap;gap:0 22px;margin:0;padding:0;list-style:none}
.rm-jump a{display:inline-block;padding:9px 0;color:var(--blue-ink);font-weight:600;text-decoration:underline;text-underline-offset:3px}

.rm-rows{margin:0;padding:0;list-style:none}
.rm-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 24px;align-items:baseline;padding:16px 0;border-top:1px solid var(--line)}
.rm-name{font:600 1rem/1.35 var(--font-head);color:var(--ink)}
.rm-row .state{justify-self:end;max-width:16rem;text-align:right}
.rm-note{grid-column:1 / -1;font-size:.95rem;line-height:1.5;color:var(--muted)}

.rm-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:start}
.rm-col h3,.rm-group h3{font:600 1.3rem/1.2 var(--font-head);letter-spacing:-.015em;color:var(--ink);margin:0 0 12px}

.rm-plat{display:grid;grid-template-columns:minmax(0,15rem) minmax(0,1fr);gap:clamp(20px,4vw,64px);padding-block:clamp(28px,4vw,44px);border-top:1px solid var(--line-2)}
.rm-plat.rm-first{padding-top:0;border-top:0}
.rm-plat > .rm-rows > .rm-row:first-child{border-top:0;padding-top:0}
.rm-head{align-self:start;position:sticky;top:calc(var(--head) + 24px)}
.rm-pname{margin:0;font:600 1.35rem/1.2 var(--font-head);letter-spacing:-.015em;color:var(--ink)}
.rm-logo{display:block;height:34px;width:auto;max-width:100%}
.rm-logo-wordpress{height:64px;margin:-16px 0 -16px -16px}
.rm-line{margin:12px 0 0;line-height:1.5;color:var(--muted)}
.rm-pic{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:16px;margin-top:20px}
.rm-groups{display:flex;flex-direction:column;gap:clamp(24px,3vw,40px)}

@media (max-width:860px){
  .rm-intro,.rm-cols{grid-template-columns:minmax(0,1fr)}
  .rm-plat{grid-template-columns:minmax(0,1fr);gap:16px}
  .rm-head{position:static}
  .rm-plat.rm-first .rm-head{margin-bottom:4px}
  .rm-pic{aspect-ratio:16/9;max-height:220px}
}
@media (max-width:520px){
  .rm-row{grid-template-columns:minmax(0,1fr)}
  .rm-row .state{justify-self:start;text-align:left;max-width:none}
}
