

    /* pantalla de precarga */
    .preloader {
      position: fixed;
      inset: 0;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-direction: column;
      gap: 20px;
      background: #d8d6d4;
      z-index: 10;
      animation: hide 1s ease forwards;
      animation-delay: 2.5s; /* tiempo que dura visible */
    }

    .preloader img {
      width: 160px;
      animation: pulse 1.5s infinite;
    }

    .progress {
      width: 180px;
      height: 6px;
      border-radius: 4px;
      background: rgba(255,255,255,0.2);
      overflow: hidden;
    }

    .progress span {
      display: block;
      height: 100%;
      width: 0;
      background: linear-gradient(90deg,#fbbf24,#f59e0b);
      animation: load 2.3s linear forwards;
    }

    @keyframes pulse {
      0%,100% { transform: scale(1); opacity:.9; }
      50% { transform: scale(1.05); opacity:1; }
    }
    @keyframes load { to { width: 100%; } }
    @keyframes hide { to { opacity:0; visibility:hidden; } }
