.startup-loading { display: grid; gap: 1.25rem; padding-block: 2rem; min-height: 58vh; align-content: start; }
.startup-loading__label { display: flex; align-items: center; gap: .7rem; margin: 0; color: #315574; font-weight: 600; }
.startup-loading__spinner { width: 20px; height: 20px; flex: 0 0 20px; border: 2px solid #c7dae9; border-top-color: #086dba; border-radius: 50%; animation: startup-spin .9s linear infinite; }
.startup-loading__hero, .startup-loading__cards span { border: 1px solid #d6e4ef; border-radius: 20px; background: linear-gradient(110deg, #f3f8fc, #e2eff9, #f3f8fc); background-size: 200% 100%; animation: startup-shimmer 1.8s ease-in-out infinite; }
.startup-loading__hero { height: clamp(160px, 24vw, 270px); }
.startup-loading__cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.startup-loading__cards span { height: 130px; }
.startup-recovery { margin-block: 2rem; }
.startup-recovery .button { min-height: 46px; border: 0; padding: .8rem 1.2rem; cursor: pointer; }
@keyframes startup-spin { to { transform: rotate(360deg); } }
@keyframes startup-shimmer { 50% { background-position: 100% 0; } }
@media (max-width: 767px) {
  .startup-loading { padding-block: 1.25rem; gap: 1rem; }
  .startup-loading__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .startup-loading__cards span:last-child { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .startup-loading__spinner, .startup-loading__hero, .startup-loading__cards span { animation: none; }
}
