/* /practices/consulting-architecture/claude-ai-roadmap/ and /openai-roadmap/ : additions only.
   Both pages also load mach-claude-readiness.css (cr- components) and mach-openai-readiness.css (oa- paths, why panel, quote card).
   Everything defined here is prefixed rm- (or scoped under .rm-page). */
.rm-page .cr-copy h1 .rm-l{display:block}
.rm-page .sec-head.center h2{max-width:28ch}
.rm-two .light{display:block}
.rm-page #waves h2 .light,.rm-page #guidance h2 .light,.rm-page #deliverables h2 .light,.rm-page #how h2 .light{display:inline}
.rm-page .cr-copy h1{max-width:700px;font-size:clamp(44px,3.9vw,56px)}
.rm-page .cr-lede{max-width:560px}
.rm-page .cr-journey{margin-top:18px}
.rm-aside{max-width:70ch;margin:30px auto 0;color:var(--text2);font-size:15px;line-height:1.55}
.rm-aside.center{text-align:center}
.rm-cur{border-color:rgba(162,124,255,.6)!important;box-shadow:0 0 80px rgba(162,124,255,.16)}
.oa-path .arrow-link{margin-top:6px;font-size:15px}

/* 6 areas to 6 workstreams */
.rm-ws{display:grid;gap:10px}
.rm-ws-head,.rm-row{display:grid;grid-template-columns:260px 200px minmax(0,1fr);gap:28px;align-items:center}
.rm-ws-head{padding:0 32px 4px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--text2);font-weight:600}
.rm-row{padding:22px 32px;border-radius:var(--r-panel);background:var(--graphite);border:1px solid var(--stroke);position:relative;overflow:hidden}
.rm-row::before{content:"";position:absolute;left:0;top:20px;bottom:20px;width:3px;border-radius:3px;background:var(--violet)}
.rm-row .a{display:flex;align-items:baseline;gap:14px}
.rm-row .a b{font-size:14px;font-weight:500;color:var(--violet);letter-spacing:.06em}
.rm-row .a span{font-size:18px;font-weight:600;letter-spacing:-.015em}
.rm-row .w{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:600;color:#fff}
.rm-row .w::before{content:"\2192";color:var(--violet);font-weight:400}
.rm-row p{color:var(--text2);font-size:16px;line-height:1.5}
.rm-bands{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.rm-band{position:relative;padding:30px 30px 28px;border-radius:var(--r-panel);background:var(--graphite);border:1px solid var(--stroke);overflow:hidden}
.rm-band::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:var(--bc)}
.rm-band .rng{font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--bc)}
.rm-band h3{font-size:26px;letter-spacing:-.03em;margin:14px 0 10px}
.rm-band p{color:var(--text2);font-size:16px;line-height:1.55}

/* layers with a first move and a next move */
.rm-layers .cr-layer{grid-template-columns:230px minmax(0,.8fr) minmax(0,1.5fr);align-items:start}
.rm-mv{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.rm-mv small{display:block;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text2);margin-bottom:5px}
.rm-mv p{font-size:14.5px;line-height:1.5;color:#e3e3e8}
.rm-mv div:first-child small{color:#c7b7ff}

/* waves */
.rm-waves{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.rm-wave{position:relative;padding:34px 34px 30px;border-radius:var(--r-panel);background:var(--graphite);border:1px solid var(--stroke);overflow:hidden;display:flex;flex-direction:column}
.rm-wave::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:var(--wc)}
.rm-wave::after{content:"";position:absolute;right:-80px;top:-80px;width:240px;height:240px;border-radius:50%;background:radial-gradient(closest-side,color-mix(in srgb,var(--wc) 18%,transparent),transparent);pointer-events:none}
.rm-wave>*{position:relative}
.rm-wave-h{display:flex;justify-content:space-between;align-items:center}
.rm-wn{font-size:13px;font-weight:700;letter-spacing:.12em;color:var(--wc)}
.rm-q{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--text2)}
.rm-wave h3{font-size:32px;letter-spacing:-.035em;margin:14px 0 4px}
.rm-line{font-size:17px;color:var(--text2);margin-bottom:20px}
.rm-wave ul{list-style:none;display:grid;gap:11px;margin:0 0 4px;padding:0}
.rm-wave li{position:relative;padding-left:22px;font-size:15.5px;line-height:1.48;color:#e0e0e5}
.rm-wave li::before{content:"";position:absolute;left:0;top:.58em;width:7px;height:7px;border-radius:50%;background:var(--wc)}
.rm-own{margin-top:18px;font-size:14px;line-height:1.5;color:var(--text2)}
.rm-own b{display:inline-block;margin-right:8px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#d9d9df}
.rm-gate{display:flex;gap:16px;margin-top:auto;padding:16px 18px;border-radius:18px;background:rgba(162,124,255,.1);border:1px solid rgba(162,124,255,.3)}
.rm-wave .rm-own{margin-bottom:18px}
.rm-gate i{flex:none;width:13px;height:13px;margin-top:6px;background:#fff;transform:rotate(45deg)}
.rm-gate small{display:block;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#c7b7ff;margin-bottom:3px}
.rm-gate p{font-size:15px;line-height:1.5;color:var(--text)}

/* guidance */
.rm-gd .card p{margin-bottom:8px}
.rm-src{margin-top:16px!important;padding-top:14px;border-top:1px solid var(--stroke);display:flex;gap:10px;align-items:baseline;font-size:13.5px!important}
.rm-src span{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text2)}
.rm-src a{color:var(--link);text-decoration:none}.rm-src a:hover{text-decoration:underline}

@media(max-width:1180px){.rm-layers .cr-layer{grid-template-columns:200px minmax(0,1fr)}.rm-layers .rm-mv{grid-column:1/-1}}
@media(max-width:1060px){.rm-ws-head{display:none}.rm-row{grid-template-columns:1fr;gap:8px;padding:22px 24px 22px 30px}.rm-waves,.rm-bands{grid-template-columns:1fr}.rm-layers .cr-layer{grid-template-columns:1fr}.rm-mv{grid-template-columns:1fr;gap:14px}}
@media(max-width:700px){.rm-wave{padding:28px 22px 24px}.rm-wave h3{font-size:28px}.rm-band{padding:26px 22px}}
