/* Módulo protagonista (perfil narrativa): línea del tiempo */
.hero{margin:1.6em 0 0;padding:clamp(20px,4vw,32px) 0;border-top:1px solid var(--tertiary);border-bottom:1px solid var(--tertiary)}
.hero h2.hero-t{font-size:var(--fs-small);font-weight:600;letter-spacing:0;margin:0 0 14px;color:var(--secondary);text-transform:none}
.bar{display:flex;height:14px;border-radius:999px;overflow:hidden;gap:2px;margin:0 0 6px}
.bar span{display:block}
.bar-x span{position:absolute;top:0}
.bar-x span:nth-child(2){transform:translateX(-50%)}
.bar-x span:last-child{right:0}
.bar-x{position:relative;height:1.4em;font-size:13px;color:var(--secondary);font-variant-numeric:tabular-nums;margin:0 0 18px}
.etapas{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.etapas li{display:grid;grid-template-columns:14px 104px minmax(0,1fr);gap:12px;align-items:baseline;padding:8px 0;border-top:1px solid var(--quaternary);max-width:none}
.etapas li:first-child{border-top:0}
.etapas i{width:12px;height:12px;border-radius:3px;display:block;align-self:start;margin-top:5px}
.etapas .y{font-variant-numeric:tabular-nums;font-weight:600;font-size:15px}
.etapas b{font-weight:600}
.etapas small{display:block;color:var(--secondary);font-size:14px}
@media (max-width:480px){ .etapas li{grid-template-columns:12px 86px minmax(0,1fr);gap:10px} .etapas .y{font-size:14px} }
.c1{background:#c9c8ff}.c2{background:#9f9eff}.c3{background:#5857ff}.c4{background:#8a8a8a}.c5{background:#3a3a3a}
.hero .more{margin-top:14px}
.chg{color:var(--primary);text-decoration:none;font-weight:500}
.toc summary{font-weight:600;cursor:pointer}
.more{font-size:var(--fs-small);margin:1em 0 0}
.more a{color:var(--primary)}
.hitos{list-style:none;padding:0;margin:1.2em 0;border-left:2px solid var(--primary)}
.hitos li{padding:0 0 .8em 1.1em;position:relative;max-width:none}
.hitos li b{font-variant-numeric:tabular-nums}
.grupos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:1.2em 0}
.grupos div{background:var(--quaternary);border-radius:12px;padding:14px 16px}
.grupos b{display:block;font-weight:600}
.grupos p{margin:.3em 0 0;font-size:var(--fs-small)}
@media (max-width:560px){ .grupos{grid-template-columns:1fr} }
.claves{background:var(--quaternary);border-radius:16px;padding:clamp(20px,4vw,32px)}
.claves h2{margin-top:0}
.claves ol{padding-left:1.2em;margin:0}
.claves li{margin:.5em 0}
.palabras{display:flex;flex-wrap:wrap;gap:8px;padding:0;list-style:none}
.palabras li{border:1px solid var(--tertiary);border-radius:999px;padding:4px 14px;font-size:var(--fs-small)}
.repaso details{border-top:1px solid var(--tertiary)}
.repaso details:last-child{border-bottom:1px solid var(--tertiary)}
.repaso summary{cursor:pointer;padding:16px 0;font-weight:500;list-style:none;display:flex;justify-content:space-between;gap:16px}
.repaso summary::-webkit-details-marker{display:none}
.repaso summary::after{content:"Ver respuesta";color:var(--primary);font-size:14px;white-space:nowrap;font-weight:500}
.repaso details[open] summary::after{content:"Ocultar"}
.repaso details p{margin:0 0 16px;color:var(--fg)}
#docentes{margin-top:1em}
