 body {
      margin: 0;
      height: 100vh;
      display: flex;
      align-items: center;
      justify-content: center;
      font-family: Arial, sans-serif;
      background: linear-gradient(135deg, #0f172a, #1e293b);
      color: #fff;
      overflow: hidden;
    }

    .container {
      text-align: center;
      padding: 40px;
      z-index: 2;
    }

    h1 {
      font-size: 3rem;
      margin-bottom: 10px;
      letter-spacing: 2px;
    }

    p {
      font-size: 1.2rem;
      color: #cbd5e1;
      margin-bottom: 30px;
    }

    .loader {
      width: 80px;
      height: 80px;
      border: 6px solid #334155;
      border-top: 6px solid #38bdf8;
      border-radius: 50%;
      animation: spin 1s linear infinite;
      margin: 0 auto 30px auto;
    }

    @keyframes spin {
      to { transform: rotate(360deg); }
    }

    .btn {
      display: inline-block;
      padding: 12px 24px;
      background: #38bdf8;
      color: #0f172a;
      text-decoration: none;
      border-radius: 8px;
      font-weight: bold;
      transition: 0.3s;
    }

    .btn:hover {
      background: #0ea5e9;
    }

    .dots::after {
      content: '';
      animation: dots 1.5s steps(4, end) infinite;
    }

    @keyframes dots {
      0% { content: ''; }
      25% { content: '.'; }
      50% { content: '..'; }
      75% { content: '...'; }
      100% { content: ''; }
    }

    /* achtergrond decoratie */
    .circle {
      position: absolute;
      border-radius: 50%;
      background: rgba(56, 189, 248, 0.15);
      animation: float 6s ease-in-out infinite;
    }

    .circle.one {
      width: 200px;
      height: 200px;
      top: 10%;
      left: 15%;
    }

    .circle.two {
      width: 300px;
      height: 300px;
      bottom: 10%;
      right: 15%;
      animation-delay: 2s;
    }

    @keyframes float {
      0%, 100% { transform: translateY(0); }
      50% { transform: translateY(-20px); }
    }