.page-somos .somos-touch-banner { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(0, 1fr); align-items: center; gap: 0; padding: 38px 42px; min-height: 390px; }
.page-somos .somos-touch-copy { position: relative; z-index: 2; min-width: 0; }
.page-somos .somos-touch-copy h2 { max-width: 25ch; font-size: clamp(1.9rem, 2.7vw, 2.75rem); letter-spacing: -.045em; }
.page-somos .somos-touch-copy p { max-width: 48ch; font-size: .94rem; margin: 22px 0 26px; }
.page-somos .somos-touch-copy .btn { min-width: 0; width: fit-content; max-width: 100%; justify-content: center; }
.page-somos .somos-touch-art { position: relative; width: calc(100% + 72px); margin: -38px -42px -38px -30px; aspect-ratio: 3 / 2; pointer-events: none; }
.page-somos .somos-touch-art svg { display: block; width: 100%; height: 100%; overflow: visible; mask-image: linear-gradient(90deg, transparent, #000 4%, #000); }
.page-somos .touch-human-hand { animation: somos-human-reach 8.4s cubic-bezier(.45, 0, .3, 1) infinite; }
.page-somos .touch-robot-hand { animation: somos-robot-reach 8.4s cubic-bezier(.45, 0, .3, 1) infinite; }
.page-somos .touch-finger { transform-box: view-box; animation: somos-finger-flex 4.2s ease-in-out infinite; }
.page-somos .touch-human-middle { transform-origin: 655px 630px; --finger-bend: -3.2deg; --finger-release: 1.2deg; }
.page-somos .touch-human-ring { transform-origin: 610px 722px; --finger-bend: 2.8deg; --finger-release: -.8deg; animation-delay: -.7s; }
.page-somos .touch-robot-middle { transform-origin: 986px 472px; --finger-bend: 3.4deg; --finger-release: -1deg; animation-delay: -.4s; }
.page-somos .touch-robot-ring { transform-origin: 1090px 510px; --finger-bend: -2.5deg; --finger-release: .7deg; animation-delay: -1.1s; }
.page-somos .touch-contact-light { opacity: 0; animation: somos-touch-light 8.4s ease-in-out infinite; }
.page-somos .somos-touch-art.motion-paused :is(.touch-human-hand, .touch-robot-hand, .touch-finger, .touch-contact-light) { animation-play-state: paused; }
@keyframes somos-human-reach { 0%, 12%, 90%, 100% { transform: translate(-36px, 18px); } 42%, 60% { transform: translate(14px, -8px); } }
@keyframes somos-robot-reach { 0%, 12%, 90%, 100% { transform: translate(36px, -18px); } 42%, 60% { transform: translate(-14px, 8px); } }
@keyframes somos-finger-flex { 0%, 100% { transform: rotate(0deg); } 38% { transform: rotate(var(--finger-bend)); } 72% { transform: rotate(var(--finger-release)); } }
@keyframes somos-touch-light { 0%, 32%, 76%, 100% { opacity: 0; } 43%, 59% { opacity: .9; } }
@media (max-width: 1000px) {
  .page-somos .somos-touch-banner { padding: 32px; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); }
  .page-somos .somos-touch-art { width: calc(100% + 64px); margin: -32px -32px -32px -32px; }
}
@media (max-width: 800px) {
  .page-somos .somos-touch-banner { grid-template-columns: 1fr; padding: 30px 28px 0; gap: 18px; }
  .page-somos .somos-touch-copy h2 { max-width: 27ch; }
  .page-somos .somos-touch-copy p { max-width: 56ch; }
  .page-somos .somos-touch-art { width: calc(100% + 56px); margin: 0 -28px; max-height: 360px; }
}
@media (max-width: 600px) {
  .page-somos .somos-touch-banner { padding: 28px 24px 0; gap: 12px; }
  .page-somos .somos-touch-copy h2 { font-size: 1.85rem; }
  .page-somos .somos-touch-copy p { margin: 18px 0 22px; font-size: .89rem; }
  .page-somos .somos-touch-copy .cta { display: grid; justify-items: start; }
  .page-somos .somos-touch-art { width: calc(100% + 48px); margin: 0 -24px; }
}
@media (prefers-reduced-motion: reduce) {
  .page-somos .somos-touch-art :is(.touch-human-hand, .touch-robot-hand, .touch-finger, .touch-contact-light) { animation: none; }
  .page-somos .touch-human-hand { transform: translate(14px, -8px); }
  .page-somos .touch-robot-hand { transform: translate(-14px, 8px); }
  .page-somos .touch-contact-light { opacity: .6; }
}
