 .welcome-container {
      min-height: 100vh;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
    }
    .welcome-box {
      background: #fff;
      border-radius: 18px;
      box-shadow: 0 8px 36px 0 rgba(105,0,123,0.09);
      padding: 48px 36px 36px 36px;
      max-width: 410px;
      text-align: center;
      margin: 24px;
      animation: popin .7s cubic-bezier(.41,.77,.37,1.11);
    }
    @keyframes popin {
      0% { opacity: 0; transform: scale(0.96) translateY(30px);}
      100% { opacity: 1; transform: scale(1) translateY(0);}
    }
    .welcome-title {
      font-size: 2.1rem;
      font-weight: 700;
      color: #69007b;
      letter-spacing: 1.1px;
      margin-bottom: 12px;
    }
    .welcome-desc {
      font-size: 1.13rem;
      font-weight: 400;
      color: #40284f;
      margin-bottom: 35px;
      line-height: 1.47;
    }
    .welcome-btn-group {
      display: flex;
      flex-direction: row;
      justify-content: center;
      gap: 22px;
      margin-top: 14px;
      flex-wrap: wrap;
    }
    .login-btn {
      padding: 15px 32px;
      border: none;
      border-radius: 7px;
      font-family: Montserrat, Arial, sans-serif;
      font-size: 1.14rem;
      font-weight: 700;
      cursor: pointer;
      letter-spacing: .7px;
      background: #69007b;
      color: #fff;
      box-shadow: 0 2.5px 11px rgba(105,0,123,0.09);
      transition: background 0.18s, color 0.18s, transform 0.14s;
    }
    .login-btn:hover, .login-btn:focus {
      background: #3a0045;
      color: #ebeafa;
      transform: translateY(-2px) scale(1.036);
    }

    @media (max-width: 600px) {
      .welcome-box {
        padding: 32px 10vw;
        max-width: 95vw;
      }
      .welcome-title { font-size: 1.3rem;}
      .login-btn { font-size: 1.02rem; padding: 12px 5vw;}
    }