
/* Professional Presence alignment fix — isolated to About Shivi only */
#professional-presence .presence-orbit{
  --presence-red:#d51f32;
  position:relative;
  width:min(100%,1180px);
  height:clamp(600px,52vw,710px);
  margin:38px auto 34px;
  isolation:isolate;
}
#professional-presence .presence-orbit-rings,
#professional-presence .presence-orbit-hub{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
}
#professional-presence .presence-orbit-rings{
  width:min(47vw,560px);
  aspect-ratio:1;
  pointer-events:none;
  z-index:0;
}
#professional-presence .presence-orbit-rings span{
  position:absolute;
  inset:0;
  border:1px solid rgba(255,255,255,.12);
  border-radius:50%;
}
#professional-presence .presence-orbit-rings span:nth-child(2){inset:13%;border-color:rgba(255,255,255,.07)}
#professional-presence .presence-orbit-rings span:nth-child(3){inset:26%;border-color:rgba(213,31,50,.34);box-shadow:0 0 70px rgba(213,31,50,.08)}
#professional-presence .presence-orbit-hub{
  z-index:2;
  width:230px;
  aspect-ratio:1;
  border-radius:50%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  background:#101010;
  border:1px solid rgba(213,31,50,.62);
  box-shadow:0 0 0 38px rgba(213,31,50,.035),0 0 85px rgba(213,31,50,.08);
}
#professional-presence .presence-orbit-hub small{
  margin-bottom:10px;
  color:rgba(255,255,255,.42);
  font-size:9px;
  font-weight:800;
  letter-spacing:.18em;
}
#professional-presence .presence-orbit-hub strong{
  color:#fff;
  font-size:24px;
  letter-spacing:.08em;
}
#professional-presence .presence-node{
  position:absolute;
  z-index:3;
  width:220px;
  min-height:62px;
  padding:10px 18px 10px 64px;
  display:flex;
  align-items:center;
  border:1px solid rgba(255,255,255,.14);
  border-radius:999px;
  background:#121212;
  box-shadow:0 14px 34px rgba(0,0,0,.18);
  box-sizing:border-box;
}
#professional-presence .presence-node::before{
  content:attr(data-no);
  position:absolute;
  left:12px;
  top:50%;
  transform:translateY(-50%);
  width:40px;
  height:40px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--presence-red);
  color:#fff;
  font-size:10px;
  font-weight:800;
  letter-spacing:.04em;
}
#professional-presence .presence-node span{
  color:#fff;
  font-size:13px;
  line-height:1.2;
  font-weight:700;
  white-space:nowrap;
}
/* Perfectly mirrored placement around one common centre */
#professional-presence .presence-node--top{left:50%;top:3%;transform:translateX(-50%)}
#professional-presence .presence-node--upper-left{left:5%;top:14%}
#professional-presence .presence-node--upper-right{right:5%;top:14%}
#professional-presence .presence-node--middle-left{left:0;top:42%;}
#professional-presence .presence-node--middle-right{right:0;top:42%;}
#professional-presence .presence-node--lower-left{left:5%;bottom:14%}
#professional-presence .presence-node--lower-right{right:5%;bottom:14%}
#professional-presence .presence-node--bottom{left:50%;bottom:3%;transform:translateX(-50%)}

@media (max-width:1050px){
  #professional-presence .presence-orbit{height:660px}
  #professional-presence .presence-node{width:196px;min-height:58px;padding-left:58px}
  #professional-presence .presence-node::before{width:36px;height:36px;left:10px}
  #professional-presence .presence-node span{font-size:12px}
  #professional-presence .presence-node--upper-left,#professional-presence .presence-node--lower-left{left:1%}
  #professional-presence .presence-node--upper-right,#professional-presence .presence-node--lower-right{right:1%}
  #professional-presence .presence-orbit-rings{width:500px}
}
@media (max-width:820px){
  #professional-presence .presence-orbit{
    height:auto;
    margin:28px auto 30px;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    padding:230px 0 0;
  }
  #professional-presence .presence-orbit-rings{width:250px;top:108px}
  #professional-presence .presence-orbit-hub{width:160px;top:108px;box-shadow:0 0 0 26px rgba(213,31,50,.035)}
  #professional-presence .presence-orbit-hub strong{font-size:18px}
  #professional-presence .presence-node,
  #professional-presence .presence-node--top,
  #professional-presence .presence-node--upper-left,
  #professional-presence .presence-node--upper-right,
  #professional-presence .presence-node--middle-left,
  #professional-presence .presence-node--middle-right,
  #professional-presence .presence-node--lower-left,
  #professional-presence .presence-node--lower-right,
  #professional-presence .presence-node--bottom{
    position:relative;
    left:auto;right:auto;top:auto;bottom:auto;
    transform:none;
    width:100%;
    min-height:58px;
  }
}
@media (max-width:520px){
  #professional-presence .presence-orbit{grid-template-columns:1fr;padding-top:220px}
  #professional-presence .presence-node span{white-space:normal}
}
