.reach{background:#f0f0f0;color:#000;overflow:hidden}
.reach__stage{position:relative;margin:0 auto;aspect-ratio:1023/634;container-type:inline-size}
.reach__map{position:absolute;left:12.97%;top:17.14%;width:69.82%;height:auto;display:block;pointer-events:none}

/* Puntos de ubicación */
.reach__pin{position:absolute;width:1.5cqw;height:1.5cqw;min-width:9px;min-height:9px;margin:-.75cqw 0 0 -.75cqw;border-radius:50%;background:#e8666c;box-shadow:0 0 0 .5cqw rgba(224,36,30,.12)}
.reach__pin::after{content:"";position:absolute;inset:-.7cqw;border-radius:50%;border:1px solid rgba(224,36,30,.5);animation:pin 2.6s ease-out infinite}
.reach__pin:nth-of-type(2n)::after{animation-delay:.9s}
.reach__pin:nth-of-type(3n)::after{animation-delay:1.7s}
@keyframes pin{0%{transform:scale(.6);opacity:.9}100%{transform:scale(2.2);opacity:0}}

/* Contenido */
.reach__content{position:absolute;top: 6.7cqw;left:0;right:0;text-align:center;padding:0 5%}
/* Sello: el círculo de texto gira alrededor de la mancha fija */
.reach__badge{--splash-size:46%;position:relative;width:9.4cqw;aspect-ratio:1;margin:0 auto 3cqw}
.reach__badge img{position:absolute;display:block;height:auto}
.reach__ring{inset:0;width:100%;height:100%;object-fit:contain;animation:spin 16s linear infinite;transform-origin:50% 50%}
.reach__splash{top:50%;left:50%;width:var(--splash-size);transform:translate(-50%,-50%)}
@keyframes spin{to{transform:rotate(360deg)}}
.reach__title{margin:0 auto 3.6cqw;max-width:42cqw;font-size:max(22px,2.85cqw);font-weight:700;line-height:1.08;letter-spacing:-.015em}
.reach__text{margin:0 auto;max-width:36cqw;font-size:max(11.5px,1.2cqw);line-height:1.5;font-weight:500}

@media(max-width:720px){
  .reach__stage{aspect-ratio:auto;container-type:normal;padding:48px 20px 56px;min-height:560px;display:flex;align-items:center;justify-content:center}
  .reach__map {
        left: 50%;
        top: 50%;
        width: 90%;
        max-width: none;
        transform: translate(-50%, -50%);
    }
  .reach__pin{display:none}
  .reach__content{position:relative;top:auto;padding:0}
  .reach__badge{width:92px;margin-bottom:24px}
  .reach__title{max-width:none;font-size:26px;margin-bottom:22px}
  .reach__text{max-width:460px;font-size:13.5px}
}
@media(prefers-reduced-motion:reduce){.reach__pin::after,.reach__ring{animation:none}}
