.ot__stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: .8rem; margin-top: 1.4rem; }
.ot__stat { background: #fff; border: 1px solid var(--linea); border-radius: 12px; padding: .8rem 1rem; }
.ot__stat strong { display: block; color: var(--azul); font-size: 1rem; }
.ot__stat span { color: var(--tinta-suave); font-size: .78rem; }
.ot__servicios { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.ot__servicio { background: #fff; border: 1px solid var(--linea); border-radius: 16px; padding: 1.2rem 1.3rem; }
.ot__servicio h3 { color: var(--azul); margin: 0 0 .4rem; font-size: 1.05rem; }
.ot__servicio p { margin: 0; line-height: 1.65; color: var(--tinta); font-size: .9rem; }
.ot__pasos { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; counter-reset: paso; }
.ot__paso { background: #fff; border: 1px solid var(--linea); border-radius: 14px; padding: 1rem 1.1rem; }
.ot__paso::before { counter-increment: paso; content: counter(paso); display: inline-grid; place-items: center; width: 1.7rem; height: 1.7rem; border-radius: 50%; background: var(--azul); color: #fff; font-weight: 700; margin-bottom: .5rem; }
.ot__paso h3 { margin: 0 0 .3rem; color: var(--azul); font-size: 1rem; }
.ot__paso p { margin: 0; color: var(--tinta); line-height: 1.6; font-size: .88rem; }
@media (max-width: 820px) {
    .ot__stats, .ot__servicios, .ot__pasos { grid-template-columns: 1fr; }
}
