/* US map (registrations arc in from across the country), lifted from page-website-registration.css so the
   homepage can use it without the whole Website & Registration stylesheet (2026-10-26). Keep in step. */
.usm{position:absolute; left:4%; right:4%; top:4%; width:92%; height:84%; overflow:visible;}
.usm-s{fill:#e6f1f2; stroke:#fff; stroke-width:.9; stroke-linejoin:round; transition:fill .35s ease;}
.usm-s.home{fill:#cfe9e8;}
.usm-s:hover{fill:#d4ecec;}
.usm-s.home:hover{fill:#bfe2e1;}
.usm-c{fill:#00a39e; opacity:0; transition:opacity .4s, r .4s;}
.usm-c.on{opacity:1;}
.usm-line{fill:none; stroke-width:1.3; stroke-linecap:round;}
.usm-pin{fill:#0b1a24; stroke:#fff; stroke-width:2;}
.usm-ring{fill:none; stroke:#007a76; stroke-width:1.2; opacity:0; transform-origin:center; transform-box:fill-box;}
.usm-ring.go{animation:usm-ring 1.1s ease-out;}
@keyframes usm-ring{0%{opacity:.6; transform:scale(1);} 100%{opacity:0; transform:scale(3.4);}}
.usm-label{font:600 10.5px/1 Archivo, sans-serif; fill:#0b1a24; letter-spacing:.01em;}
.usm-feed{position:absolute; left:28px; bottom:22px; margin:0; display:flex; align-items:center; gap:10px; font-size:13.5px; color:#5b6b78;
  transition:opacity .3s, transform .3s;}
.usm-feed b{color:#0b1a24; font-weight:700;}
.usm-feed i{width:7px; height:7px; border-radius:50%; background:#1f9d57; box-shadow:0 0 0 4px rgba(31,157,87,.14);}
.usm-feed.swap{opacity:0; transform:translateY(4px);}
@media (max-width:640px){
  .usm{left:3%; right:3%; width:94%; top:2%; height:80%;}
  .usm-feed{left:18px; bottom:14px; font-size:12.5px;}
}
.usm{position:relative; left:auto; right:auto; top:auto; width:100%; max-width:760px; height:auto; display:block;}
.usm-c{stroke:none;}
@media (max-width:640px){
  .usm{width:100%;}
}
.usm-dots{position:absolute; z-index:0; pointer-events:none;}
.usm{z-index:1;}
.usm-s,.usm-s.home,.usm-s:hover,.usm-s.home:hover{fill:transparent; stroke:none;}
.usm-comet circle{transition:none;}
.usm-burst{fill:none; stroke:#00a39e; stroke-width:1.1; stroke-dasharray:0 2.6; stroke-linecap:round; transform-origin:center; transform-box:fill-box;
  animation:usm-burst 1.2s ease-out forwards;}
@keyframes usm-burst{from{transform:scale(1); opacity:.9;} to{transform:scale(5.5); opacity:0;}}
.usm-orbit{fill:none; stroke:#007a76; stroke-linecap:round; transform-origin:center; transform-box:fill-box;}
.usm-orbit.o1{stroke-width:1.4; stroke-dasharray:0 3.1; opacity:.85;}
.usm-orbit.o2{stroke-width:1.1; stroke-dasharray:0 3.6; opacity:.4;}
@media (prefers-reduced-motion:no-preference){
  .usm-orbit.o1{animation:usm-orbit 14s linear infinite;}
  .usm-orbit.o2{animation:usm-orbit 22s linear infinite reverse;}
}
@keyframes usm-orbit{to{transform:rotate(360deg);}}
.usm-pin{fill:#007a76; stroke:#fff; stroke-width:1.6;}
.usm-label{font:800 8.5px/1 Archivo, sans-serif; letter-spacing:.14em; fill:#00726f; paint-order:stroke; stroke:#fff; stroke-width:3px; stroke-linejoin:round;}
.usm-ring{stroke:#00bcb7;}
.usm-orbit.o1{stroke-width:1.8; opacity:1;}
.usm-orbit.o2{stroke-width:1.4; opacity:.55;}
.usm-line{fill:none; stroke-width:1.25; stroke-linecap:round;}
.usm-origin{fill:#fff; stroke:#007a76; stroke-width:1.3;}
.usm-arc{transition:opacity .9s ease;}
.usm-arc.out{opacity:0;}
.usm-tag{position:absolute; z-index:3; display:inline-flex; align-items:center; gap:8px; padding:6px 10px; border-radius:8px; background:#fff;
  box-shadow:0 0 0 1px rgba(11,26,36,.07), 0 8px 20px -8px rgba(11,26,36,.25); white-space:nowrap; pointer-events:none;
  transform:translate(-50%, calc(-100% - 10px)) translateY(4px); opacity:0; transition:opacity .4s ease, transform .4s ease;}
.usm-tag.on{opacity:1; transform:translate(-50%, calc(-100% - 10px));}
.usm-tag.r{transform:translate(0, calc(-100% - 10px)) translateY(4px);}
.usm-tag.r.on{transform:translate(0, calc(-100% - 10px));}
.usm-tag b{font-size:12px; font-weight:600; color:#0b1a24;}
.usm-tag em{font-style:normal; font-size:12px; font-weight:700; color:#007a76;}
@media (max-width:640px){
  .usm-tag{padding:4px 8px; gap:6px;}
  .usm-tag b,.usm-tag em{font-size:10.5px;}
}
.usm-tag.sm{padding:3px 7px; border-radius:6px;}
.usm-tag.sm b{display:none;}
.usm-tag.sm em{font-size:10.5px;}
.usm-pin{fill:none; stroke:none;}
.usm-shadow{fill:#0b1a24; opacity:.18;}
.usm-drop{fill:#0d1b2a; stroke:#fff; stroke-width:1.4; stroke-linejoin:round;}
.usm-dot{fill:#fff;}
.usm-marker{transform-box:fill-box; transform-origin:50% 100%;}
.usm-marker > *{transform-box:fill-box; transform-origin:50% 100%;}
.usm-marker.go .usm-drop, .usm-marker.go .usm-dot{animation:usm-land .5s cubic-bezier(.3,1.6,.5,1);}
@keyframes usm-land{0%{transform:scale(1);} 35%{transform:scale(1.12,.9);} 100%{transform:scale(1);}}
.usm-marker.go .usm-dot{transform-origin:50% 50%; animation-name:usm-dot;}
@keyframes usm-dot{0%{fill:#fff;} 30%{fill:#5fd4cf;} 100%{fill:#fff;}}
.usm-tag-camp rect{fill:#fff; filter:drop-shadow(0 2px 5px rgba(13,27,42,.16)) drop-shadow(0 0 .5px rgba(13,27,42,.3));}
.usm-tag-camp text{font:700 10px/1 Archivo, sans-serif; fill:#0d1b2a; text-anchor:middle; letter-spacing:.01em;}
@media (prefers-reduced-motion:reduce){
  .usm-marker.go .usm-drop, .usm-marker.go .usm-dot{animation:none;}
}
.usm-grow{transform-box:view-box; transform-origin:0 0;}
@media (max-width:700px){
  .usm-grow{transform:scale(1.8);}
}
