.atlas-map-viewport{min-width:0}.atlas-map-canvas{height:clamp(250px,34vw,430px);position:relative;overflow:hidden;border-radius:10px;background:var(--surface-2)}.atlas-map .atlas-map-canvas>svg,.atlas-map-canvas>svg{display:block;width:100%;height:100%;max-height:none;touch-action:none;user-select:none;cursor:grab;outline-offset:-3px}.atlas-map-canvas>svg:active{cursor:grabbing}.atlas-map-canvas>svg:focus-visible{outline:2px solid var(--accent)}.atlas-map-canvas .atlas-country{stroke:none;stroke-width:0;vector-effect:non-scaling-stroke;stroke-linejoin:round;transition:fill-opacity 220ms ease-in-out,filter 220ms ease-in-out}.atlas-map-canvas .atlas-country:hover{fill-opacity:1;filter:brightness(.94)}.atlas-map-canvas .atlas-country.is-selected{fill-opacity:1}.atlas-zoom-controls{position:absolute;right:12px;top:12px;display:flex;align-items:center;gap:1px;padding:3px;background:var(--surface);border:1px solid var(--line);border-radius:9px;color:var(--ink)}.atlas-zoom-controls .icon-button{width:44px;height:44px;min-width:44px;min-height:44px;border-radius:6px;background:transparent;color:var(--ink)}.atlas-zoom-controls .icon-button:hover:not(:disabled){background:var(--surface-2)}.atlas-zoom-controls .icon-button:disabled{opacity:.35;cursor:default}.atlas-zoom-controls .icon-button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.atlas-zoom-controls output{font-size:11px;font-variant-numeric:tabular-nums;min-width:42px;text-align:center}.atlas-map-help{font-size:11px;line-height:1.5;color:var(--muted);margin:9px 0 16px;max-width:80ch}.atlas-sample-label{position:absolute;left:12px;top:12px;font-size:11px;line-height:1.4;padding:6px 9px;background:var(--surface);color:var(--ink);border-radius:5px;pointer-events:none}.atlas-sample-person{pointer-events:none}.atlas-sample-person circle{fill:var(--surface);stroke:var(--accent);stroke-width:1;vector-effect:non-scaling-stroke}.atlas-sample-person svg{color:var(--ink);overflow:visible}.atlas-person-bounce{animation:atlas-sample-bounce var(--person-duration,5s) var(--person-delay,0s) infinite ease-in-out;transform-origin:center}@keyframes atlas-sample-bounce{0%,19%,41%,69%,100%{transform:translateY(0)}26%,76%{transform:translateY(var(--person-lift,-5px))}31%,82%{transform:translateY(-1px)}35%,87%{transform:translateY(calc(var(--person-lift,-5px)*.5))}}@media(max-width:620px){.atlas-map-canvas{height:280px}.atlas-zoom-controls{top:auto;bottom:10px;right:10px}.atlas-zoom-controls .icon-button{width:44px;height:44px;min-width:44px;min-height:44px}.atlas-sample-label{max-width:calc(100% - 24px)}.atlas-map-help{font-size:11px;max-width:65ch}}@media(prefers-reduced-motion:reduce){.atlas-person-bounce{animation:none;transform:none}.atlas-map-canvas .atlas-country{transition:none}}

.atlas-zoom-controls .icon-button>svg{width:18px;height:18px;flex:0 0 18px}.atlas-sample-person svg{width:14px;height:14px}.atlas-sample-person svg path,.atlas-sample-person svg circle{stroke:currentColor;stroke-width:1.7;fill:none}.atlas-map-canvas:active .atlas-country{cursor:grabbing}

.atlas-region{stroke:var(--surface);stroke-width:.6;vector-effect:non-scaling-stroke;fill-rule:evenodd;transition:fill-opacity 220ms ease-in-out,filter 220ms ease-in-out;cursor:pointer}.atlas-region:hover,.atlas-region:focus-visible,.atlas-region.is-selected{fill-opacity:1;filter:brightness(.9)}.atlas-region:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.atlas-geometry-note,.profile-social-notice{font-size:12px;line-height:1.5;color:var(--muted)}.atlas-region-choice{display:flex;flex-direction:column;gap:4px}.delivery-access-note{display:flex;align-items:center;flex-wrap:wrap;gap:8px 18px;margin:0 0 20px}.delivery-access-note p{margin:0;color:var(--muted);font-size:14px}.delivery-access-note .text-link{min-height:44px;display:inline-flex;align-items:center;gap:6px}@media(prefers-reduced-motion:reduce){.atlas-region,.atlas-map-canvas .atlas-country{transition:none}}

@media(prefers-reduced-motion:reduce){.atlas-camera{transition:none!important}}

/* Actual public members; locations stay approximate and respect the atlas API. */
.atlas-real-person{cursor:pointer;color:var(--accent);outline:none}
.atlas-real-person .atlas-person-face{fill:var(--surface);stroke:var(--accent);stroke-width:1.25;filter:drop-shadow(0 2px 3px rgba(18,50,36,.18))}
.atlas-real-person svg{width:14px;height:14px;overflow:visible;color:var(--ink)}
.atlas-real-person svg path,.atlas-real-person svg circle{fill:none;stroke:currentColor;stroke-width:1.7}
.atlas-real-person:hover .atlas-person-face,.atlas-real-person:focus-visible .atlas-person-face{stroke-width:2}
.atlas-person-tooltip{pointer-events:none;animation:atlas-person-appear 180ms cubic-bezier(.65,0,.35,1)}
.atlas-person-tooltip rect{fill:var(--surface);stroke:var(--line);stroke-width:1;filter:drop-shadow(0 3px 6px rgba(18,50,36,.12))}
.atlas-person-tooltip text{fill:var(--ink);font-family:inherit;font-size:11px;stroke:none}
.atlas-person-tooltip .atlas-person-name{font-size:12px;font-weight:650}
.atlas-map-canvas .atlas-region{stroke:#9cb3a6;stroke-width:.85;vector-effect:non-scaling-stroke}
.atlas-map-canvas .atlas-country:hover{stroke:none;stroke-width:0;filter:brightness(.94)}
@keyframes atlas-person-appear{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.atlas-real-person .atlas-person-bounce,.atlas-person-tooltip{animation:none}}

/* Screen-sized person hit areas; preserve the current campus palette and motion. */
.atlas-real-person .atlas-person-hit{fill:transparent;stroke:none;pointer-events:all}
.atlas-map-viewport.is-motion-paused .atlas-person-bounce{animation-play-state:paused}
.atlas-real-person:focus-visible .atlas-person-bounce{animation-play-state:paused}
@media(hover:hover) and (pointer:fine){.atlas-real-person:hover .atlas-person-bounce{animation-play-state:paused}}
.atlas-person-tooltip text{font-size:12px}
.atlas-person-tooltip .atlas-person-name{font-size:13px}
