/* 1. Objetivo. Idea de diseño: cada pestaña tiene una pieza protagonista que se lee en 3 segundos
   (macrovisión como titular, recorrido Q1 a Q4, avance con marca de ritmo, tres pasos de la ingeniería inversa, semáforo con su regla)
   y el resto baja un nivel. En Rellenar mandan los campos, con notas grises de ayuda. Todas las clases llevan prefijo p1-. */

/* Tipos comunes */
.p1-eyebrow{display:flex;align-items:center;gap:8px;margin:0;font-size:13px;line-height:18px;font-weight:600;color:#7A1230}
.p1-etq{margin:0;font-size:12px;line-height:16px;font-weight:600;color:#6E6E73}
.p1-txt{margin:0;font-size:15px;line-height:22px;color:#1D1D1F;white-space:pre-line}
.p1-txt-l{font-size:17px;line-height:26px}
.p1-sub{margin:0;font-size:12px;line-height:16px;color:#6E6E73}
.p1-ap{margin:0;font-size:13px;line-height:19px;color:#6E6E73}
.p1-num{margin:0;font-size:34px;line-height:38px;font-weight:700;letter-spacing:-.03em}
.p1-sin{color:#6E6E73;font-weight:400}
.p1-pide{align-self:flex-start}
.p1-fill{animation:grow .9s cubic-bezier(.2,.8,.2,1)}
.p1-dos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 28px;padding-top:16px;border-top:1px solid rgba(0,0,0,.08)}
.p1-dos>div{display:flex;flex-direction:column;gap:6px;align-items:flex-start;min-width:0}
.p1-vacio{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:16px;border-radius:14px;background:#F5F5F7}
.p1-vacio p{margin:0;color:#6E6E73}

/* Ayuda al rellenar */
.c:has(>.p1-ed){padding:0 4px;background:none;box-shadow:none;gap:0}
.p1-ed p{margin:0;font-size:13px;line-height:19px;color:#6E6E73}
.p1-ed b{color:#1D1D1F;font-weight:600}
.p1-ed .p1-ej{margin-top:4px}

/* Visión: macrovisión como titular */
.c:has(>.p1-hero){padding:40px;background:radial-gradient(circle at 100% 0,#F4E3E8 0,rgba(244,227,232,0) 60%),#fff}
.p1-hero{display:flex;flex-direction:column;gap:18px;align-items:flex-start}
.p1-macro{margin:0;max-width:28ch;font-size:clamp(28px,4vw,38px);line-height:1.14;font-weight:700;letter-spacing:-.035em;color:#1D1D1F}
.p1-porque{display:flex;flex-direction:column;gap:6px;max-width:68ch;padding-left:16px;border-left:3px solid #A32A4E}

/* Visión: escalera */
.p1-esc-w{display:flex;flex-direction:column;gap:18px}
.p1-esc{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0;padding:0;list-style:none}
.p1-esc>li{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:18px;border-radius:16px;background:#F5F5F7}
.p1-esc>li.p1-ahora{background:#F4E3E8}
.p1-ahora .p1-etq{color:#7A1230}
.p1-esc .bar{width:100%}
.p1-chip{margin:0;padding:6px 12px;border-radius:12px;background:#fff;font-size:13px;line-height:18px;color:#1D1D1F}
.p1-flecha{position:absolute;right:-19px;top:50%;z-index:1;display:flex;align-items:center;justify-content:center;width:24px;height:24px;margin-top:-12px;border-radius:50%;background:#fff;color:#7A1230;box-shadow:0 0 0 1px rgba(0,0,0,.08)}
.p1-flecha svg{width:14px;height:14px}

/* Q1 a Q4: recorrido */
.p1-anio{display:flex;flex-direction:column;gap:18px}
.c:has(>.p1-anio){padding:28px 32px}
.p1-cab{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 32px}
.p1-cab>div{display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.p1-gran{margin:0;font-size:56px;line-height:60px;font-weight:700;letter-spacing:-.04em}
.p1-cab>.p1-cierre{text-align:right;align-items:flex-end}
.p1-barra{height:12px}
.p1-ruta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:4px 0 0;padding:0;list-style:none}
.p1-hito{position:relative;display:flex;flex-direction:column;gap:12px;min-width:0}
.p1-hito::before{content:"";position:absolute;top:13px;left:36px;right:-8px;height:3px;border-radius:2px;background:#E8E8ED}
.p1-hito:last-child::before{display:none}
.p1-hito.p1-h-hecho::before{background:#A32A4E}
.p1-nodo{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 2px #C9798F;color:#fff}
.p1-h-hecho .p1-nodo{background:#A32A4E;box-shadow:none}
.p1-h-curso .p1-nodo{background:#7A1230;box-shadow:0 0 0 4px #E3B8C5}
.p1-ic-n{width:16px;height:16px}
.p1-hc{display:flex;flex-direction:column;align-items:flex-start;gap:6px;flex:1;padding:16px;border-radius:16px;background:#F5F5F7}
.p1-h-curso .p1-hc{background:#F4E3E8;box-shadow:inset 0 0 0 2px #A32A4E}
.p1-hn{display:flex;align-items:baseline;gap:8px;margin:0;font-size:15px;line-height:20px}
.p1-hn small{font-size:12px;color:#6E6E73}
.p1-h-curso .p1-hn small{color:#424245}
.p1-hv{margin:0;font-size:28px;line-height:32px;font-weight:700;letter-spacing:-.03em}
.p1-hc .bar{width:100%}
.p1-hc .pill{white-space:normal}
.p1-nota{margin:2px 0 0;font-size:13px;line-height:18px;color:#424245}

/* Contador: avance y marca de ritmo */
.c:has(>.p1-cont){padding:32px}
.p1-cont{display:flex;flex-direction:column;gap:10px}
.p1-cont .p1-eyebrow,.p1-cont .p1-etq,.p1-cont .p1-sub{color:rgba(255,255,255,.86)}
.p1-ct{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px}
.p1-gigante{margin:4px 0 0;font-size:clamp(48px,8vw,76px);line-height:1;font-weight:700;letter-spacing:-.045em}
.p1-demeta{margin:0;font-size:18px;line-height:26px;color:rgba(255,255,255,.9)}
.p1-demeta b{font-size:30px;line-height:34px;letter-spacing:-.025em;color:#fff}
.p1-pista{position:relative;height:18px;margin:44px 0 0;border-radius:99px;background:rgba(255,255,255,.22)}
.p1-pista .p1-fill{display:block;height:100%;border-radius:99px;background:#fff}
.p1-marca{position:absolute;top:-8px;bottom:-8px;width:3px;margin-left:-1.5px;border-radius:2px;background:#fff;box-shadow:0 0 0 2px #5C0F26}
.p1-marca b{position:absolute;bottom:100%;left:50%;margin-bottom:6px;font-size:12px;line-height:16px;font-weight:600;white-space:nowrap;transform:translateX(-50%)}
.p1-marca.p1-izq b{left:-1.5px;transform:none}
.p1-marca.p1-der b{left:auto;right:-1.5px;transform:none}
.p1-ejes{display:flex;justify-content:space-between;gap:12px;margin:0;font-size:12px;line-height:16px;color:rgba(255,255,255,.86)}
.p1-hechos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:10px;padding-top:18px;border-top:1px solid rgba(255,255,255,.22)}
.p1-hechos>div{display:flex;flex-direction:column;gap:2px;align-items:flex-start}
.p1-dato{margin:0;font-size:22px;line-height:28px;font-weight:700;letter-spacing:-.02em}
.p1-lectura{display:flex;flex-direction:column;gap:6px;align-items:flex-start;padding:16px;border-radius:14px;background:rgba(255,255,255,.12)}
.p1-cont .p1-txt{color:#fff}
.c.wine .p1-pide{background:#fff;color:#7A1230}
.c.wine .p1-pide:hover{background:#F4E3E8}
.c.wine .p1-sin{color:rgba(255,255,255,.86)}

/* Ingeniería inversa: tres pasos */
.p1-ing{display:flex;flex-direction:column;gap:20px}
.c:has(>.p1-ing){padding:28px 32px}
.p1-tit{margin:0;font-size:clamp(24px,3.4vw,34px);line-height:1.15;font-weight:700;letter-spacing:-.03em}
.p1-tit b{color:#7A1230}
.p1-flujo{display:grid;grid-template-columns:minmax(0,1fr) 128px minmax(0,1fr) 128px minmax(0,1fr);align-items:stretch;gap:0}
.p1-paso{display:flex;flex-direction:column;gap:6px;align-items:flex-start;padding:20px;border-radius:16px;background:#F5F5F7}
.p1-paso-1{background:#F4E3E8}
.p1-pn{display:flex;align-items:center;gap:10px;margin:0;font-size:15px;line-height:20px;font-weight:600}
.p1-bd{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:#fff;color:#7A1230;font-size:13px;font-weight:700}
.p1-big{margin:6px 0 0;font-size:56px;line-height:60px;font-weight:700;letter-spacing:-.04em}
.p1-sem{margin:10px 0 0;padding:6px 12px;border-radius:12px;background:#fff;font-size:15px;line-height:22px}
.p1-sem b{font-size:22px;line-height:28px;color:#7A1230}
.p1-nexo{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:0 10px;text-align:center}
.p1-nexo .p1-flecha{position:static;margin:0 0 4px;width:28px;height:28px}
.p1-nexo b{font-size:13px;line-height:18px;font-weight:600}
.p1-nexo>span:last-child{font-size:12px;line-height:16px;color:#6E6E73}
.p1-datos-w{display:flex;flex-direction:column;gap:10px;padding-top:16px;border-top:1px solid rgba(0,0,0,.08)}
.p1-datos{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.p1-datos>div{display:flex;flex-direction:column;gap:2px}
.p1-datos span{font-size:12px;line-height:16px;color:#6E6E73}
.p1-datos b{font-size:15px;line-height:22px;font-weight:600}

/* Semáforo: lámpara y regla */
.p1-sem-w{display:flex;flex-direction:column;gap:22px}
.c:has(>.p1-sem-w){padding:28px 32px}
.p1-sem-h{display:flex;gap:32px;align-items:flex-start}
.p1-luz{flex:none;display:flex;flex-direction:column;gap:10px;width:104px;padding:12px;border-radius:30px;background:#1D1D1F}
.p1-lampara{display:flex;align-items:center;justify-content:center;width:80px;height:80px;border-radius:50%;background:rgba(255,255,255,.12);color:#fff}
.p1-lampara.p1-on{box-shadow:0 0 0 3px rgba(255,255,255,.7)}
.p1-lampara.p1-l-ok{background:#1B7A33}
.p1-lampara.p1-l-warn{background:#9A4F00}
.p1-lampara.p1-l-bad{background:#C4001A}
.p1-lampara.p1-prop{box-shadow:0 0 0 3px #fff,0 0 0 6px #1B7A33}
.p1-ic-l{width:38px;height:38px}
.p1-info{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-width:0;flex:1}
.p1-estado{margin:0;font-size:56px;line-height:60px;font-weight:700;letter-spacing:-.04em}
.p1-e-ok{color:#1B7A33}.p1-e-warn{color:#9A4F00}.p1-e-bad{color:#C4001A}.p1-e-none{color:#6E6E73}
.p1-desv{margin:0;font-size:22px;line-height:28px;font-weight:600;letter-spacing:-.02em}
.p1-regla{width:100%;max-width:640px;margin-top:6px;padding:14px 16px;border-radius:12px;background:#F5F5F7;border-left:4px solid #6E6E73}
.p1-regla.p1-r-ok{border-left-color:#1B7A33}.p1-regla.p1-r-warn{border-left-color:#9A4F00}.p1-regla.p1-r-bad{border-left-color:#C4001A}
.p1-rt{margin:2px 0 4px;font-size:17px;line-height:24px;font-weight:600}
.p1-aviso{display:flex;align-items:center;gap:8px;margin:0;font-size:14px;line-height:20px;color:#9A4F00}
.p1-escala{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:8px 0 0;padding:0;list-style:none}
.p1-escala>li{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:14px;border-radius:14px;background:#F5F5F7}
.p1-escala>li.p1-act{background:#fff;box-shadow:0 0 0 2px #1D1D1F,0 6px 18px rgba(0,0,0,.1)}
.p1-st{display:flex;align-items:flex-start;gap:8px;margin:0;font-size:13px;line-height:18px}
.p1-st svg{flex:none}
.p1-s-ok .p1-st svg{color:#1B7A33}.p1-s-warn .p1-st svg{color:#9A4F00}.p1-s-bad .p1-st svg{color:#C4001A}

@media (max-width:1180px){
.p1-flujo,.p1-esc{grid-template-columns:minmax(0,1fr)}
.p1-esc .p1-flecha{right:auto;left:50%;top:auto;bottom:-19px;margin:0 0 0 -12px;transform:rotate(90deg)}
.p1-nexo{padding:14px 0}
.p1-nexo .p1-flecha{transform:rotate(90deg)}
.p1-escala,.p1-datos,.p1-ruta{grid-template-columns:repeat(2,minmax(0,1fr))}
.p1-hito:nth-child(even)::before{display:none}
.p1-big,.p1-gran,.p1-estado{font-size:48px;line-height:52px}
}
@media (max-width:900px){
.c:has(>.p1-hero),.c:has(>.p1-anio),.c:has(>.p1-cont),.c:has(>.p1-ing),.c:has(>.p1-sem-w){padding:20px}
.p1-dos,.p1-esc,.p1-escala{grid-template-columns:minmax(0,1fr)}
.p1-esc .p1-flecha{right:auto;left:50%;top:auto;bottom:-19px;margin:0 0 0 -12px;transform:rotate(90deg)}
.p1-gran,.p1-big,.p1-estado{font-size:44px;line-height:48px}
.p1-cab>.p1-cierre{text-align:left;align-items:flex-start}
.p1-ruta{grid-template-columns:minmax(0,1fr);gap:14px}
.p1-hito{padding-left:44px}
.p1-hito .p1-nodo{position:absolute;left:0;top:0}
.p1-hito:nth-child(even)::before{display:block}
.p1-hito:last-child::before{display:none}
.p1-hito::before{top:32px;bottom:-14px;left:13px;right:auto;width:3px;height:auto}
.p1-hechos{grid-template-columns:minmax(0,1fr)}
.p1-flujo{grid-template-columns:minmax(0,1fr)}
.p1-nexo{padding:14px 0}
.p1-nexo .p1-flecha{transform:rotate(90deg)}
.p1-datos{grid-template-columns:repeat(2,minmax(0,1fr))}
.p1-sem-h{flex-direction:column;gap:20px}
.p1-luz{flex-direction:row;width:auto}
}
@media (prefers-reduced-motion:reduce){.p1-fill{animation:none}}
