/* ═══ Comparativa en movimiento · Crearte Match ═══
   Mapa del camino sobre la tabla: al elegir un paso, la tabla enseña
   qué se suma en ese paso y qué ya traías de los anteriores. */
.ruta{--navy:#0D1F35;--navy2:#16304f;--oro:#C8A96E;--oro-osc:#8A6A2E;--bronce:#A9813F;--verde:#2E9C82;--crema:#F5EFE4;
  background:var(--navy);color:var(--crema);border-radius:6px 6px 0 0;padding:26px 28px 0;margin-top:6px;position:relative;overflow:hidden;
  font-family:'DM Sans',system-ui,sans-serif}
.ruta *{box-sizing:border-box}
.ruta-fams{display:grid;grid-template-columns:var(--cols);gap:0;font-size:12.5px;color:rgba(245,239,228,.62);margin-bottom:12px}
.ruta-fams span{padding-left:2px}
.ruta-fams b{color:#fff;font-weight:700;margin-right:6px}
.ruta-fams .f-mes{border-left:1px dashed rgba(46,156,130,.55);padding-left:14px}
.ruta-scroll{overflow-x:auto;scrollbar-width:none;margin:0 -28px;padding:0 28px}
.ruta-scroll::-webkit-scrollbar{display:none}
.ruta-map{min-width:860px}
.ruta-main{display:grid;grid-template-columns:var(--cols);align-items:start;position:relative}
.ruta-line{position:absolute;top:21px;height:3px;background:rgba(245,239,228,.14);border-radius:3px}
.ruta-line i{position:absolute;inset:0;transform-origin:left;transform:scaleX(var(--p,0));background:linear-gradient(90deg,var(--bronce),var(--oro));border-radius:3px;transition:transform .7s cubic-bezier(.65,0,.35,1)}
.ruta-st{all:unset;cursor:pointer;display:flex;flex-direction:column;align-items:flex-start;gap:8px;position:relative;z-index:1;padding:0 10px 18px 0;border-radius:4px}
.ruta-st:focus-visible{outline:2px solid var(--oro);outline-offset:4px}
.ruta-dot{width:45px;height:45px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:15px;
  background:var(--navy);border:2px solid rgba(245,239,228,.28);color:rgba(245,239,228,.7);transition:background .35s,border-color .35s,color .35s,transform .35s,box-shadow .35s}
.ruta-st[data-fam="imp"] .ruta-dot{border-color:rgba(169,129,63,.6)}
.ruta-st.is-done .ruta-dot{background:var(--oro-osc);border-color:var(--oro-osc);color:#FFF8EC}
.ruta-st[data-fam="it"].is-done .ruta-dot{background:var(--oro);border-color:var(--oro);color:var(--navy)}
.ruta-st.is-sel .ruta-dot{transform:scale(1.14);box-shadow:0 0 0 6px rgba(200,169,110,.22)}
.ruta-st.is-sel[data-fam="imp"] .ruta-dot{box-shadow:0 0 0 6px rgba(169,129,63,.28)}
.ruta-nm{font-family:'Playfair Display',Georgia,serif;font-size:17px;line-height:1.2;color:#fff;font-weight:600;max-width:15ch}
.ruta-sb{font-size:12.5px;color:rgba(245,239,228,.6);line-height:1.35}
.ruta-st:not(.is-done):not(.is-sel) .ruta-nm{color:rgba(255,255,255,.62)}
.ruta-st:hover .ruta-dot{border-color:var(--oro)}
.ruta-st[data-fam="mes"]{padding-left:14px;border-left:1px dashed rgba(46,156,130,.55)}
.ruta-st[data-fam="mes"] .ruta-dot{border-color:rgba(46,156,130,.7);color:#8fd6c4;font-size:19px}
.ruta-st[data-fam="mes"].is-sel .ruta-dot{background:var(--verde);border-color:var(--verde);color:#fff;box-shadow:0 0 0 6px rgba(46,156,130,.25)}
.ruta-st[data-fam="mes"].is-sel .ruta-dot span{display:inline-block;animation:ruta-giro 1.6s ease-in-out}
/* Ramal: la otra ruta dentro de los Itinerarios */
.ruta-ramal{display:grid;grid-template-columns:var(--cols);margin-top:-4px;padding-bottom:20px}
.ruta-ramal-in{display:flex;align-items:flex-start;gap:12px;position:relative}
.ruta-ramal svg{flex:0 0 auto;margin-top:-30px;overflow:visible}
.ruta-ramal path{fill:none;stroke:rgba(245,239,228,.25);stroke-width:3;stroke-dasharray:6 6}
.ruta-ramal.is-on path{stroke:var(--oro);stroke-dasharray:240;stroke-dashoffset:240;animation:ruta-traza .8s .1s forwards cubic-bezier(.65,0,.35,1)}
.ruta-ramal .ruta-st{flex-direction:row;align-items:center;gap:14px;padding:0 12px 0 0}
.ruta-ramal .ruta-dot{border-style:dashed;border-color:rgba(200,169,110,.7);color:var(--oro)}
.ruta-ramal .ruta-st.is-sel .ruta-dot{border-style:solid;background:var(--oro);color:var(--navy)}
.ruta-ramal .ruta-nm{max-width:none}
.ruta-ramal-txt{display:flex;flex-direction:column;gap:3px}
.ruta-ramal-k{font-size:12px;font-weight:700;color:var(--oro)}
/* Panel: lo que sumas en este paso */
.ruta-panel{background:#fff;color:#2C2C2C;margin:0 -28px;padding:22px 28px 22px;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.6fr) auto;gap:22px 34px;align-items:center;border-bottom:1px solid #E7E1D6}
.ruta-paso{font-size:13px;font-weight:700;color:var(--oro-osc);margin:0 0 4px}
.ruta-suma{font-family:'Playfair Display',Georgia,serif;font-style:italic;font-size:clamp(24px,2.6vw,32px);line-height:1.15;color:var(--navy);margin:0}
.ruta-suma-sub{font-size:14px;color:#6B7280;margin:6px 0 0;line-height:1.5}
.ruta-adds{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:8px}
.ruta-adds-h{font-size:13px;font-weight:700;color:var(--navy);margin:0 0 10px}
.ruta-adds li{font-size:14px;line-height:1.3;padding:8px 12px 8px 30px;background:#FBF6EC;border:1px solid #EADBBE;border-radius:999px;position:relative;color:var(--navy);opacity:0;transform:translateY(8px);animation:ruta-in .45s forwards cubic-bezier(.2,.7,.3,1);animation-delay:calc(var(--i)*70ms + 120ms)}
.ruta-adds li::before{content:"+";position:absolute;left:12px;top:50%;transform:translateY(-52%);font-weight:700;color:var(--oro-osc)}
.ruta-adds li.is-base{background:#F4F6F8;border-color:#E3E7EC;color:#4B5563}
.ruta-adds li.is-base::before{content:"✓";color:#1B6B5A;font-size:12px}
.ruta-acc{margin:12px 0 0;font-size:13.5px;color:#6B7280}
.ruta-acc b{color:var(--navy)}
.ruta-bar{display:block;height:6px;border-radius:6px;background:#EFEAE0;margin-top:8px;max-width:340px;overflow:hidden}
.ruta-bar i{display:block;height:100%;width:var(--w,0%);background:linear-gradient(90deg,var(--bronce),var(--oro));border-radius:6px;transition:width .7s cubic-bezier(.65,0,.35,1)}
.ruta-side{display:flex;flex-direction:column;align-items:flex-end;gap:10px;text-align:right}
.ruta-pr{font-family:'Playfair Display',Georgia,serif;font-size:28px;font-weight:600;color:var(--navy);line-height:1.05}
.ruta-pr small{display:block;font-family:'DM Sans',system-ui,sans-serif;font-size:12px;font-weight:400;color:#6B7280;margin-top:4px}
.ruta-ver{display:inline-block;background:var(--navy);color:#fff!important;text-decoration:none;font-size:13.5px;font-weight:700;padding:11px 18px;border-radius:3px;white-space:nowrap}
.ruta-ver:hover{background:#1E3A5F}
.ruta-ctrl{display:flex;gap:6px;align-items:center}
.ruta-ctrl button{font:inherit;cursor:pointer;border:1px solid #D9CFBD;background:#fff;color:var(--navy);height:36px;min-width:36px;border-radius:3px;font-size:14px;font-weight:700;padding:0 12px}
.ruta-ctrl button:hover{border-color:var(--oro)}
.ruta-ctrl button:focus-visible{outline:2px solid var(--oro);outline-offset:2px}
.ruta-ctrl .ruta-play{background:var(--oro);border-color:var(--oro)}
.ruta-panel.is-swap .ruta-suma{animation:ruta-in .5s cubic-bezier(.2,.7,.3,1)}
/* La tabla responde al paso elegido */
#comparar .cmp-scroll{border-top:0;border-radius:0 0 6px 6px}
.lad [data-col]{transition:opacity .45s,background-color .45s}
.lad.has-sel tbody [data-col].is-later{opacity:.38}
.lad.has-sel thead [data-col].is-later>*{opacity:.42;transition:opacity .45s}
.lad.has-sel thead [data-col].is-sel{background:#16304f!important;box-shadow:inset 0 4px 0 #C8A96E}
.lad.has-sel thead th.etn[data-col].is-sel{background:#123F36!important;box-shadow:inset 0 4px 0 #2E9C82}
.lad.has-sel tbody td[data-col].is-sel{background:rgba(200,169,110,.13)}
.lad.has-sel tbody td.etn[data-col].is-sel{background:#E3F2EC!important}
.lad tbody td.is-pop{background:rgba(200,169,110,.30)!important}
.lad tbody td.is-pop .yes{display:inline-block;animation:ruta-pop .6s cubic-bezier(.3,1.6,.5,1)}
.lad tbody tr.is-row-new th{box-shadow:inset 4px 0 0 #C8A96E;color:#0D1F35}
.lad thead [data-col]{cursor:pointer}
@keyframes ruta-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes ruta-pop{0%{transform:scale(.3)}60%{transform:scale(1.5)}100%{transform:scale(1)}}
@keyframes ruta-traza{to{stroke-dashoffset:0}}
@keyframes ruta-giro{to{transform:rotate(360deg)}}
@media(max-width:900px){
  .ruta{padding:20px 18px 0}
  .ruta-scroll{margin:0 -18px;padding:0 18px}
  .ruta-panel{grid-template-columns:1fr;margin:0 -18px;padding:20px 18px;gap:16px}
  .ruta-side{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;text-align:left;width:100%}
}
@media(prefers-reduced-motion:reduce){
  .ruta *,.lad [data-col],.lad tbody td .yes{animation:none!important;transition:none!important}
  .ruta-adds li{opacity:1;transform:none}
  .ruta-ramal.is-on path{stroke-dasharray:none;stroke-dashoffset:0}
}
/* La primera columna (fija al desplazar) siempre por encima de las columnas atenuadas */
#comparar .lad tbody th{position:sticky;left:0;z-index:3;background:#FCFAF6}
#comparar .lad thead tr:last-child th:first-child{position:sticky;left:0;z-index:3;background:#0D1F35}
@media(max-width:700px){
  #comparar .lad col:first-child{width:118px!important}
  #comparar .lad tbody th,#comparar .lad thead tr:last-child th:first-child{width:118px!important;font-size:10.5px!important;padding:10px 10px!important}
  #comparar .lad tbody th small{display:none}
  .cmp table.lad,#comparar table.lad,table.lad{min-width:1180px!important}
}

/* Tabla plegada bajo el mapa */
.ruta-tabla{all:unset;box-sizing:border-box;cursor:pointer;display:flex;width:100%;align-items:center;justify-content:center;gap:10px;
  background:#fff;border:1px solid #E7E1D6;border-top:0;padding:15px 20px;font-family:'DM Sans',system-ui,sans-serif;font-size:14.5px;font-weight:700;color:#0D1F35}
.ruta-tabla:hover{background:#FBF6EC}
.ruta-tabla:focus-visible{outline:2px solid #C8A96E;outline-offset:-2px}
.ruta-tabla-ic{display:inline-block;transition:transform .3s;color:#8A6A2E}
.tabla-abierta .ruta-tabla-ic{transform:rotate(180deg)}
.tabla-plegada:not(.tabla-abierta) .cmp-scroll{display:none}
.tabla-plegada:not(.tabla-abierta) .ruta-tabla{border-radius:0 0 6px 6px}
#comparar{scroll-margin-top:90px}
.ruta{scroll-margin-top:110px}

.ruta-st{min-width:0}.ruta-nm,.ruta-sb{overflow-wrap:anywhere}

.ruta-q{font-size:13px;line-height:1.45;color:rgba(245,239,228,.86);max-width:24ch}
.ruta-st:not(.is-done):not(.is-sel) .ruta-q{color:rgba(245,239,228,.6)}
.ruta-st.is-sel .ruta-q{color:#fff}
.ruta-ramal .ruta-q{max-width:46ch}
.ruta-suma-que{display:block;font-size:15.5px;line-height:1.5;color:#0D1F35;font-weight:600;margin:4px 0 8px}

/* ═══ Mapa en órbita ═══ */
.ruta--orb{padding:18px 20px 0}
.orb{position:relative;width:100%;height:700px}
.orb-svg{position:absolute;inset:0;overflow:visible}
.orb-track{fill:none;stroke:rgba(245,239,228,.10);stroke-width:2}
.orb-arc-bg{fill:none;stroke:rgba(245,239,228,.18);stroke-width:3;stroke-linecap:round}
.orb-arc{fill:none;stroke:url(#none);stroke:#C8A96E;stroke-width:4;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset .8s cubic-bezier(.65,0,.35,1)}
.orb-ram{fill:none;stroke:rgba(200,169,110,.45);stroke-width:3;stroke-dasharray:.012 .012;transition:stroke .4s}
.orb-ram.is-on{stroke:#C8A96E}
.orb-link{fill:none;stroke:#C8A96E;stroke-width:2;stroke-dasharray:1;stroke-dashoffset:1;opacity:.9}
.orb-link.is-draw{animation:orb-draw .6s .15s forwards cubic-bezier(.65,0,.35,1)}
@keyframes orb-draw{to{stroke-dashoffset:0}}
/* Centro */
.orb-hub{position:absolute;border-radius:50%;overflow:hidden;display:grid;grid-template-columns:1fr 1fr;box-shadow:0 0 0 8px rgba(245,239,228,.05),0 0 0 1px rgba(200,169,110,.5);z-index:1}
.orb-half{all:unset;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;justify-content:center;gap:6px;padding:0 10px;text-align:center;transition:background .45s,color .45s}
.orb-half b{font-family:'Playfair Display',Georgia,serif;font-size:15px;line-height:1.15;font-weight:600;hyphens:auto}
.orb-half span{font-size:11.5px;line-height:1.3;opacity:.8}
.orb-emp{background:#1c2f47;color:rgba(245,239,228,.75);padding-left:16px;border-right:1px solid rgba(200,169,110,.35)}
.orb-mon{background:#1c2f47;color:rgba(245,239,228,.75);padding-right:16px}
.orb-emp.is-on{background:#8A6A2E;color:#FFF8EC}
.orb-mon.is-on{background:#C8A96E;color:#0D1F35}
.orb-half:focus-visible{outline:2px solid #fff;outline-offset:-4px}
/* Paradas */
.orb-st{position:absolute;width:0;height:0;padding:0;z-index:2;display:block}
.orb-st .ruta-dot{position:absolute;left:0;top:0;transform:translate(-50%,-50%)}
.orb-st.is-sel .ruta-dot{transform:translate(-50%,-50%) scale(1.14)}
.orb-lab{position:absolute;display:flex;flex-direction:column;gap:3px;width:220px}
.orb-st[data-pos="left"] .orb-lab{right:34px;top:0;transform:translateY(-30%);text-align:right;align-items:flex-end}
.orb-st[data-pos="right"] .orb-lab{left:34px;top:0;transform:translateY(-30%)}
.orb-st[data-pos="top"] .orb-lab{left:0;bottom:32px;transform:translateX(-50%);text-align:center;align-items:center;width:300px}
.orb-st[data-pos="bottom"] .orb-lab{left:0;top:32px;transform:translateX(-50%);text-align:center;align-items:center;width:300px}
.orb-st .ruta-nm{max-width:none}
.orb-st .ruta-q{max-width:none}
.orb-k{font-size:12px;font-weight:700;color:#C8A96E}
.orb-st[data-fam="mes"] .orb-k{color:#8fd6c4}
.orb-st[data-fam="mes"]{padding:0;border:0}
.orb-st[data-fam="it"]:not([data-side="emp"]) .ruta-dot{border-color:rgba(200,169,110,.7)}
.orb-st[data-k] .ruta-dot{box-sizing:border-box}
.ruta--orb .ruta-panel{margin:6px -20px 0}
/* Móvil: solo nombres alrededor; el detalle va en el panel */
.orb.is-m .ruta-q,.orb.is-m .ruta-sb,.orb.is-m .orb-k{display:none}
.orb.is-m .ruta-dot{width:36px;height:36px;font-size:13px}
.orb.is-m .orb-lab{width:96px}
.orb.is-m .orb-st[data-pos="top"] .orb-lab{bottom:24px;width:120px}
.orb.is-m .orb-st[data-pos="bottom"] .orb-lab{top:24px}
.orb.is-m .ruta-nm{font-size:12.5px;line-height:1.2}
.orb.is-m .orb-half b{font-size:11.5px}
.orb.is-m .orb-half span{display:none}
.orb.is-m .orb-half{padding:0 5px}
.orb.is-m .orb-emp{padding-left:8px}.orb.is-m .orb-mon{padding-right:8px}
@media(prefers-reduced-motion:reduce){.orb-arc,.orb-half{transition:none}.orb-link.is-draw{animation:none;stroke-dashoffset:0}}

.orb-half b small{font-size:inherit;font-weight:inherit}
@media(max-width:900px){.ruta--orb{padding:12px 10px 0}.ruta--orb .ruta-panel{margin:6px -10px 0}}
/* En móvil la órbita solo muestra los puntos; el nombre y el detalle van en el panel */
.orb.is-m .orb-lab{display:none}
.orb.is-m .orb-half b{font-size:12px}
.orb.is-m .orb-half b small{display:block;font-size:9.5px;font-weight:400;margin-top:2px}
.orb.is-m .orb-half span{display:none}
.orb-st:focus-visible{outline:none}.orb-st:focus-visible .ruta-dot{outline:2px solid #fff;outline-offset:4px}

/* ═══ Panel didáctico ═══ */
.rp{grid-template-columns:minmax(0,1.15fr) minmax(0,1.25fr) minmax(220px,.8fr)!important;align-items:start!important;gap:26px 36px!important;padding-top:26px!important;padding-bottom:26px!important}
.rp .ruta-paso{margin:0 0 6px;font-size:12.5px}
.rp-name{font-family:'Playfair Display',Georgia,serif;font-size:clamp(22px,2.2vw,28px);line-height:1.15;color:#0D1F35;margin:0 0 4px;font-weight:600}
.rp .ruta-suma{font-size:19px!important;color:#8A6A2E;margin:0 0 16px}
.rp-blk{padding:12px 0;border-top:1px solid #EFEAE0}
.rp-h{font-size:12.5px;font-weight:700;color:#8A6A2E;margin:0 0 6px}
.rp-para{margin:0;font-size:15.5px;line-height:1.5;color:#2C2C2C}
.rp-que{margin:0;font-size:16px;line-height:1.5;color:#0D1F35;font-weight:600}
.rp-b .ruta-adds{margin-bottom:14px}
.rp-base-w[hidden]{display:none}
.rp-base li{font-size:13px;padding:6px 11px 6px 26px}
.rp-facts{margin:0 0 14px;padding:0;display:grid;gap:10px;width:100%}
.rp-facts div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #EFEAE0;padding-bottom:8px}
.rp-facts dt{font-size:12.5px;font-weight:700;color:#6B7280;margin:0}
.rp-facts dd{margin:0;font-size:14px;color:#0D1F35;font-weight:600;text-align:right}
.rp-c{align-items:stretch!important;text-align:left!important}
.rp-c .ruta-pr{text-align:left}
.rp-c .ruta-ver{text-align:center;white-space:normal}
.rp-next{all:unset;box-sizing:border-box;cursor:pointer;font-size:13.5px;font-weight:700;color:#8A6A2E;text-decoration:underline;text-underline-offset:3px;line-height:1.4}
.rp-next[hidden]{display:none}
.rp-next:hover{color:#0D1F35}
.rp-next:focus-visible{outline:2px solid #C8A96E;outline-offset:2px}
.rp-c .ruta-ctrl{margin-top:4px}
@media(max-width:900px){.rp{grid-template-columns:1fr!important;gap:18px!important}.rp-c{flex-direction:column!important}}

/* ═══ Comparativa visual (sustituye a la tabla a la vista) ═══ */
.tabla-oculta .cmp-scroll{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0!important;padding:0!important}
.chx{--imp:#A9813F;--it:#C8A96E;--navy:#0D1F35;background:#fff;border:1px solid #E7E1D6;border-top:0;border-radius:0 0 6px 6px;padding:30px 28px 28px;font-family:'DM Sans',system-ui,sans-serif}
.chx-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:10px 30px;margin-bottom:22px}
.chx-t{font-family:'Playfair Display',Georgia,serif;font-size:clamp(22px,2.4vw,28px);color:var(--navy);margin:0;font-weight:600;flex:1 1 100%}
.chx-p{margin:0;font-size:15px;line-height:1.5;color:#555;max-width:60ch;flex:1 1 380px}
.chx-leg{margin:0;display:flex;flex-wrap:wrap;gap:6px 18px;font-size:13px;color:#4B5563}
.chx-leg span{display:inline-flex;align-items:center;gap:7px}
.chx-leg span::before{content:"";display:inline-block;width:22px;height:8px;border-radius:8px}
.chx-leg .lg-imp::before{background:var(--imp)}
.chx-leg .lg-it::before{background:var(--it)}
.chx-leg .lg-dot::before{width:10px;height:10px;border-radius:50%;background:var(--navy)}
.chx-scroll{overflow-x:auto}
.chx-grid{display:grid;grid-template-columns:minmax(170px,1.7fr) repeat(5,minmax(70px,1fr)) minmax(80px,1fr) minmax(80px,1fr);position:relative;min-width:760px}
.chx-fam{font-size:12px;font-weight:700;color:#8A6A2E;padding:0 6px 8px;border-bottom:2px solid var(--imp);margin:0 4px}
.chx-fam-it{border-color:var(--it)}
.chx-fam-x{border-color:var(--navy);color:var(--navy);margin-left:14px}
.chx-fam-m{border-color:#2E9C82;color:#1B6B5A}
.chx-col{all:unset;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 4px 14px;text-align:center;position:relative;z-index:2}
.chx-col:focus-visible .chx-dot{outline:2px solid var(--navy);outline-offset:3px}
.chx-dot{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:700;background:#fff;border:2px solid var(--imp);color:var(--imp);transition:transform .3s,background .3s,color .3s}
.chx-col[data-fam="it"] .chx-dot{border-color:var(--it);color:#8A6A2E}
.chx-col[data-k][data-fam="it"]:nth-last-child(n) .chx-dot{}
.chx-col[data-fam="mes"] .chx-dot{border-color:#2E9C82;color:#1B6B5A}
.chx-col:hover .chx-dot{transform:scale(1.08)}
.chx-col.is-sel .chx-dot{background:var(--navy);border-color:var(--navy);color:#fff;transform:scale(1.12)}
.chx-nm{font-family:'Playfair Display',Georgia,serif;font-size:14px;line-height:1.2;color:var(--navy)}
.chx-sel{background:rgba(200,169,110,.13);border-radius:10px;z-index:0;transition:grid-column .3s}
.chx-sel[data-fam="mes"]{background:rgba(46,156,130,.10)}
.chx-rowbg{grid-column:1 / -1;border-top:1px solid #F1ECE3;z-index:0}
.chx-lab{grid-column:1;font-size:13.5px;line-height:1.35;color:#2C2C2C;padding:11px 14px 11px 0;z-index:1;align-self:center}
.chx-bar{align-self:center;height:12px;margin:0 8px;position:relative;z-index:1}
.chx-bar i{position:absolute;inset:0;border-radius:12px;transform-origin:left;transform:scaleX(0);transition:transform .7s cubic-bezier(.65,0,.35,1);transition-delay:var(--d)}
.chx-imp i{background:linear-gradient(90deg,var(--imp),#C8A96E)}
.chx-it i{background:var(--it)}
.chx-bar i::before{content:"";position:absolute;left:-4px;top:50%;width:18px;height:18px;margin-top:-9px;border-radius:50%;background:inherit;box-shadow:0 0 0 3px #fff}
.chx-imp i::before{background:var(--imp)}
.chx.is-in .chx-bar i{transform:scaleX(1)}
.chx-pt{align-self:center;justify-self:center;width:14px;height:14px;position:relative;z-index:1}
.chx-pt i{position:absolute;inset:0;border-radius:50%;border:1.5px solid #D9D3C7;transform:scale(.4);opacity:0;transition:transform .45s cubic-bezier(.3,1.5,.5,1),opacity .3s;transition-delay:var(--d)}
.chx-pt.is-on i{background:var(--navy);border-color:var(--navy)}
.chx-pt-m.is-on i{background:#2E9C82;border-color:#2E9C82}
.chx.is-in .chx-pt i{transform:scale(1);opacity:1}
.chx-pt.is-on{cursor:help}
.chx-lab-pr{font-weight:700;color:var(--navy);border-top:2px solid #E7E1D6;padding-top:16px}
.chx-pr{display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px 4px 4px;border-top:2px solid #E7E1D6;text-decoration:none;font-family:'Playfair Display',Georgia,serif;font-size:17px;font-weight:600;color:var(--navy);text-align:center;z-index:1}
.chx-pr span{font-family:'DM Sans',system-ui,sans-serif;font-size:12px;font-weight:700;color:#8A6A2E;text-decoration:underline;text-underline-offset:3px}
.chx-pr [data-p]{font-family:inherit}
.chx-pr:hover span{color:var(--navy)}
@media(max-width:700px){
  .chx{padding:22px 12px 20px}
  .chx-grid{grid-template-columns:minmax(118px,1.6fr) repeat(7,minmax(30px,1fr));min-width:0}
  .chx-nm,.chx-fam span{display:none}
  .chx-fam{padding:0;margin:0 2px 6px}
  .chx-dot{width:26px;height:26px;font-size:12px}
  .chx-lab{font-size:12px;padding:9px 8px 9px 0}
  .chx-bar{height:8px;margin:0 6px}
  .chx-bar i::before{width:12px;height:12px;margin-top:-6px;left:-3px}
  .chx-pt{width:11px;height:11px}
  .chx-pr{font-size:11.5px;padding-top:12px}
  .chx-pr span{font-size:10.5px}
}
@media(prefers-reduced-motion:reduce){.chx-bar i,.chx-pt i{transition:none}}
.chx-pr [data-p],.chx-pr [data-p] *{font-size:inherit!important;font-family:inherit!important;color:inherit!important;font-weight:inherit!important}
.chx-prv{font-weight:600}.chx-pr-m{display:none}
@media(max-width:700px){.chx-prv,.chx-pr-d{display:none}.chx-pr-m{display:inline}}
.chx-prv,.chx-prv *{text-decoration:none!important;border:0!important;background:none!important}

/* ═══════════ Paleta luminosa (v3) ═══════════
   Empleabilidad = azul intenso · Monetización = oro ámbar · Cada mes = verde azulado
   Fondo claro y cálido: la órbita respira y los colores ganan fuerza. */
.ruta--orb,.chx{--e:#1F5FBF;--e2:#4A8BE8;--m:#E0A526;--m2:#F4C65A;--mo:#8F6400;--t:#13917A;--ink:#0D1F35;--soft:#5B6475}
.ruta--orb{background:radial-gradient(ellipse 60% 70% at 50% 46%,#FFFFFF 0%,#FBF6EC 55%,#F3EADB 100%);color:var(--ink);border:1px solid #EADFCB;border-bottom:0}
.ruta--orb .orb-track{stroke:rgba(13,31,53,.10);stroke-width:2}
.ruta--orb .orb-arc-bg{stroke:rgba(13,31,53,.14);stroke-width:4}
.ruta--orb .orb-arc{stroke:url(#orbGrad);stroke-width:6}
.ruta--orb .orb-ram{stroke:rgba(224,165,38,.55);stroke-width:4}
.ruta--orb .orb-ram.is-on{stroke:var(--m)}
.ruta--orb .orb-link{stroke:var(--ink);stroke-width:2.5;opacity:.55}
/* Centro */
.ruta--orb .orb-hub{box-shadow:0 0 0 10px rgba(255,255,255,.85),0 18px 40px rgba(13,31,53,.18)}
.ruta--orb .orb-emp{background:#E6EEFA;color:var(--e);border-right:2px solid #fff}
.ruta--orb .orb-mon{background:#FBF0D5;color:var(--mo)}
.ruta--orb .orb-emp.is-on{background:linear-gradient(160deg,var(--e2),var(--e));color:#fff}
.ruta--orb .orb-mon.is-on{background:linear-gradient(160deg,var(--m2),var(--m));color:var(--ink)}
.ruta--orb .orb-half span{opacity:.9}
/* Paradas */
.ruta--orb .ruta-dot{background:#fff;border:3px solid #D5DCE6;color:var(--soft);box-shadow:0 4px 12px rgba(13,31,53,.10)}
.ruta--orb .orb-st[data-side="emp"] .ruta-dot{border-color:var(--e);color:var(--e)}
.ruta--orb .orb-st[data-side="both"]:not([data-fam="mes"]) .ruta-dot{border-color:var(--e);color:var(--e);box-shadow:4px 0 0 -1px var(--m),0 4px 12px rgba(13,31,53,.10)}
.ruta--orb .orb-st[data-side="mon"] .ruta-dot{border-color:var(--m);color:var(--mo)}
.ruta--orb .orb-st[data-fam="mes"] .ruta-dot{border-color:var(--t);color:var(--t)}
.ruta--orb .orb-st.is-done[data-side="emp"] .ruta-dot{background:var(--e);color:#fff}
.ruta--orb .orb-st.is-done[data-side="both"]:not([data-fam="mes"]) .ruta-dot{background:linear-gradient(90deg,var(--e) 50%,var(--m) 50%);border-color:transparent;color:#fff;box-shadow:0 4px 12px rgba(13,31,53,.15)}
.ruta--orb .orb-st.is-done[data-side="mon"] .ruta-dot{background:var(--m);color:var(--ink)}
.ruta--orb .orb-st[data-fam="mes"].is-sel .ruta-dot{background:var(--t);color:#fff}
.ruta--orb .orb-st.is-sel .ruta-dot{box-shadow:0 0 0 7px rgba(31,95,191,.16),0 8px 20px rgba(13,31,53,.2)}
.ruta--orb .orb-st.is-sel[data-side="mon"] .ruta-dot{box-shadow:0 0 0 7px rgba(224,165,38,.22),0 8px 20px rgba(13,31,53,.2)}
.ruta--orb .orb-st.is-sel[data-fam="mes"] .ruta-dot{box-shadow:0 0 0 7px rgba(19,145,122,.18),0 8px 20px rgba(13,31,53,.2)}
.ruta--orb .ruta-nm{color:var(--ink)}
.ruta--orb .ruta-st:not(.is-done):not(.is-sel) .ruta-nm{color:#3B4658}
.ruta--orb .ruta-q,.ruta--orb .ruta-st:not(.is-done):not(.is-sel) .ruta-q{color:#4B5563}
.ruta--orb .ruta-st.is-sel .ruta-q{color:var(--ink)}
.ruta--orb .ruta-sb{color:#7A8494}
.ruta--orb .orb-k{color:var(--mo)}
.ruta--orb .orb-st.is-sel .ruta-nm{color:var(--e)}
.ruta--orb .orb-st.is-sel[data-side="mon"] .ruta-nm{color:var(--mo)}
.ruta--orb .orb-st.is-sel[data-fam="mes"] .ruta-nm{color:var(--t)}
.ruta--orb .orb-st:focus-visible .ruta-dot{outline-color:var(--ink)}
/* Panel: el rótulo toma el color de su lado */
.ruta--orb .ruta-panel{border-top:1px solid #EADFCB}
.ruta--orb[data-side="emp"] .ruta-paso{color:var(--e)}
.ruta--orb[data-side="mon"] .ruta-paso{color:var(--mo)}
.ruta--orb[data-side="both"] .ruta-paso{background:linear-gradient(90deg,var(--e),var(--mo));-webkit-background-clip:text;background-clip:text;color:transparent}
.ruta--orb .rp .ruta-suma{color:var(--mo)}
.ruta--orb[data-side="emp"] .rp .ruta-suma{color:var(--e)}
.ruta--orb .ruta-adds li:not(.is-base){background:#FFF6E0;border-color:#F0D9A2}
.ruta--orb[data-side="emp"] .ruta-adds li:not(.is-base){background:#EAF1FC;border-color:#C7D8F3}
.ruta--orb[data-side="emp"] .ruta-adds li:not(.is-base)::before{color:var(--e)}
.ruta--orb .ruta-ctrl .ruta-play{background:var(--m);border-color:var(--m);color:var(--ink)}
.ruta--orb .ruta-ver{background:var(--ink)}
.ruta--orb[data-side="emp"] .ruta-ver{background:var(--e)}
.ruta--orb[data-side="emp"] .ruta-ver:hover{background:#174C99}
.ruta--orb .rp-next{color:var(--mo)}
.ruta--orb[data-side="emp"] .rp-next{color:var(--e)}
/* Gráfico de evolución */
.chx{border-color:#EADFCB}
.chx-fam{border-bottom-color:var(--e);color:var(--e)}
.chx-fam-it{border-bottom-color:var(--m);color:var(--mo)}
.chx-fam-x{border-bottom-color:var(--m);color:var(--mo)}
.chx-fam-m{border-bottom-color:var(--t);color:var(--t)}
.chx-dot{border-width:2.5px;border-color:var(--e);color:var(--e)}
.chx-col[data-side="both"] .chx-dot{border-color:var(--e);color:var(--e)}
.chx-col[data-side="mon"] .chx-dot{border-color:var(--m);color:var(--mo)}
.chx-col[data-fam="mes"] .chx-dot{border-color:var(--t);color:var(--t)}
.chx-col.is-sel .chx-dot{background:var(--e);border-color:var(--e);color:#fff}
.chx-col.is-sel[data-side="mon"] .chx-dot{background:var(--m);border-color:var(--m);color:var(--ink)}
.chx-col.is-sel[data-fam="mes"] .chx-dot{background:var(--t);border-color:var(--t);color:#fff}
.chx-sel{background:rgba(31,95,191,.07)}
.chx-sel[data-fam="it"]{background:rgba(224,165,38,.12)}
.chx-sel[data-fam="mes"]{background:rgba(19,145,122,.09)}
.chx-imp i{background:linear-gradient(90deg,var(--e) 0%,var(--e2) 55%,var(--m2) 100%)}
.chx-imp i::before{background:var(--e)}
.chx-it i{background:linear-gradient(90deg,var(--m),var(--m2))}
.chx-it i::before{background:var(--m)}
.chx-bar{height:14px}
.chx-pt.is-on i{background:var(--m);border-color:var(--m)}
.chx-pt-m.is-on i{background:var(--t);border-color:var(--t)}
.chx-leg .lg-imp::before{background:linear-gradient(90deg,var(--e),var(--e2))}
.chx-leg .lg-it::before{background:var(--m)}
.chx-leg .lg-dot::before{background:var(--m)}
.chx-pr span{color:var(--e)}
@media(max-width:700px){.chx-bar{height:9px}}
.chx-imp i{background:linear-gradient(90deg,var(--e) 0%,var(--e2) calc(var(--cut) - 3%),var(--m) calc(var(--cut) + 3%),var(--m2) 100%)}
.chx-legend-note{}
