.presence{background:radial-gradient(ellipse 70% 55% at 50% 0%, #6c309012, transparent 70%), linear-gradient(180deg, var(--color-surface-raised) 0%, var(--color-brand-50) 100%);position:relative;overflow:hidden}.presence-inner{gap:var(--space-40);display:grid}.presence-copy{max-width:40rem;margin-inline:auto}.presence-stage{width:100%;max-width:56rem;margin-inline:auto;position:relative}.presence-badge{z-index:3;top:var(--space-16);left:var(--space-16);max-width:min(17.5rem,100% - 2rem);padding:var(--space-12) var(--space-16);border:1px solid var(--color-border);-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff;border-radius:8px;align-items:center;display:flex;position:absolute;box-shadow:0 1px 2px #3c40434d,0 2px 6px 2px #3c404326}.presence-badge-live{aspect-ratio:1;background:var(--color-success-500);width:.5rem;min-width:.5rem;height:.5rem;min-height:.5rem;box-shadow:0 0 0 0 color-mix(in srgb, var(--color-success-500) 45%, transparent);animation:presence-pulse 2.4s var(--ease-out) infinite;border-radius:9999px;flex:none;padding:0;display:block;position:relative}.presence-badge-live:before{content:"";border-radius:inherit;background:inherit;transform-origin:50%;animation:presence-ripple 2.4s var(--ease-out) infinite;position:absolute;inset:0}.presence-badge-text{gap:.15rem;display:grid}.presence-badge-text strong{align-items:center;gap:var(--space-8);font-size:var(--type-body-s-size,.9375rem);color:var(--color-text-primary);font-weight:600;line-height:1.35;display:inline-flex}.presence-badge-text>span{padding-left:calc(.5rem + var(--space-8));font-size:var(--type-badge-size);color:var(--color-text-secondary)}.presence-map{border:1px solid var(--color-border);isolation:isolate;background:#e8eaed;border-radius:2px;width:100%;position:relative;overflow:hidden;box-shadow:0 1px 2px #3c404333,0 2px 6px 2px #3c40431a}.presence-map-gmaps{border-radius:8px}.presence-map-art{aspect-ratio:800/560;width:100%;height:auto;display:block}.presence-pins{pointer-events:none;position:absolute;inset:0}.presence-pin{background:var(--color-primary);pointer-events:auto;cursor:pointer;width:1.125rem;height:1.125rem;transition:transform var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out);border:2px solid #fff;border-radius:50% 50% 50% 0;margin:0;padding:0;position:absolute;transform:translate(-50%,-100%)rotate(-45deg);box-shadow:-1px 1px 3px #00000059}.presence-pin:after{content:"";background:#fff;border-radius:50%;width:.35rem;height:.35rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.presence-pin:before{content:"";filter:blur(1.5px);width:.85rem;height:.4rem;animation:presence-ripple 2.8s var(--ease-out) infinite;pointer-events:none;z-index:-1;background:#00000038;border:none;border-radius:50%;margin-left:-.425rem;position:absolute;top:115%;left:50%;transform:rotate(45deg)}.presence-pin:nth-child(3n):before{animation-delay:.6s}.presence-pin:nth-child(4n):before{animation-delay:1.2s}.presence-pin:nth-child(5n):before{animation-delay:1.8s}.presence-pin:hover,.presence-pin:focus-visible,.presence-pin.is-active{z-index:2;outline:none;transform:translate(-50%,-108%)rotate(-45deg)scale(1.12);box-shadow:-1px 2px 5px #0006}.presence-tooltip{z-index:4;color:#202124;white-space:nowrap;pointer-events:none;border:1px solid var(--color-border);background:#fff;border-radius:8px;padding:.5rem .75rem;font-family:Roboto,Arial,Helvetica,sans-serif;font-size:12px;line-height:1.3;position:absolute;transform:translate(-50%,calc(-100% - 1.75rem));box-shadow:0 1px 2px #3c40434d,0 2px 6px 2px #3c404326}.presence-tooltip:after{content:"";border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);background:#fff;width:10px;height:10px;position:absolute;bottom:-5px;left:50%;transform:translate(-50%)rotate(45deg)}@keyframes presence-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--color-success-500) 45%, transparent)}70%{box-shadow:0 0 0 .55rem color-mix(in srgb, var(--color-success-500) 0%, transparent)}to{box-shadow:0 0 0 0 color-mix(in srgb, var(--color-success-500) 0%, transparent)}}@keyframes presence-ripple{0%{opacity:.7;transform:scale(.55)}70%{opacity:0;transform:scale(1.35)}to{opacity:0;transform:scale(1.35)}}@media (max-width:743px){.presence-badge{margin:0 var(--space-12) var(--space-12);max-width:none;position:static}.presence-stage{flex-direction:column;display:flex}.presence-map{order:1}.presence-badge{order:0}.presence-pin{width:1rem;height:1rem}}@media (prefers-reduced-motion:reduce){.presence-badge-live,.presence-pin:before{animation:none}}
