/* SMG Consultoría - Recorrido deploy smgconsultoria V1.0 */
/* Estilos propios de la página de Gobernanza */
.hero h1{font-size:clamp(3rem,7.5vw,5.5rem);color:#fff;letter-spacing:-.01em;margin-bottom:18px}
.hero h1 em{font-style:normal;color:var(--gris);display:block}
.hero .linea-clave{font-size:clamp(1.3rem,2.6vw,2rem);font-weight:600;color:#fff;max-width:820px;line-height:1.3}
.miga{font-size:.85rem;color:var(--gris);margin-bottom:22px;display:block}
.miga a:hover{color:#fff}
.preguntas{overflow:visible;height:300vh;background:linear-gradient(180deg,var(--profundo) 0,var(--azul) 12%,var(--blanco) 30%)}
.preguntas .fijo{position:sticky;top:0;height:100vh;display:flex;align-items:center;color:var(--tinta)}
.preguntas .kicker{color:var(--resalte)}
.preguntas ol{list-style:none}
.preguntas li{font-size:clamp(1.4rem,3.2vw,2.4rem);font-weight:600;color:var(--profundo);line-height:1.25;margin-bottom:20px;opacity:0;transform:translateX(-24px);transition:opacity .5s,transform .5s}
.preguntas li.on{opacity:1;transform:none}
.preguntas .remate{font-size:clamp(1.2rem,2.2vw,1.6rem);font-weight:600;color:var(--profundo);max-width:760px;margin-top:24px;padding-left:22px;border-left:4px solid var(--ambar);opacity:0;transition:opacity .6s}
.preguntas .remate.on{opacity:1}
.sombra-box{position:relative;border-radius:22px;overflow:hidden}
.sombra-box img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
/* Niebla clara (F5 translúcido y desenfocado) que cubre la foto salvo donde está la luz */
.sombra-box .velo{position:absolute;inset:0;pointer-events:none;--r1:90px;--r2:190px;background:rgba(245,245,245,.84);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);
 -webkit-mask-image:radial-gradient(circle at var(--x,50%) var(--y,50%),transparent 0,transparent var(--r1),#000 var(--r2));mask-image:radial-gradient(circle at var(--x,50%) var(--y,50%),transparent 0,transparent var(--r1),#000 var(--r2))}
.sombra-box .pista{position:absolute;left:18px;bottom:14px;z-index:2;font-size:.82rem;color:var(--profundo);opacity:.9;transition:opacity .4s}
.sombra-box.usado .pista{opacity:0}
/* Celular y tableta: sin cursor, la luz la mueve el scroll; sin indicación */
@media (hover:none){.sombra-box .pista{display:none}.sombra-box .velo{--r1:70px;--r2:150px}}
@media (prefers-reduced-motion:reduce){.sombra-box .velo{--r1:200px;--r2:340px}}
.sombra-box .tag{position:absolute;left:18px;top:16px;color:var(--profundo);font-weight:700;letter-spacing:.04em;z-index:2}
.sistema .dos{grid-template-columns:1.2fr .8fr}
.sistema .lead{max-width:none}
.definicion{font-size:1rem;color:var(--gris-claro);border-left:2px solid var(--primario);padding-left:18px;margin-top:22px}
.cita-auto{margin-top:26px;font-size:1.15rem;color:#fff;font-weight:600}
.red{width:100%;max-width:560px;margin-inline:auto;display:block}
.red .linea{stroke:rgba(224,226,225,.35);stroke-width:1.5;stroke-dasharray:240;stroke-dashoffset:240;transition:stroke-dashoffset 1.4s ease,stroke .3s}
.red.on .linea{stroke-dashoffset:0}
.red .nodo{cursor:pointer;opacity:0;transition:opacity .6s}
.red.on .nodo{opacity:1}
.red .nodo circle{fill:var(--azul);stroke:var(--gris-claro);stroke-width:1.5;transition:fill .3s,r .3s}
.red .nodo text{fill:#fff;font-size:15px;font-weight:600;text-anchor:middle;pointer-events:none}
.red .nodo:hover circle,.red .nodo:focus circle,.red .nodo.act circle{fill:var(--primario);r:52}
.red .centro circle.base{fill:var(--gris-claro)}
.red .centro text{fill:var(--profundo);font-size:16px;font-weight:700;text-anchor:middle}
.red .onda{fill:none;stroke:var(--gris-claro);stroke-width:1.5;opacity:0}
.red.on .onda{animation:onda 3s ease-out infinite;transform-box:fill-box;transform-origin:center}
.red.on .onda.o2{animation-delay:1.5s}
/* Las ondas llegan hasta cubrir los círculos de las áreas */
@keyframes onda{0%{opacity:.6;transform:scale(1)}75%{opacity:.25}100%{opacity:0;transform:scale(3.7)}}
.red .pulso{fill:var(--ambar);opacity:0}.red.on .pulso{opacity:1}
.red-info{min-height:52px;margin-top:10px;text-align:center;color:#fff;font-weight:600;font-size:1.05rem}
.red-info small{display:block;color:var(--gris);font-weight:300;font-size:.85rem}
.capas{overflow:visible;overflow-x:clip}
.capas-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}
/* La pila se centra en el área visible bajo el encabezado y baja un poco para compensar la altura que gana al apilarse */
.capas .escena{position:sticky;top:0;height:100vh;padding-top:70px}
.capas .pila{translate:0 30px}
/* Último paso: el texto arranca a la altura del vértice superior de la pila */
@media (min-width:861px){.paso[data-paso="4"]{padding-bottom:140px}}
.paso{min-height:92vh;display:flex;flex-direction:column;justify-content:center;padding:60px 0}
.paso .num{text-transform:uppercase;font-size:.85rem;color:var(--resalte);letter-spacing:.1em;font-weight:600}
.paso h3{font-size:clamp(1.8rem,3.4vw,2.6rem);margin:8px 0 6px}
.paso .sub{color:var(--resalte);font-weight:600;font-size:1.1rem;margin-bottom:20px}
.paso .cita{font-size:clamp(1.15rem,2vw,1.45rem);color:var(--profundo);font-weight:400;line-height:1.45;max-width:520px}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.chips span{border:1px solid var(--primario);border-radius:999px;padding:8px 16px;font-size:.92rem;color:var(--profundo);background:var(--blanco)}
.paso .cierre{margin-top:20px;color:var(--profundo);font-weight:600;border-left:4px solid var(--ambar);padding-left:14px}
.paso .contenido{opacity:.25;transform:translateY(30px);transition:opacity .8s,transform .8s}
.paso.activo .contenido{opacity:1;transform:none}
.nos{list-style:none;margin-top:36px}
/* El remate de cada frase es lo que se destaca; el comienzo queda atenuado */
.nos li{font-size:clamp(1.5rem,3.4vw,2.5rem);font-weight:700;color:rgba(224,226,225,.62);padding:16px 0;border-bottom:1px solid rgba(224,226,225,.18)}
.nos li em{font-style:normal;color:#fff}
.frase-final{font-size:clamp(2rem,5vw,3.6rem);font-weight:700;color:#fff;line-height:1.1;margin:0 auto 18px;max-width:880px}
.volver{display:inline-block;margin-top:26px;color:#fff;opacity:.85}
@media (max-width:860px){
 .capas-grid,.sistema .dos{grid-template-columns:1fr;gap:20px}
 .capas .escena{top:60px;height:34vh;padding-top:0;z-index:3;background:linear-gradient(180deg,var(--gris-claro) 80%,rgba(224,226,225,0))}
 .capas .pila{translate:none}
 .pila{width:min(46vw,200px)} .plano span{font-size:1.8rem}
 .paso{min-height:75vh;padding:50px 0 40px}
}
/* Secuencia de fondos V1.5 (alternancia de tonos, sin cambiar el orden):
   IA en las sombras pasa a celeste primario; Qué cambia, a azul profundo; La diferencia, a claro. */
/* Qué cambia sobre oscuro: tarjetas blancas con sus textos en los colores de lectura sobre claro */
.t-osc .tarjeta{background:var(--blanco);color:var(--tinta)}
.t-osc .tarjeta h3{color:var(--profundo)}
/* La diferencia sobre claro: el remate de cada frase en azul profundo, el comienzo atenuado */
.diferencia .nos li{color:rgba(0,58,106,.55);border-bottom-color:rgba(0,58,106,.15)}
.diferencia .nos li em{color:var(--profundo)}
/* Centro del gráfico: al hacer clic envía señales a todas las áreas */
.red .centro{cursor:pointer}
.red .centro:hover circle.base,.red .centro:focus circle.base{fill:var(--blanco)}
.red .senal{fill:var(--ambar)}
/* IA en las sombras sobre celeste: el degradé va del tono más profundo (lado del texto) al primario (lado de la foto), para que el texto blanco tenga contraste suficiente */
.t-prim.sombras{background:linear-gradient(135deg,var(--resalte),var(--primario))}
/* La diferencia: el pie ocupa el ancho de las frases, en una sola línea en escritorio */
.diferencia .lead{max-width:none}
.preguntas .kicker{opacity:0;transition:opacity .5s}.preguntas .kicker.on{opacity:1}
/* Indicación del gráfico según el dispositivo: mouse en computadora, toque en celular y tableta */
.red-info .con-tacto{display:none}
@media (hover:none){.red-info .con-mouse{display:none}.red-info .con-tacto{display:inline}}
/* Celular: la pila baja y gana alto para no quedar tapada por el encabezado al apilarse */
@media (max-width:860px){.capas .escena{height:42vh}.capas .pila{translate:0 56px}.capas .paso{padding-top:90px}}
/* Portada en celular: el texto arranca a la misma altura que en Inicio y la portada mide el alto visible real (sin la barra del navegador), para que se vea el indicador de scroll */
@media (max-width:860px){.hero{align-items:flex-start;min-height:100svh}}
/* V1.6: gráfico de áreas en celular, nombres legibles (12 a 14,6 px reales) y gráfico a todo el ancho */
@media (max-width:860px){.red{width:calc(100% + 40px);max-width:none;margin-inline:-20px}.red .nodo text{font-size:21px}.red .nodo circle{r:68}.red .nodo:hover circle,.red .nodo:focus circle,.red .nodo.act circle{r:72}.red .centro text{font-size:20px}.red .centro circle.base{r:74}}
