@import url("home-lift-v14.css");

/* v15 uses the site's #0b47a8 blue, lifted for contrast on the dark shaft. */
.hero-node-art img[src*="hero-building-v15/"]{transform:none}
.hero-node-pin{width:38px;height:38px;margin:-19px 0 0 -19px;transition:none}
/* Pin ids keep phases independent of template wrappers and DOM order. */
.hero-node-pin[data-hero-pin="1"]{--beacon-delay:-.37s}
.hero-node-pin[data-hero-pin="2"]{--beacon-delay:-.74s}
.hero-node-pin[data-hero-pin="3"]{--beacon-delay:-1.11s}
.hero-node-pin[data-hero-pin="4"]{--beacon-delay:-1.48s}
.hero-node-pin[data-hero-pin="5"]{--beacon-delay:-1.85s}
.hero-node-pin[data-hero-pin="6"]{--beacon-delay:-2.22s}
.hero-node-pin[data-hero-pin="7"]{--beacon-delay:-2.59s}
.hero-node-pin[data-hero-pin="8"]{--beacon-delay:-2.96s}
.hero-node-pin[data-hero-pin="9"]{--beacon-delay:-3.33s}
.hero-node-pin[data-hero-pin="10"]{--beacon-delay:-3.7s}
.hero-node-pin[data-hero-pin="11"]{--beacon-delay:-4.07s}
.hero-node-pin[data-hero-pin="12"]{--beacon-delay:-4.44s}
.hero-node-pin[data-hero-pin="13"]{--beacon-delay:-4.81s}
.hero-node-pin>span{
  border-color:#b8d3ff;
  background:#f3f7ff;
  box-shadow:0 0 0 2px #101923,0 0 0 3.5px #0b47a8b3,0 0 10px #609cf140;
}
.hero-node-pin[aria-current="true"]>span{
  background:#fff;
  box-shadow:0 0 0 2px #101923,0 0 0 4px #3979d87a,0 0 13px #77acfa70;
}
/* Only the small visual ring breathes; the pointer/focus target stays fixed. */
.hero-node-pin>span:after,.hero-node-pin[aria-current="true"]>span:after{
  inset:-5px;
  border:1px solid #8ebbff;
  animation:v15-soft-beacon 5.2s ease-out infinite!important;
  animation-delay:var(--beacon-delay,-1.1s)!important;
  pointer-events:none;
}
.hero-node-pin:hover>span,.hero-node-pin:focus-visible>span{opacity:0!important;transform:scale(.82)}
.hero-node-pin:hover>span:after,.hero-node-pin:focus-visible>span:after{opacity:0!important;animation-play-state:paused!important}
body[data-ui-page="index"] .home-hero .hero-node-pin:focus-visible{
  outline:2px solid #8ebbff!important;
  outline-offset:-3px!important;
  background:#0b47a81a;
}
.hero-node-pin.hero-pin-intro:before{border-color:#8ebbff}
.hero-node-count{color:#8ebbff}
[data-hero-wire]{stroke:#75a8f1}
@keyframes v15-soft-beacon{
  0%,60%,100%{opacity:0;transform:scale(.76)}
  12%{opacity:.32;transform:scale(.95)}
  42%{opacity:0;transform:scale(1.48)}
}
@media(prefers-reduced-motion:reduce){
  .hero-node-pin>span:after,.hero-node-pin[aria-current="true"]>span:after{animation:none!important;opacity:0}
}
