/* Pack Claude Motion «calidad» (pack del conector), con el estilo del pack de contratos. Frame PACK_CALIDAD_ES / _ENG del fichero oficial
   «2026 - WEB OFICIAL» (975 x 645). Fondo y personas son capas; las 4 pastillas se animan en HTML.
   Linea de tiempo (s): fondo y personas 0 · acciones correctivas 1,0 (las flechas pasan con opacidades) · indicadores 2,1 (marco discontinuo, check que se dibuja) ·
   aviso 3,2 (campana; a los 4,4 el redondel se pone rojo, se agranda como aviso y vuelve a su estado normal) · no conformidades 5,0 · fin 7,0. */
.ps_banner .ps_banner--col .r2anim--calidad .r2k-p1 { left: calc(83.21 * var(--u)); top: calc(53.51 * var(--u)); display: flex; align-items: center; }
.ps_banner .ps_banner--col .r2anim--calidad .r2k-p2 { left: calc(603 * var(--u)); top: calc(145.51 * var(--u)); display: flex; align-items: center; }
.ps_banner .ps_banner--col .r2anim--calidad .r2k-p3 { left: calc(28 * var(--u)); top: calc(347.51 * var(--u)); display: flex; align-items: center; }
.ps_banner .ps_banner--col .r2anim--calidad .r2k-p4 { left: calc(585 * var(--u)); top: calc(489.51 * var(--u)); display: flex; align-items: center; }
.ps_banner .ps_banner--col .r2anim--calidad .r2k-pill { position: relative; display: flex; align-items: center; box-sizing: border-box; height: calc(62 * var(--u)); border-radius: calc(12 * var(--u)); font-family: 'R2 Inter Anim', Inter, sans-serif; white-space: nowrap; }
.ps_banner .ps_banner--col .r2anim--calidad .r2k-sp { display: inline-block; flex: none; line-height: 1; color: transparent; }
.ps_banner .ps_banner--col .r2anim--calidad .r2k-spa { font-size: calc(13.4 * var(--u)); }
.ps_banner .ps_banner--col .r2anim--calidad .r2k-spk { font-size: calc(10 * var(--u)); }
.ps_banner .ps_banner--col .r2anim--calidad .r2k-spl { font-size: calc(4 * var(--u)); }
.ps_banner .ps_banner--col .r2anim--calidad .r2k-spc { font-size: calc(6.7 * var(--u)); }
.ps_banner .ps_banner--col .r2anim--calidad .r2k-spd { font-size: calc(17.6 * var(--u)); }
.ps_banner .ps_banner--col .r2anim--calidad .r2k-spe { font-size: calc(6 * var(--u)); }
.ps_banner .ps_banner--col .r2anim--calidad .r2k-spf { font-size: calc(5.8 * var(--u)); }
.ps_banner .ps_banner--col .r2anim--calidad .r2k-spg { font-size: calc(3.5 * var(--u)); }
.ps_banner .ps_banner--col .r2anim--calidad .r2k-sph { font-size: calc(1.6 * var(--u)); }
.ps_banner .ps_banner--col .r2anim--calidad .r2k-spi { font-size: calc(4.1 * var(--u)); }
.ps_banner .ps_banner--col .r2anim--calidad .r2k-spj { font-size: calc(2.2 * var(--u)); }
.ps_banner .ps_banner--col .r2anim--calidad .r2k-t { position: relative; margin: 0; padding: 0; font-style: normal; letter-spacing: 0; white-space: nowrap; font-synthesis: none; font-kerning: normal; font-size: calc(21 * var(--u)); line-height: calc(26 * var(--u)); }
.ps_banner .ps_banner--col .r2anim--calidad .r2k-dark { background: #1B1233; color: #FFFFFF; padding: 0 calc(16 * var(--u)) 0 calc(10 * var(--u)); box-shadow: calc(-7 * var(--u)) calc(7 * var(--u)) calc(12.6 * var(--u)) rgba(0, 0, 0, .42); }
.ps_banner .ps_banner--col .r2anim--calidad .r2k-light { background: #FFFFFF; color: #1B1233; padding: 0 calc(7.5 * var(--u)); box-shadow: calc(5.9 * var(--u)) calc(5.9 * var(--u)) calc(14.8 * var(--u)) rgba(0, 0, 0, .25); }
.ps_banner .ps_banner--col .r2anim--calidad .r2k-p2 .r2k-light { padding: 0 calc(16.5 * var(--u)); }
.ps_banner .ps_banner--col .r2anim--calidad .r2k-t1 { font-weight: 700; margin-left: calc(9 * var(--u)); }
.ps_banner .ps_banner--col .r2anim--calidad .r2k-t2 { font-weight: 600; margin-left: calc(9 * var(--u)); }
.ps_banner .ps_banner--col .r2anim--calidad .r2k-t3 { font-weight: 700; margin-left: calc(7 * var(--u)); }
.ps_banner .ps_banner--col .r2anim--calidad .r2k-t4 { font-weight: 600; margin-left: calc(9 * var(--u)); }
.ps_banner .ps_banner--col .r2anim--calidad .r2k-ib { position: relative; flex: none; width: calc(41.79 * var(--u)); height: calc(41.79 * var(--u)); }
.ps_banner .ps_banner--col .r2anim--calidad .r2k-chev { position: absolute; left: calc(-5.9 * var(--u)); top: calc(-7.8 * var(--u)); width: calc(55.73 * var(--u)); height: calc(55.73 * var(--u)); }
.ps_banner .ps_banner--col .r2anim--calidad .r2k-bw { position: relative; flex: none; width: calc(30.13 * var(--u)); height: calc(31.6 * var(--u)); transform-origin: 50% 8%; }
.ps_banner .ps_banner--col .r2anim--calidad .r2k-bell, .ps_banner .ps_banner--col .r2anim--calidad .r2k-dot { position: absolute; left: 0; top: 0; width: 100%; height: 100%; }
.ps_banner .ps_banner--col .r2anim--calidad .r2k-dot { transform-origin: 81.7% 17.4%; }
.ps_banner .ps_banner--col .r2anim--calidad .r2k-halo { position: absolute; left: calc(24.6 * var(--u)); top: calc(5.5 * var(--u)); width: calc(11 * var(--u)); height: calc(11 * var(--u)); margin: calc(-5.5 * var(--u)) 0 0 calc(-5.5 * var(--u)); border-radius: 50%; background: #E5383B; opacity: 0; }
.ps_banner .ps_banner--col .r2anim--calidad .r2k-ind { background: #FFFFFF; color: #1B1233; padding: 0 calc(8.7 * var(--u)) 0 calc(27 * var(--u)); box-shadow: 0 calc(4 * var(--u)) calc(4 * var(--u)) rgba(0, 0, 0, .25); }
.ps_banner .ps_banner--col .r2anim--calidad .r2k-frame { position: absolute; left: 0; top: 0; width: 100%; height: 100%; }
.ps_banner .ps_banner--col .r2anim--calidad .r2k-strip { position: absolute; left: 0; top: calc(2 * var(--u)); width: calc(19 * var(--u)); height: calc(58 * var(--u)); background: #E3F0FE; border-radius: calc(10 * var(--u)) 0 0 calc(10 * var(--u)); }
.ps_banner .ps_banner--col .r2anim--calidad .r2k-ic { position: relative; flex: none; width: calc(37.68 * var(--u)); height: calc(37.68 * var(--u)); }
.ps_banner .ps_banner--col .r2anim--calidad .r2k-chk { position: absolute; left: 0; top: 0; width: 100%; height: 100%; }
.ps_banner .ps_banner--col .r2anim--calidad .r2k-ii { position: relative; flex: none; width: calc(38.16 * var(--u)); height: calc(38.16 * var(--u)); }
.ps_banner .ps_banner--col .r2anim--calidad .r2k-info { position: absolute; left: 0; top: 0; width: 100%; height: 100%; }

/* Animacion */
.ps_banner .ps_banner--col .r2anim--calidad .r2k-bg { animation: calidad-fade .5s ease-out both; }
.ps_banner .ps_banner--col .r2anim--calidad .r2k-people { transform-origin: 50% 100%; animation: calidad-zoom .75s ease-in-out both; }
.ps_banner .ps_banner--col .r2anim--calidad .r2k-p1 .r2k-pill { --dx: 0px; --dy: calc(14 * var(--u)); animation: calidad-in .3s ease-out 1s both; }
.ps_banner .ps_banner--col .r2anim--calidad .r2k-t1 { animation: calidad-wipe .8s steps(36, end) 1.28s backwards; }
.ps_banner .ps_banner--col .r2anim--calidad .r2k-c1 { animation: calidad-pass .85s ease-in-out 1.15s 2 both; }
.ps_banner .ps_banner--col .r2anim--calidad .r2k-c2 { animation: calidad-pass .85s ease-in-out 1.4s 2 both; }
.ps_banner .ps_banner--col .r2anim--calidad .r2k-p3 .r2k-pill { --dx: 0px; --dy: calc(14 * var(--u)); animation: calidad-in .3s ease-out 2.1s both; }
.ps_banner .ps_banner--col .r2anim--calidad .r2k-t3 { animation: calidad-wipe .5s steps(21, end) 2.4s backwards; }
.ps_banner .ps_banner--col .r2anim--calidad .r2k-dash { animation: calidad-march 1.9s cubic-bezier(.2, .7, .3, 1) 2.1s both; }
.ps_banner .ps_banner--col .r2anim--calidad .r2k-chk path { stroke-dasharray: 1; animation: calidad-draw .8s ease-out 2.25s backwards; }
.ps_banner .ps_banner--col .r2anim--calidad .r2k-p2 .r2k-pill { --dx: 0px; --dy: calc(14 * var(--u)); animation: calidad-in .3s ease-out 3.2s both; }
.ps_banner .ps_banner--col .r2anim--calidad .r2k-t2 { animation: calidad-wipe .75s steps(28, end) 3.48s backwards; }
.ps_banner .ps_banner--col .r2anim--calidad .r2k-bw { animation: calidad-ring .8s ease-out 3.45s both; }
.ps_banner .ps_banner--col .r2anim--calidad .r2k-dot { animation: calidad-alarm 7s linear both; }
.ps_banner .ps_banner--col .r2anim--calidad .r2k-dotc { animation: calidad-alarmcolor 7s linear both; }
.ps_banner .ps_banner--col .r2anim--calidad .r2k-halo { animation: calidad-halo 7s linear both; }
.ps_banner .ps_banner--col .r2anim--calidad .r2k-p4 .r2k-pill { --dx: 0px; --dy: calc(14 * var(--u)); animation: calidad-in .3s ease-out 5s both; }
.ps_banner .ps_banner--col .r2anim--calidad .r2k-t4 { animation: calidad-wipe .7s steps(27, end) 5.28s backwards; }
.ps_banner .ps_banner--col .r2anim--calidad .r2k-info { animation: calidad-pulse .7s ease-in-out 5.35s both; }

@keyframes calidad-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes calidad-zoom { from { transform: scale(.96); opacity: 0; } to { transform: scale(1); opacity: 1; } }
@keyframes calidad-in { from { opacity: 0; transform: translate(var(--dx), var(--dy)) scale(.96); } 60% { opacity: 1; } to { opacity: 1; transform: none; } }
@keyframes calidad-wipe { from { clip-path: inset(0 100% 0 0); } to { clip-path: inset(0 0 0 0); } }
@keyframes calidad-pass { 0% { opacity: 1; } 28% { opacity: .1; } 60% { opacity: 1; } 100% { opacity: 1; } }
@keyframes calidad-march { from { stroke-dashoffset: 0; } to { stroke-dashoffset: -160; } }
@keyframes calidad-draw { from { stroke-dashoffset: 1; } to { stroke-dashoffset: 0; } }
@keyframes calidad-ring { from, to { transform: none; } 12% { transform: rotate(16deg); } 30% { transform: rotate(-12deg); } 48% { transform: rotate(8deg); } 66% { transform: rotate(-5deg); } 84% { transform: rotate(2deg); } }
@keyframes calidad-pulse { 0%, 100% { transform: scale(1); } 40% { transform: scale(1.22); } 70% { transform: scale(.96); } }
@keyframes calidad-alarm { 0% { transform: scale(1); } 60% { transform: scale(1); } 62.857% { transform: scale(2.25); } 64.571% { transform: scale(1.9); } 66.571% { transform: scale(2.25); } 71.429% { transform: scale(2.25); } 78.571% { transform: scale(1); } 100% { transform: scale(1); } }
@keyframes calidad-alarmcolor { 0% { fill: #1B1233; } 60% { fill: #1B1233; } 62.857% { fill: #E5383B; } 71.429% { fill: #E5383B; } 78.571% { fill: #1B1233; } 100% { fill: #1B1233; } }
@keyframes calidad-halo { 0% { opacity: 0; transform: scale(.6); } 62.857% { opacity: 0; transform: scale(.6); } 63.571% { opacity: .55; transform: scale(1); } 75.714% { opacity: 0; transform: scale(3.6); } 100% { opacity: 0; transform: scale(3.6); } }
