 @media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
  }

 
 

   #globe-canvas {
    position: absolute;
    right: -4vw; top: 50%;
    transform: translateY(-50%);
    width: clamp(460px, 55vw, 820px);
    height: clamp(460px, 55vw, 820px);
    z-index: 1;
  }

  /* ── radial glow behind globe ── */
  .globe-glow {
    position: absolute;
    right: -2vw; top: 50%;
    transform: translateY(-50%);
    width: clamp(500px, 58vw, 860px);
    height: clamp(500px, 58vw, 860px);
    border-radius: 50%;
    background: radial-gradient(circle, rgba(58, 68, 158, 0.258) 0%, rgba(50, 60, 142, 0.089) 45%, transparent 70%);
    z-index: 0;
    pointer-events: none;
    animation: globeGlowPulse 6s ease-in-out infinite;
  }
  @keyframes globeGlowPulse {
    0%, 100% { opacity: 0.8; transform: translateY(-50%) scale(1); }
    50%       { opacity: 1;   transform: translateY(-50%) scale(1.04); }
  }


  @media (max-width: 1023px) {

  #globe-canvas{
      right: -100px;
      left: auto;
      top: auto;
      bottom: -120px;
      transform: none;
  }

  .globe-glow{
      right: -80px;
      left: auto;
      top: auto;
      bottom: -120px;
      transform: none;
  }

}

.connection{

stroke:#2638D9;
stroke-width:1.2;
fill:none;

stroke-dasharray:10 10;

animation:pulseLine 7s linear infinite;

opacity:.25;

}

@keyframes pulseLine{

0%{

stroke-dashoffset:0;
opacity:.15;

}

50%{

opacity:.5;

}

100%{

stroke-dashoffset:-40;
opacity:.15;

}

}

.portfolio-node{

position:absolute;

padding:18px 28px;

border:1px solid rgba(255,255,255,.08);

border-radius:999px;

background:rgba(255,255,255,.03);

backdrop-filter:blur(20px);

cursor:pointer;

transition:.45s cubic-bezier(.19,1,.22,1);

}

.portfolio-node:hover{

transform:translateY(-8px) scale(1.08);

background:rgba(38,56,217,.15);

border-color:#2638D9;

box-shadow:
0 0 40px rgba(38,56,217,.18);

}

.center{

left:50%;

top:50%;

transform:translate(-50%,-50%);

padding:42px 60px;

font-size:24px;

font-weight:600;

background:linear-gradient(
180deg,
rgba(255,255,255,.09),
rgba(255,255,255,.03));

}