* {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
      font-family: 'Montserrat', sans-serif;
    }

    html, body {
      height: 100%;
      width: 100%;
    }

    body {
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      align-items: center;
      color: #dfe9f2;
      position: relative;
      background-color: #000; /* fallback */
      overflow-x: hidden;
    }

    .background {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: url('/images/home-design.jpg') center/cover no-repeat;
      filter: blur(8px) brightness(0.6);
      z-index: 0;
    }

    .vignette {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: radial-gradient(circle, rgba(0,0,0,0) 60%, rgba(0,0,0,0.7) 100%);
      pointer-events: none;
      z-index: 1;
    }

    header {
      width: 100%;
      text-align: center;
      background: rgba(0, 0, 0, 0.75);
      padding-bottom: 0.5px;
      position: relative;
      z-index: 2;
    }

    header img {
      max-width: 250px;
      width: 80%;
      height: auto;
    }

    .container {
      text-align: center;
      background: rgba(0, 0, 0, 0.55);
      padding: 2rem;
      border-radius: 20px;
      box-shadow: 0 10px 25px rgba(0,0,0,0.4);
      max-width: 90%;
      backdrop-filter: blur(5px);
      z-index: 2;
      margin: 2rem 1rem;
    }

    h1 {
      font-size: 1.5rem;
      margin-bottom: 1rem;
    }

    p {
      font-size: 1rem;
      color: #dfe9f2;
      margin-bottom: 2rem;
    }

    .loader {
      width: 50px;
      height: 50px;
      border: 5px solid #ddd;
      border-top-color: #1e3c72;
      border-radius: 50%;
      animation: spin 1s linear infinite;
      margin: 0 auto 1.5rem;
    }

    @keyframes spin {
      to { transform: rotate(360deg); }
    }

    footer {
      font-size: 0.9rem;
      color: #dfe9f2;
      text-align: center;
      background: rgba(0, 0, 0, 0.55);
      padding-top: 20px;
      width: 100%;
      position: relative;
      z-index: 2;
    }

    a {
      color: #61a3ff;
      text-decoration: none;
    }

    @media (max-width: 600px) {
      h1 {
        font-size: 1.2rem;
      }

      .container {
        padding: 1.5rem;
        width: 90%;
      }

      header img {
        max-width: 200px;
      }
    }