.loading-screen {
  position: fixed;
  inset: 0;
  background: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
}
.contact-card {
  display: flex;
  align-items: center;
  gap: 1rem;
  background: #1e293b;
  border-radius: 1rem;
  padding: 1.25rem;
  transition: transform 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
}

.contact-card:hover {
  transform: translateY(-4px);
  background: #273449;
}

.contact-card__icon {
  width: 3rem;
  height: 3rem;
  border-radius: 0.8rem;
  display: grid;
  place-items: center;
  flex-shrink: 0;
  background: rgba(37, 99, 235, 0.2);
  color: #60a5fa;
  transition: background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}

.contact-card strong {
  display: block;
  color: #ffffff;
  font-weight: 700;
  margin-bottom: 0.2rem;
}

.contact-card span {
  color: #d1d5db;
  font-size: 0.9rem;
}

.contact-card--blue:hover .contact-card__icon {
  background: #2563eb;
  color: #ffffff;
  box-shadow: 0 0 24px rgba(37, 99, 235, 0.5);
}

.contact-card--green:hover .contact-card__icon {
  background: #16a34a;
  color: #ffffff;
  box-shadow: 0 0 24px rgba(22, 163, 74, 0.5);
}

.contact-card--linkedin:hover .contact-card__icon {
  background: #0a66c2;
  color: #ffffff;
  box-shadow: 0 0 24px rgba(10, 102, 194, 0.5);
}

.contact-card--gray:hover .contact-card__icon {
  background: #374151;
  color: #ffffff;
  box-shadow: 0 0 24px rgba(156, 163, 175, 0.35);
}

.tech-orbit__item--top {
  animation: floatTop 3s ease-in-out infinite;
}

.tech-orbit__item--right {
  animation: floatRight 3s ease-in-out infinite;
  animation-delay: 0.5s;
}

.tech-orbit__item--bottom {
  animation: floatBottom 3s ease-in-out infinite;
  animation-delay: 1s;
}

.tech-orbit__item--left {
  animation: floatLeft 3s ease-in-out infinite;
  animation-delay: 1.5s;
}

@keyframes floatTop {
  0%, 100% {
    transform: translateX(-50%) translateY(0);
    box-shadow: 0 10px 25px rgba(37, 99, 235, 0.12);
  }

  50% {
    transform: translateX(-50%) translateY(-10px);
    box-shadow: 0 14px 35px rgba(37, 99, 235, 0.35);
  }
}

@keyframes floatBottom {
  0%, 100% {
    transform: translateX(-50%) translateY(0);
    box-shadow: 0 10px 25px rgba(37, 99, 235, 0.12);
  }

  50% {
    transform: translateX(-50%) translateY(10px);
    box-shadow: 0 14px 35px rgba(37, 99, 235, 0.35);
  }
}

@keyframes floatRight {
  0%, 100% {
    transform: translateY(-50%) translateX(0);
    box-shadow: 0 10px 25px rgba(37, 99, 235, 0.12);
  }

  50% {
    transform: translateY(-50%) translateX(10px);
    box-shadow: 0 14px 35px rgba(37, 99, 235, 0.35);
  }
}

@keyframes floatLeft {
  0%, 100% {
    transform: translateY(-50%) translateX(0);
    box-shadow: 0 10px 25px rgba(37, 99, 235, 0.12);
  }

  50% {
    transform: translateY(-50%) translateX(-10px);
    box-shadow: 0 14px 35px rgba(37, 99, 235, 0.35);
  }
}
