.skeleton-loader {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background:
    radial-gradient(circle at 18% 18%, rgba(37, 99, 235, 0.16), transparent 28%),
    linear-gradient(180deg, #080c14 0%, #0d1424 100%);
  color: #e2e8f0;
  opacity: 1;
  visibility: visible;
  transition: opacity 0.35s ease, visibility 0.35s ease;
}

.skeleton-loader.is-hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.skeleton-loader__inner {
  width: min(1140px, calc(100% - 48px));
  margin: 0 auto;
  padding: 20px 0 56px;
}

.skeleton-loader__nav,
.skeleton-loader__hero,
.skeleton-loader__grid {
  display: grid;
  gap: 18px;
}

.skeleton-loader__nav {
  height: 50px;
  grid-template-columns: 180px 1fr 130px;
  align-items: center;
  margin-bottom: 64px;
}

.skeleton-loader__links {
  display: flex;
  justify-content: center;
  gap: 22px;
}

.skeleton-loader__hero {
  max-width: 680px;
  margin-bottom: 52px;
}

.skeleton-loader__grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.skeleton-loader__card {
  height: 150px;
  border: 1px solid rgba(30, 50, 84, 0.9);
  border-radius: 16px;
  background: rgba(17, 28, 46, 0.72);
  padding: 22px;
}

.skeleton-loader__line,
.skeleton-loader__block,
.skeleton-loader__pill {
  position: relative;
  overflow: hidden;
  background: #172338;
  border-radius: 999px;
}

.skeleton-loader__line::after,
.skeleton-loader__block::after,
.skeleton-loader__pill::after,
.skeleton-loader__card::after {
  content: "";
  position: absolute;
  inset: 0;
  transform: translateX(-100%);
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.11), transparent);
  animation: skeleton-shimmer 1.35s ease-in-out infinite;
}

.skeleton-loader__card {
  position: relative;
  overflow: hidden;
}

.skeleton-loader__pill {
  height: 36px;
}

.skeleton-loader__line {
  height: 14px;
}

.skeleton-loader__block {
  height: 78px;
  border-radius: 14px;
}

.skeleton-loader__line--logo { width: 180px; height: 20px; }
.skeleton-loader__line--link { width: 64px; height: 12px; }
.skeleton-loader__line--button { width: 130px; height: 38px; }
.skeleton-loader__line--eyebrow { width: 160px; height: 12px; background: rgba(37, 99, 235, 0.28); }
.skeleton-loader__line--title { width: min(100%, 580px); height: 54px; border-radius: 16px; }
.skeleton-loader__line--copy { width: min(88%, 500px); }
.skeleton-loader__line--copy-short { width: min(68%, 380px); }

@keyframes skeleton-shimmer {
  100% {
    transform: translateX(100%);
  }
}

@media (max-width: 760px) {
  .skeleton-loader__inner {
    width: min(100% - 32px, 540px);
    padding-top: 18px;
  }

  .skeleton-loader__nav {
    grid-template-columns: 160px 1fr;
    margin-bottom: 44px;
  }

  .skeleton-loader__links,
  .skeleton-loader__line--button {
    display: none;
  }

  .skeleton-loader__grid {
    grid-template-columns: 1fr;
  }

  .skeleton-loader__line--title {
    height: 44px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .skeleton-loader,
  .skeleton-loader__line::after,
  .skeleton-loader__block::after,
  .skeleton-loader__pill::after,
  .skeleton-loader__card::after {
    animation: none;
    transition: none;
  }
}
